Debian软件包管理系统
技术概要
Debian的包管理系统可以分为几层。最低层次是实际的包管理系统,而最高层次的是各种用来自动处理软件包定位,获得与软件包安装过程的用户友好的接口程序。下面的列表列出所要调用的主要程序:
PROGRAM BASED ON 用途
dpkg N/A 实际安装与管理软件包的程序
apt-get dpkg 管理软件包源列表和获取要安装的软件包
dselect apt-get,dpkg 允许用户从源列表文件中选择要安装的软件包
tasksel apt-get,dpkg 允许用户选择要安装的任务(本地软件包组)
下面的部分将会详细的讨论Debian的包管理程序。出于演示的目的,Debian的程序会与RH和Slackware中等价的程序进行对比。这仅仅是一个对比,我们的目的并不是要评判所一个系统是最优的。Debian系统是相当的复杂,而我们这样做只是为了方便我们的讨论。
使用dpkg程序
dpkg是Debian包管理系统的关键。这个程序负责实际的解包和安装Debian软件包归档文件(以deb为扩展名),并负责管理与软件包管理相关的各种数据库。
我们可以使用dpkg来手动的安装单个的软件包。例如,也许我们会从某个网站上下载一个deb文件并使用dpkg来进行安装,或者是我们要安装CD中的一个软件包。相似的,我们也可以使用 dpkg来移除某一个软件包。我们也可以使用dpkg来执行查询命令,例如列出某一个包所安装的文件或者是定位包含一个指定文件的软件包。
这时我们也许已经意识到dpkg程序本质上与rpm程序相类似,通过rpm程序,我们可以安装和移除软件包,或是在软件包执行各种查询命令(包括已安装和未安装的软件包)。Slackware会通过各种程序(installpkg,upgradepkg,removepkg)来完成相件的功能。
Slackware使用/var/log/package目录中的简单的文本文件来存储关于软件包与文件所属关系的各种信息。而RH却是另一个极端,他是将这样的各种信息存放在一个二进制数据库中,而我们只可以通过rpm命令来进行访问。Debian的dpkg是处于中间状态:一个软件包所安装的文件列表存放在一个数据库中,但是关于这个软件包的信息却是存放在/var/lib/dpkg/available文件中,而所以已经安装的软件包的信息存放在/var/lib/dpkg/info目录下。在某种程序上,我们可以为了某些信息而查看相关的文件,而这并不一定要通过使用dpkg工具来完成(虽然我们会发现dpkg工具会更为的方便)。
Debian的包管理系统可以分为几层。最低层次是实际的包管理系统,而最高层次的是各种用来自动处理软件包定位,获得与软件包安装过程的用户友好的接口程序。下面的列表列出所要调用的主要程序:
PROGRAM BASED ON 用途
dpkg N/A 实际安装与管理软件包的程序
apt-get dpkg 管理软件包源列表和获取要安装的软件包
dselect apt-get,dpkg 允许用户从源列表文件中选择要安装的软件包
tasksel apt-get,dpkg 允许用户选择要安装的任务(本地软件包组)
下面的部分将会详细的讨论Debian的包管理程序。出于演示的目的,Debian的程序会与RH和Slackware中等价的程序进行对比。这仅仅是一个对比,我们的目的并不是要评判所一个系统是最优的。Debian系统是相当的复杂,而我们这样做只是为了方便我们的讨论。
使用dpkg程序
dpkg是Debian包管理系统的关键。这个程序负责实际的解包和安装Debian软件包归档文件(以deb为扩展名),并负责管理与软件包管理相关的各种数据库。
我们可以使用dpkg来手动的安装单个的软件包。例如,也许我们会从某个网站上下载一个deb文件并使用dpkg来进行安装,或者是我们要安装CD中的一个软件包。相似的,我们也可以使用 dpkg来移除某一个软件包。我们也可以使用dpkg来执行查询命令,例如列出某一个包所安装的文件或者是定位包含一个指定文件的软件包。
这时我们也许已经意识到dpkg程序本质上与rpm程序相类似,通过rpm程序,我们可以安装和移除软件包,或是在软件包执行各种查询命令(包括已安装和未安装的软件包)。Slackware会通过各种程序(installpkg,upgradepkg,removepkg)来完成相件的功能。
Slackware使用/var/log/package目录中的简单的文本文件来存储关于软件包与文件所属关系的各种信息。而RH却是另一个极端,他是将这样的各种信息存放在一个二进制数据库中,而我们只可以通过rpm命令来进行访问。Debian的dpkg是处于中间状态:一个软件包所安装的文件列表存放在一个数据库中,但是关于这个软件包的信息却是存放在/var/lib/dpkg/available文件中,而所以已经安装的软件包的信息存放在/var/lib/dpkg/info目录下。在某种程序上,我们可以为了某些信息而查看相关的文件,而这并不一定要通过使用dpkg工具来完成(虽然我们会发现dpkg工具会更为的方便)。
相关推荐
83417800 2019-12-26
cyhgogogo 2020-01-30
菜鸟上路CCLinux 2020-11-04
xiaoemo0 2020-08-09
84931231 2020-07-30
82941732 2020-07-27
wh0 2020-07-27
taianxiaojia 2020-07-15
mattraynor 2020-06-25
82941732 2020-06-11
安得情怀似旧时 2020-06-08
libra0 2020-06-01
84931231 2020-05-06
Summer的小屋 2020-03-26
82941732 2020-03-10
82941732 2020-03-04