[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]


The Debian GNU/Linux FAQ
第 7 章 - Debian 的包管理工具


7.1 提供了哪些管理工具?

有很多用于管理Debian 软件包的工具, 从图形界面的或基于文本界面的, 到用于安装软件包低层工具. 所有这些工具都是基于底层工具来完成运行, 和完成高级功能的.

理解高级软件包管理工具 例如aptitudedselect 是依赖于apt的, 而apt是基于dpkg系统中的软件包的.


7.1.1 dpkg

这个主要的软件包管理工具, 有很多参数, 常用的有:


7.1.2 APT

APT 即 Advanced Package Tool, 其提供了 apt-get 程序. apt-get 提供一个简单的命令行安装软件包的方法. 和 dpkg 不同, apt-get 不能识别 .deb 文件, 它使用软件包原来的名称通过 /etc/apt/sources.list 指定的安装源进行安装. 完成 .deb 文件的下载后[4], apt-get 会直接调用dpkg 进行资源配置.

通常用于:

注意, 执行这些命令需要root权限.

apt工具包还包括apt-cache, 用于查询软件包列表. 可用来利用简单的单词或正则表达式来查找提供某种功能的软件包以及依赖包. 通常这样使用 apt-cache:

更多信息, 安装 apt 软件包参阅 apt-get(8), sources.list(5)apt-doc 软件包中的 /usr/share/doc/apt/guide.html/index.html.


7.1.3 aptitude

aptitude 是 Debian GNU/Linux 系统的软件包管理器, 为apt软件包管理机制提供了一个前端. aptitude是使用 curses 共享库的一个文本界面. 可以简单快速的完成管理任务.

aptitude 提供了 dselectapt-get的所有功能, 以及一些在这两个程序中并未出现的附加功能.

您可以通过可视化界面使用aptitude, 也可以直接命令行使用. 命令行使用时, 同 apt-get 非常相似. 例如, 要安装 foo 软件包, 只需运行aptitude install foo.

注意, 在安装软件包和/或升级系统时, Debian 推荐使用 aptitude .

更多信息, 参阅 aptitude-doc-en 软件包提供的联机手册 aptitude(8).


7.1.4 dselect

Debian 包管理系统的菜单界面. 对第一次安装特别有用. 有很多用户可能更习惯 aptitude, 在大范围升级时, 也建议使用 aptitude. 有关 aptitude 的更多信息, 参阅 aptitude, 第 7.1.3 节.

dselect 可以:

进入 dselect 时, 有七个菜单项, 每项完成特定的功能, 用户可以用上下键移动亮度条, 然后按 <回车> (<enter>) 键选择加亮显示的项.

接下来的显示和用户的选择有关. 如果选的不是 AccessSelect, dselect 就会继续执行指定的动作: 如, 选 Remove, dselect就会删除用户在 Select 中的最后选择的所有软件包.

AccessSelect 菜单项下有更多的菜单选项, 两种选择都会出现分屏, 上部给出选项的滚动列表, 部是对应选项的简要解释("info").

任何时候都可按下 "?" 键, 都可呼出帮助信息, 使用在线帮助.

通常按照第一个界面里菜单排列顺序操作来完成软件包安装, 但, 用户也可以根据自己的需要来做出选择(但这和用户的具体选择有关)..


7.1.5 其他的软件包管理工具


7.1.5.1 dpkg-deb

用于 Debian 格式 (.deb) 文件的操作. 常见操作:

注意, 仅仅执行 dpkg-deb --extract 并不能正确的安装软件包, 应该执行 dpkg --install.

详细参见手册 dpkg-deb(1).


7.1.5.2 dpkg-split

这个程序用来将大软件包分割成小文件(如, 写到软盘上), 和将分割的文件合并. 这个程序只能在 Debian 系统上使用(或含 dpkg 包的系统), 因为它需要调用 dpkg-deb 程序分析这个 Debian 包的组成.

例如, 把一个大 .deb 分割成 N 部分,


7.2 Debian 可以对一个运行中的程序进行升级, 如何做到的?

Debian GNU/Linux 系统的内核支持运行中替换文件.

我们另外提供可一个称作 start-stop-daemon 的程序, 用于启动时驱动进程或内核运行级别发生变化时停掉进程(如, 由多用户到单用户模式或到关机模式). 包含某个进程的软件包安装时, 安装脚本停止和重起进程调用用的也是这个程序.


7.3 我的 Debian 系统上装了哪些软件包?

要查看 Debian 系统上安装的所有软件包的状态, 运行

     dpkg --list

输出每个软件包的一行简单介绍, 2字符的状态标志, 包名, 所安装版本, 和简要描述.

查看以 "foo" 开头的软件包的状态, 执行:

     dpkg --list 'foo*'

要得到某个软件包的更详细信息, 执行:

     dpkg --status packagename

7.4 如何找出一个文件的归属包?

要查找出包含文件 foo 的软件包, 执行:


7.5 我已经删除了'foo', 为什么'foo-data' 还在?

有些软件包被分为程序('foo')和数据('foo-data')两部分. Debian系统中的很多游戏程序, 多媒体应用程序都是这样的, 因为有些用户会有在未安装程序的情况下使用数据的需求, 或者是因为生需在未安装数据的情况下, 通过配置也能运行.

这种情况下, 'foo-data'并不依赖于'foo', 因此当您卸载'foo'软件包的时候, 多数软件包管理工具自动将其卸载. 这是为了严格的遵循依赖关系. 如果您使用 aptitude (参阅 aptitude, 第 7.1.3 节)作为软件包管理工具, 它将会自动跟踪安装的软件包, 并在当系统中没有软件包再需要它们时, 将其卸载.


[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]


The Debian GNU/Linux FAQ

version CVS, 25 November 2005

translator: etony C.F.AN etony@tom.com
Debian FAQ Authors