视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Linux中安装及卸载RPM软件包
2025-09-29 04:53:29 责编:小OO
文档
在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。

RPM 安装操作

命令:

rpm -i 需要安装的包文件名

举例如下:

rpm -i example.rpm 安装 example.rpm 包;

rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;

rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

RPM 查询操作

命令:

rpm -q …

附加查询命令:

a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;

i 显示安装包的信息;

l 显示安装包中的所有文件被安装到哪些目录下;

s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;

p 查询的是安装包的信息;

f 查询的是已安装的某文件信息;

举例如下:

rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;

rpm -qip example.rpm 查看 example.rpm 安装包的信息;

rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;

rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;

RPM 卸载操作

命令:

rpm -e 需要卸载的安装包

在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。

举例如下:

rpm -e tomcat4 卸载 tomcat4 软件包

RPM 升级操作

命令:rpm -U 需要升级的包

举例如下:

rpm -Uvh example.rpm 升级 example.rpm 软件包

RPM 验证操作

命令:

rpm -V 需要验证的包

举例如下:

rpm -Vf /etc/tomcat4/tomcat4.conf

输出信息类似如下:

S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm

RPM 的其他附加命令

--force 强制操作如强制安装删除等;

--requires 显示该包的依赖关系;

--nodeps 忽略依赖关系并继续操作;linux下FTP服务(vsftp)的搭建与配置祥解

注意:本文中绿色字体是linux命令行,//后面的文字为注释,黑色加粗是在linux 中的输入,在linux下看不见的,其他为linux系统中的提示。

vsftpd的服务软件包位于RHED4的第1张光盘。包名是vsftpd-2.0.1-5.i386.rpm,插入光盘。

#mount -t iso9660 /dev/cdrom /media/cdrom//挂载光盘

mount: block device /dev/cdrom is write-protected, mounting read-only

#cd /media/cdrom/RedHat/RPMS

#ls vsftpd*//查找软件包

vsftpd-2.0.1-5.i386.rpm

#rpm -ivh vsftpd-2.0.1-5.i386.rpm//安装软件包

Preparing...

########################################### [100%]

package vsftpd-2.0.1-5 is already installed

#rpm -ql vsftpd | grep /etc//查看etc目录下的vsftpd相关文件

/etc/logrotate.d/vsftpd.log

/etc/pam.d/vsftpd

/etc/rc.d/init.d/vsftpd //vsftpd的启动脚本文件

/etc/vsftpd

/etc/vsftpd.ftpusers

/etc/vsftpd.user_list

/etc/vsftpd/vsftpd.conf //配置文件

#grep -v '#' /etc/vsftpd/vsftpd.conf//查看ftp默认的配置

anonymous_enable=YES //允许匿名登录

local_enable=YES //允许本地用户登录

write_enable=YES //对本地用户有写入的权限

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES //ftp服务器启用ftp端口连接请求xferlog_std_format=YES

pam_service_name=vsftpd //PAM认证服务的配置文件名称,该文件保存在/etc/pam.d/目录下

userlist_enable=YES //检查userlist_file文件指定的用户是不可以访问vsftpd,/etc/vsftpd.user_list

listen=YES //Ftp服务器处于启动模式tcp_wrappers=YES

userlist_enable =YES //设置使用vsftp.user_list文件

userlist_deny =YES //设置使用vsftp.user_list文件用户设置禁用帐号

#head -5 /etc/vsftpd.ftpusers//此文件保存不允许进行登录的本地用户Users that are not allowed to login via ftp

root

bin //这些用户不时普通的用户,都是系统中具有较高权限的帐号daemon

adm

#grep -v '#' /etc/vsftpd.user_list//查看vsftpd.user_list文件中不可访问ftp 服务的用户

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

#ls -l /etc/init.d/vsftpd*//查看vsftpd的启动文件

-rwxr-xr-x 1 root root 1880 2004-10-04 /etc/init.d/vsftpd

#chkconfig --list vsftpd//查看vsftpd的运行级别

vsftpd 0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭#chkconfig --level 35 vsftpd on//设置vsftpd的启动运行级别3和5中自动启动

#chkconfig --list vsftpd

vsftpd 0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭#service vsftpd status//查看vsftpd的运行状态

vsftpd 已停

#service vsftpd start//开启vsftpd服务器

为vsftpd 启动vsftpd:[ 确定]#service vsftpd restart//重新启动vsftpd服务器

关闭vsftpd:[ 确定] 为vsftpd 启动vsftpd:[ 确定] #service vsftpd stop//停止vsftpd服务器

关闭vsftpd:[ 确定] #service vsftpd start//启动vsftpd服务器

为vsftpd 启动vsftpd:[ 确定] #ftp 192.168.80.202//测试vsftpd服务器

Connected to 192.168.80.202.

220 (vsFTPd 2.0.1)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.80.202:root):ftp(或anonymous)//匿名用户登录可使用ftp 或anonymous 也可用本地用户

331 Please specify the password.

Password:fay361@126.com//使用邮箱作为密码:fay361@126.com

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>ls//ls查看当前的目录测试成功

227 Entering Passive Mode (192,168,80,202,224,106)

150 Here comes the directory listing.

drwxr-xr-x 2 0 0 4096 Oct 04 2004 pub

226 Directory send OK.

ftp>bye//bye退出ftp服务器

221 Goodbye.

linux下添加ftp用户和创建ftp虚拟用户

#useradd -g ftp -s /bin/nolongin test//创建test用户,不让用户登录系统test属于ftp组

# passwd test//给test用户创建密码

Changing password for user test.

New UNIX password:1234567//输入密码:1234567

Retype new UNIX password:1234567//确认输入密码:1234567 passwd: all authentication tokens updated successfully.

vsftpd虚拟用户帐号的设置过程:#vi login.txt//创建虚拟用户口令文件,文件内容如下

mike

1234567

john

1234567

#db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db //用db_load命令生成认证文件,-f虚拟用户口令文件,即login.txt,生成的认证文件名vsftpd_login.db,该文件存放在/etc/vsftpd/目录中

#file /etc/vsftpd/vsftpd_login.db//查看vsftpd_login.db的文件类型/etc/vsftpd/vsftpd_login.db: Berkeley DB (Hash, version 8, native byte-order) #chmod 600 /etc/vsftpd/vsftpd_login.db//设置文件vsftpd_login.db权限,对root用户可读可写

#ls -l /etc/vsftpd/vsftpd_login.db

-rw------- 1 root root 12288 1月21 22:24 /etc/vsftpd/vsftpd_login.db

#vi /etc/pam.d/vsftpd.vu//创建虚拟用户认证所需的PAM文件vsftpd.vu,如下内容

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login # cat /etc/pam.d/vsftpd.vu//查看vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login # useradd -d /home/ftptest ftpuser//建立虚拟的系统用户帐号帐号名ftpuser 宿主录/home/ftptest

# chmod 700 /home/ftptest///设置目录权限700

让后设置vsftpd.conf配置文件,在修改配置文件前对其进行备份

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak//备份vsftpd.conf

#vi /etc/vsftpd/vsftpd.conf//在vsftpd.conf配置文件中添加虚拟用户配置项内容如下:

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

#service vsftpd restart//重新启动vsftpdfuwuqi

#ftp 192.168.80.202 //登录ftp服务器

Connected to 192.168.80.202.

220 (vsFTPd 2.0.1)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.80.202:root): mike //用mike用户进行登录

331 Please specify the password.

Password:1234567 //密码:1234567

230 Login successful. //230显示登录成功

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> bye//bye退出ftp服务器

对vsftpd虚拟用户设置不同的权限

#vi /etc/vsftpd/vsftpd.conf//编辑vsftpd.conf文件添加如下内容:user_config_dir=/etc/vsftpd_user_conf //设置用户配置文件的保存目录

#mkdir /etc/vsftpd_user_conf //创建虚拟用户配置文件的保存目录

#vi /etc/vsftpd_user_conf/mike//创建mike用户配置文件,添加以下内容:anon_world_readable_only=NO //mike表示用户可以浏览Ftp目录和下载文件

anon_upload_enable=YES //mike用户可以上传文件

anon_mkdir_write_enable=YES //mike用户具有建立和删除目录的权限anon_other_write_enable=YES //mike用户具有文件改名和删除文件的权限下载本文

显示全文
专题