TOC
简单来说,Linux 包管理系统(package management) 指的是在Linux系统上安装删除或者更新软件的一种工具。不同Linux发行版本的应用软件打包格式各不相同, 譬如:Debian系列的Linux安装包格式为: *.deb; CentOS的为: *.rpm; openSUSE也是: *.rpm。 由于不同Linux发行版本安装包格式的差异性,也导致了不同Linix发行版之间包管理工具不尽相同。
关于各种Linux发行版本之间的关系可以参照这里
包管理系统也有Lower-Level跟High-Level之分,请看下面的表格:
发行版本 | Lower-Level | High-Level |
---|---|---|
Debian系 | dpkg | apt-get/aptitude |
CentOS | rpm | yum |
openSUSE | rpm | zypper |
我们来看看它们之间具体的区别:
dpkg
dpkg是基于Debian的Linux系统的底层包管理工具,它可以安装,删除,打包deb 格式的软件包,也可以用于查询deb软件包的详细信息。但是dpkg不能自动下载安装一个软件所需要的相关三方依赖包。用法如下:
安装一个deb包:
# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
查看本机器安装的deb包:
# dpkg -l
更多的用法可以参考:这篇文章
apt-get
apt-get 是基于Debian的Linux系统的高层包管理工具,提供了非常方便的软件包自动查找,安装,删除等一系列功能。apt-get可以自动下载安装一个软件包需要的三方依赖包。但是apt-get跟dpkg有一个不同的地方在于,apt-get不能直接用于安装deb包; 对于apt-get,只要输入包的名字,apt-get就会自动的去中心仓库查找下载并安装相应的软件包。用法如下:
安装apache:
# apt-get install apache2
更多用法可以参考:这篇文章
aptitude
aptitude 提供跟apt-get类似的功能,但aptitude比apt-get更直观,aptitude提供了图形界面,用户可以非常方便地进行相关包管理操作。
rpm
rpm是Linux Standard Base(LSB)兼容的Linux系统(譬如说RHEL和CentOS)的底层包管理工具,总体来说功能跟dpkg类似。用法如下:
安装pidpin:
# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
更多用法可以参考:这篇文章
yum
yum在rpm的基础上提供高层包管理功能,功能与apt-get类似。用法如下:
安装firefox:
# yum install firefox
更多用法可以参考:这篇文章
综上所述,本文只是对Linux系列包管理工具的入门扫盲介绍,大部分内容参考了这篇文章,目的是为了提供一个快速参考手册。