软件包管理
在GNU/Linux(以下简称Linux)操作系统中,RPM和DPKG为最常见的两类软件包管理工具,他们分别应用于基于RPM软件包的Linux发行版本和DEB软件包的Linux发行版本。软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。
RPM全称为RedhatPackage Manager,最早由RedHat公司制定实施,随后被GNU开源操作系统接受并成为很多Linux系统(RHEL)的既定软件标准。DEB是基于Debian操作系统(UBUNTU)的DEB软件包管理工具-DPKG,全称为Debian Package。
一个RPM包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以.rpm扩展名结尾的文件,例如package.rpm。对其操作,需要使用rpm\ yum命令。
RPM的常规使用方法为rpm-? package.rpm,其中-?为操作参数(更多信息,请查阅帮助manrpm):
-q在系统中查询软件或查询指定rpm包的内容信息
-i在系统中安装软件
-U在系统中升级软件
-e在系统中卸载软件
-h用#(hash)符显示rpm安装过程
-v详述安装过程
-p表明对RPM包进行查询,通常和其它参数同时使用,如:
-qlp查询某个RPM包中的所有文件列表, 查看软件包将会在系统里安装哪些部分
-qip查询某个RPM包的内容信息,系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。
安装RPM包
rpm -ivh package.rpm
升级rpm包
rpm -Uvh package.rpm
卸载rpm包
rpm -ev package
查询已安装rpm包
rpm -qa|greppackage
下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:
rpm -qf <文件名>
rpm -Va,Linux将为你列出所有损坏的文件
2、yum包管理软件
YUM基于RPM包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标RPM包并且安装,可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。此外,YUM的另一个功能是进行系统中所有软件的升级。如上所述,YUM的RPM包来源于源空间,在RHEL中由/etc/yum.repos.d/目录中的.repo文件配置指定。YUM的系统配置文件位于/etc/yum.conf。
列出所有可更新的软件包信息
命令:yum info updates
安装RPM包
yum -y install package-name
升级rpm包
yum update package-name
卸载rpm包
yum remove package-name
列出已安装rpm包
yum list
列出系统中可升级的所有软件
yum check-update
一个DEB包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以.deb扩展名结尾的文件,例如package.deb。对其操作,需要使用dpkg命令。下面介绍dpkg工具的参数和使用方法,并以IBM Lotus Notes在UBUNTU904安装为例做具体说明。
1、DPKG命令常用参数
DPKG的常规使用方法为dpkg-? Package(.rpm),其中 -?为安装参数(更多信息,请查阅帮助manrpm):
-l在系统中查询软件内容信息
--info在系统中查询软件或查询指定rpm包的内容信息
-i在系统中安装/升级软件
-r在系统中卸载软件,不删除配置文件
-P在系统中卸载软件以及其配置文件
查询系统中已安装的软件
dpkg-l package
安装DEB包
sudo dpkg -i package.deb
卸载DEB包
sudo dpkg -rpackage.deb #不卸载配置文件
sudodpkg -P package.deb #卸载配置文件
2、apt包管理软件
APT的全称为AdvancedPackaging Tools。与 YUM对应,它最早被设计成DPKG的前端软件,现在通过apt-rpm也支持rpm管理。APT的主要包管理工具为APT-GET,通过此工具可满足和上述YUM相似的功能要求。
更新源索引
sudo apt-get update
安装
sudo apt-get install package-name
下载指定源文件
sudo apt-get source package-name
升级所有软件
sudo apt-get upgrade
卸载
sudo apt-get remove package-name不删除配置文件
sudo apt-get remove –purge package-name删除配置文件
三、Alien
Alien工具可以将RPM软件包转换成DEB软件包,或把DEB软件包转换成RPM软件包,以此适应兼容性的需要。注意首先请在系统中安装alien。
sudo alien -d package.rpm
sudo dpkg -i package.deb
alien -r package.deb
rpm -ivh package.rpm