第二部分Linux安装与包管理第5节:使用 Debian 包管理
Debian
包管理
本节讨论初级管理(LPIC-1)考试
101 的主题 1.102.5 的内容。这个主题的权值是 8。
在前面的一节中,我们学习了从源代码进行安装。在本节中,您将学习当今大多数发行版所采用的另一种方式,包管理。在这种方式中,预先构建的程序或程序集作为包发行,可以在特定的发行版上进行安装。在本节和下一节中,我们将研究包管理,主要关注两种广泛使用的包管理系统。它们是 Debian 开发的 Advanced Packaging Tool(即 APT)和
Red Hat 开发的 Red Hat Package Manager(即 RPM)。
包管理概述
在前一节的 Dr Geo 例子中,配置步骤最初失败了,因为我们不具备某个必须要有的程序。包管理工具将先决程序和版本的概念正规化,并且将文件在系统上的位置标准化,还提供了跟踪机制来帮助确定安装了哪些包。结果就是软件的安装、维护和删除更容易了。
尽管仍然可能因为某些原因希望从源代码安装程序,但是在大多数情况下,会采用适合您的发行版的包管理程序进行系统维护和程序安装。
从用户的角度来看,基本的包管理功能由命令提供。因为
Linux 开发人员一直努力使 Linux 更容易使用,所以开发了其他工具来补充基本工具,包括 GUI 工具,GUI 工具对最终用户隐藏了基本工具的复杂性。在这两节中,我们主要关注基本工具,还会提到某些其他工具,您可以以这些知识作为进一步学习的起点。
安装 Debian 包
让我们回顾在配置 Dr Geo 程序源代码时遇到的问题。碰巧,这个问题也出现在使用 RPM 包管理的 Fedora Core 4 系统上。在本节中,在安装 Dr Geo 的基于
Debian 的 Ubuntu 系统上也缺少某些 guile 组件。这个错误显示在清单 25 中。
zCkLinux联盟
清单 25. 缺少 guile 功能
|
ian@attic4:~$ cd drgeo-1.1.0
ian@attic4:~/drgeo-1.1.0$
./configure
checking for perl...
/usr/bin/perl
checking for XML::Parser...
ok
checking for iconv...
/usr/bin/iconv
checking for msgfmt...
/usr/bin/msgfmt
...
checking for guile... no
configure: error: guile
required but not found
i
|
我们需要的包是 guile 包。可以使用 apt-get 命令安装它,如清单
26 所示。注意 sudo 命令,这是一般用来获得根权限的 Ubuntu 方法。
zCkLinux联盟
清单 26. 使用 apt-get 安装 guile
|
ian@attic4:~$ sudo apt-get
install guile
Reading package lists... Done
Building dependency tree...
Done
Note, selecting guile-1.6
instead of guile
Suggested packages:
guile-1.6-doc
The following NEW packages
will be installed:
guile-1.6
0 upgraded, 1 newly
installed, 0 to remove and 24 not upgraded.
Need to get 31.5kB of
archives.
After unpacking 209kB of
additional disk space will be used.
Get:1
http://us.archive.ubuntu.com hoary/main guile-1.6 1.6.7-1ubuntu1 [31.5kB]
Fetched 31.5kB in 0s
(37.4kB/s)
Preconfiguring packages ...
Selecting previously
deselected package guile-1.6.
(Reading database ... 84435
files and directories currently installed.)
Unpacking guile-1.6 (from
.../guile-1.6_1.6.7-1ubuntu1_i386.deb) ...
Setting up guile-1.6
(1.6.7-1ubuntu1) ...
i
|
从输出中可以看到,apt-get 从某处读取了包清单(稍后详细解释),构建了一个依赖树,建议用 guile-doc 安装 guile,并从互联网下载 guile 包。然后解压、安装和设置 guile 包。注意,Debian 包使用的扩展名是 .deb。guile 包的完整文件名是 guile-1.6_1.6.7-1ubuntu1_i386.deb。
如果 apt-get 发现您要安装的包依赖于其他包,它将自动获得和安装这些包。在我们的例子中,只安装了 guile,因为所有依赖条件都已经满足了。根据输出中的建议,可以安装 guile-doc(或 guile-1.6.doc)。
假设在不安装 guile-doc 的情况下,我们希望了解安装
guile-doc 是否依赖于其他包。可以在 apt-get 上使用 -s(表示 simulate)选项。还有几个其他选项有相同功能,比如 --just-print 和 --dry-run。完整的细节请参阅手册页。我们刚才安装的包文档没有任何先决条件,所以在清单 27 中提供一个更有意义的例子,它模拟安装 ssl-cert 包,该包需要 openssl 包。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论