二进制软件包管理(RPM、YUM)
 源代码包安装
 脚本安装(Shell或Java脚本)
 Debian系Linux软件包管理简介

一、RPM包管理
RPM软件包的一个例子:
sudo-1.8.6p3-7.el6.x86_64.rpm
其中包括软件名(sudo),版本号( 1.8.6p3),发行号( 7.el6),和硬件平台( x86_64)。
clipboard
(1) 卸载
# rpm -e sudo
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。
clipboard

(2)安装
# rpm -ivh /mnt/cdrom/Packages/sudo-1.8.6p3-7.el6.x86_64.rpm
挂载光盘:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
查询:
rpm -q sudo
rpm -qa | grep samba
clipboard
其他安装选项:
--excludedocs
不安装软件包中的文档文件
--prefix PATH
将软件包安装到由PATH指定的路径下
--test
只对安装进行测试,并不实际安装

A. 软件包已被安装
[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/sudo-1.8.6p3-7.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
        package sudo-1.8.6p3-7.el6.x86_64 is already installed
如果覆盖安装该软件包,可以在命令行上使用--replacepkgs 选项。
clipboard


B. 文件冲突
如果要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:
# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
conflicts with file from bark-3.2-1l
sudo-1.7.2p1-5.el5.i386.rpm cannot be installed
要想让RPM 忽略该错误信息, 请使用--replacefiles命令行选项。

C.未解决依赖关系
RPM软件包可能依赖于其它软件包,在安装了特定的软件包之后才能安装该软件包。
# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
failed dependencies:
sudo is needed by bark-3.2-1l
你必须安装完所依赖的软件包,才能解决这个问题,强制安装使用--nodeps 选项。

(3)升级
# rpm -Uvh sudo-1.8.6p3-7.el6.x86_64.rpm 

(4)查询
选项:
-a 查询所有已安装的软件包.
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表

RPM查询应用案例:
1、查询文件隶属的软件包:rpm -qf
clipboard

2、查询软件包信息:rpm -qi、rpm -qip
clipboard

查询未安装RPM包信息
clipboard

3、查询软件包安装文件:rpm -ql、rpm -qlp
查询软件包安装系统位置
clipboard

clipboard

4、查询软件包帮助文档:rpm -qd
clipboard

5、查询软件包配置文件:rpm -qc
clipboard

(5)校验
# rpm -V 软件名称
? 5 文件的md5校验值
? S 文件大小
? L 链接文件
? T 文件的创建时间
? D 设备文件
? U 文件的用户
? G 文件的用户组
?M 文件的权限

[root@localhost ~]# rpm -V sudo
S.5....T.  d /usr/share/doc/sudo-1.8.6p3/sample.sudo.conf
显示sudo软件包自从安装好后/usr/share/doc/sudo-1.8.6p3/sample.sudo.conf文件大小,MD5值,创建时间更改过。
clipboard

(6)软件包文件提取
解压所有文件到当前目录
# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv
解压指定文件到当前目录
# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab
clipboard

二、YUM包管理
应用yum的好处:
 自动解决软件包依赖关系
 方便的软件包升级

安装yum install
clipboard

检测升级yum check-update
clipboard

升级yum update
clipboard

软件包查询yum list
clipboard

clipboard

软件包信息yum info
clipboard

卸载yum remove
clipboard

帮助yum -help、man yum
clipboard

clipboard

三、源代码包安装
应用举例(proftpd):
# tar -xzvf  proftpd-1.3.5rc3.tar.gz(解压解包)
# cd proftpd-1.3.5rc3
# ./configure --prefix=/usr/local/proftpd(配置)
# make (编译)
# make install (安装)
软件下载地址:http://www.proftpd.org
clipboard

clipboard

clipboard

clipboard

clipboard

clipboard

clipboard

四、脚本安装
应用举例(webmin、OpenOffice )
# tar -zxvf webmin-1.630.tar.gz
# cd webmin-1.630
# vi README
# ./setup.sh
clipboard
clipboard

clipboard

clipboard


clipboard

五、APT包管理
搜索软件包apt-cache search
软件包信息apt-cache show
安装apt-get install(reinstall、-f)
删除apt-get remove(autoremove、--purge)
更新软件源apt-get update
更新已安装包apt-get upgrade


END