1、 Linux服务器配置与管理服务器配置与管理作者:冯昊清华大学出版社第第5章章 软件包管理软件包管理.1 .1 RPMRPM软件包管理软件包管理RPM是RPM Package Manager的缩写,是由Red Hat公司提出的一种软件包管理标准,可用于软件包的安装、查询、更新升级、校验、卸载已安装的软件包以及生成.rpm格式的软件包等,其功能均是通过rpm命令结合使用不同的命令参数来实现的。由于功能十分强大,RPM已成为目前Linux各发行版本中应用最广泛的软件包格式之一。RPM软件包的名称具有特定的格式,其格式为:软件名称-版本号(包括主版本和次版本号).软件运行的硬件平台.rpm比如,Te
2、lnet服务器程序的软件包名称为telnet-server-0.17-25.i386.rpm rpm软件包中的文件以压缩格式存贮,并拥有一个定制的二进制头文件,其中包含有关于本软件包和内容的相关信息,便于对软件包信息进行查询。5.1.1 RPM简介简介.1 .1 RPMRPM软件包管理软件包管理1查询rpm软件包 查询rpm软件包使用-q参数,要进一步查询软件包中的其他方面的信息,可结合使用一些相关的参数。查询系统中已安装的全部rpm软件包 若要查看系统中已安装了哪些rpm软件包,可使用rpm-qa命令来实现,其中a参数代表全部(all)。一般系统安装的软件包较多,为便于分屏浏览,可结合管道操
3、作符和less命令来实现,其命令用法为:rootrh9 root#rpm-qa|less5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理 查询指定的软件包是否安装 命令用法:rpm-q 软件包名称列表 该命令可同时查询多个软件包,各软件包名称之间用空格分隔,若指定的软件包已安装,将显示该软件包的完整名称(包含有版本号信息),若没有安装,则会提示该软件包没有安装。比如,若要查询vsftpd软件包是否已安装,则操作命令为:rootrh9 root#rpm-q vsftpd vsftpd-1.1.3-8 若要查询telnet-server服务的软件包是否安装,则操作命令
4、为:rootrh9 root#rpm-q telnet-serverpackage telnet-server is not installed5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理 查询软件包的描述信息命令用法:rpm-qi 软件包名称例如,若要查看vsftpd软件包的描述信息,则实现命令为:rpm-qi vsftpd 查询软件包中的文件列表命令用法:rpm-ql 软件包名称命令中的l参数是list的缩写,可用于查询显示已安装软件包中所包含文件的文件名以及安装位置。查询某文件所属的软件包命令用法:rpm-qf 文件或目录的全路径名利用该命令用法,可以查
5、询显示某个文件或目录是通过安装哪一个软件包产生的。5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理 查询未安装的软件包信息在安装一个软件包前,通常需要了解一下有关该软件包的相关信息,比如该软件包的描述信息、文件列表等,此时可增加使用p参数来实现,具体用法为:查询软件包的描述信息,命令用法:rpm-qpi 软件包文件全路径名查询软件包的文件列表,命令用法:rpm-qpl软件包文件全路径名 查询软件包所安装的软件的名称,命令用法:rpm-qp 软件包文件全路径名 5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理 2安装RPM软件包 安装R
6、PM软件使用-i参数,通常还结合使用v和h参数,其中v参数代表verbose,利用该参数在安装过程中将显示较详细的安装信息;h参数代表hash,在安装过程中将通过显示一系列“#”来表示安装的进度。因此安装RPM软件包的通常用法为:rpm-ivh 软件包全路径名3删除RPM软件包 删除RPM软件包所安装的软件使用-e参数,命令用法为:rpm-e 软件包名 例如,若要删除telnet-server软件包,则实现命令为:rpm-e telnet-server 5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理 4升级RPM软件包 若要将某软件包升级为较高版本的软件包,此时
7、可采用升级安装方式。升级安装使用-U参数来实现,该参数的功能是先卸载旧版,然后再安装新版软件包。为了更详细显示安装过程,通常也结合v和h参数使用,其用法为:rpm-Uvh 软件包文件全路径名 若指定的rpm包并未安装,则系统直接进行安装。5软件包的验证 对软件包进行验证可保证软件包是安全的、合法有效的。验证软件包使用-V参数,要验证所有已安装的软件包,使用命令:rpm-Va 若要根据rpm文件来验证软件包,则命令用法为:rpm-Vp rpm包文件名 5.1.2 使用使用RPM命令命令.1 .1 RPMRPM软件包管理软件包管理在X Window图形界面中,也提供了一个图形化的RPM软件包管理工
8、具,利用该管理工具,也可实现软件包的添加或删除。单击X Window的主菜单,然后单击System Settings,在其下选择Add/Remove Applications,即可打开rpm软件包管理工具。5.1.3 rpm软件包管理工具软件包管理工具.2 .2 TARTAR包管理包管理tar是一种标准的文件打包格式,利用tar命令可将要备份保存的数据打包成一个扩展名为.tar的文件,以便于保存。需要时再从.tar文件中恢复即可。使用tar命令来实现tar包的创建或恢复,生成的tar包文件的扩展名为.tar,该命令只负责将多个文件打包成一个文件,但并不压缩文件,因此通常的做法是再配合其他压缩命
9、令(如gzip或bzip2),来实现对TAR包进行压缩或解压缩,为方便使用,tar命令内置了相应的参数选项,来实现直接调用相应的压缩解压缩命令,以实现对tar文件的压缩或解压。该命令的基本用法为:tar option file-list 5.2.1 tar简介简介.2 .2 TARTAR包管理包管理tar是一种标准的文件打包格式,利用tar命令可将要备份保存的数据打包成一个扩展名为.tar的文件,以便于保存。需要时再从.tar文件中恢复即可。使用tar命令来实现tar包的创建或恢复,生成的tar包文件的扩展名为.tar,该命令只负责将多个文件打包成一个文件,但并不压缩文件,因此通常的做法是再配
10、合其他压缩命令(如gzip或bzip2),来实现对TAR包进行压缩或解压缩,为方便使用,tar命令内置了相应的参数选项,来实现直接调用相应的压缩解压缩命令,以实现对tar文件的压缩或解压。该命令的基本用法为:tar option file-list option为tar命令的功能参数,常用的主功能参数有:5.2.1 tar简介简介.2 .2 TARTAR包管理包管理-t 查看包中的文件列表-x 释放包-c 创建包-r 增加文件到包文档的末尾另外该命令还有一些辅助的功能参数,如-z代表.gz格式的压缩包,-j代表.bz或.bz2格式的压缩包,-f用于指定包文件名,-v表示在命令执行时显示详细的提
11、示信息,-C参数用于指定包解压释放到的目录路径,用法为:-C 目录路径名5.2.1 tar简介简介.2 .2 TARTAR包管理包管理1创建tar包 命令用法:tar-cvf tar包文件名 要备份的目录或文件名 命令功能:将指定的目录或文件打包成扩展名为.tar的包文件。其中的参数-c代表创建tar包文件。例如,若要将/etc目录下的文件打包成mylinux_etc.tar,则实现命令为:rootrh9 root#tar-cvf mylinux_etc.tar/etc/命令执行后,在/root目录中就会生成一个名为mylinux_etc.tar的文件。5.2.2 tar命令用法命令用法.2
12、.2 TARTAR包管理包管理2创建压缩的tar包 直接生成的tar包没有压缩,为节省磁盘空间,通常需要生成压缩格式的tar包文件,此时可在tar命令中增加使用-z或-j参数,以调用gzip或bzip2程序对其进行压缩,压缩后的文件扩展名分别为.gz、bz或bz2,其命令用法为:tar-z|jcvf 压缩的tar包文件名 要备份的目录或文件名 例如,若要将/etc目录下的文件打包并压缩为mylinux_etc.tar.gz,则实现的命令为:rootrh9 root#tar-zcvf mylinux_etc.tar.gz/etc/最后在/root目录中就会生成mylinux_etc.tar.gz
13、文件。若要打包并压缩为.bz2格式的压缩包,则实现命令为:rootrh9 root#tar-jcvf mylinux_etc.tar.bz2/etc/5.2.2 tar命令用法命令用法.2 .2 TARTAR包管理包管理3查询tar包中文件列表 在释放解压tar包文件之前,有时需要了解一下tar包中的文件目录列表,此时可使用带-t参数的tar命令来实现,其用法为:tar-t z|jvf tar包文件名 例如,若要查询mylinux_etc.tar中的文件目录列表,则实现命令为:rootrh9 root#tar-tf mylinux_etc.tar 若要显示文件列表中每个文件的详细情况,可增加使
14、用-v参数,比如:rootrh9 root#tar-tvf mylinux_etc.tar 若要查看.gz压缩包中的文件列表,则还应增加使用-z参数;若要查看.bz或.bz2格式的压缩包的文件列表,则应增加-j参数。例如:rootrh9 root#tar-tjvf mylinux_etc.tar.bz2 rootrh9 root#tar-tzvf mylinux_etc.tar.gz 5.2.2 tar命令用法命令用法.2 .2 TARTAR包管理包管理4释放tar包 要释放tar包,使用-x参数,其命令用法为:tar-xvf tar包文件名 对.gz格式的压缩包,增加-z参数,.bz或bz2压缩包,增加-j参数,此时的命令用法为:tar-z|jxvf 压缩的tar包文件名 例如,若要释放软件包httpd-2.0.50.tar.gz,则实现的命令为:rootrh9 root#tar-zxvf httpd-2.0.50.tar.gz 若要释放软件包iptables-1.2.8.tar.bz2,则实现的命令为:rootrh9 root#tar-jxvf iptables-1.2.8.tar.bz2tar命令的参数也可不要“-”。若要解压缩zip文件,则直接使用unzip命令。比如:unzip mysoft.zip5.2.2 tar命令用法命令用法