一篇关于Debian/GNU软件配置工具介绍的文章 主要工具
dselect --- 使用菜单界面的软件包管理工具(最上层的包管理工具) dpkg --- 安装软件包(管理软件包中的文件) apt-get --- 安装软件包(管理软件包,CLI APT)
tasksel --- 安装任务套件(管理面向某方面任务的一套软件包) aptitude --- 安装软件包(管理软件包和任务套件,ncurses APT) deity --- 另一种ncurses APT
synaptic, gsynaptic --- 另一种GUI APT
它们不是同级的工具。`dselect'运行于APT(命令行命令是`apt-get')和`dpkg'之上。
APT使用`/var/lib/apt/lists/*'来跟踪可用的软件包,而`dpkg'使用的是 `/var/lib/dpkg/available'。如果直接用`apt-get'或同类工具如`aptitude'等来安装软件包,千万别忘了更新 `/var/lib/dpkg/available'文件,可以使用dselect的`[U]pdate'选项或在运行`dselect
update'、`tasksel'或`dpkg -l'前执行shell命令行“`dselect update'”。
在理关联软件包的方式上,`apt-get'会自动搜索下载_depends_类软件包,但不会理睬_recommends_和_suggests_ 类软件包,而`dselect'在软件包的选择方面采用菜单方式操作,对_depends_、_recommends_和_suggests_三类相关软件包均给出提示。`aptitude'则提供了选项
下载安装所有_depends_、_recommends_和_suggests_类软件包。 方便的工具
apt-cache - 在本地缓冲区检查包文件
dpkg-reconfigure - 重新配置已安装的软件包(如果它是使用debconf进行配置的) dpkg-source - 管理源码包
dpkg-buildpackage - 自动生成包文件 ...
Debian软件包管理基础
地安装软件包称之为_task_,还可以使用软件包管理工具逐个地安装软件包或升级系统。
使用`tasksel'或`aptitude'进行_task_安装
`tasksel'是_Debian的任务安装器_,系统安装过程中它为用户提供了一种`简易'软件包选择方式。
如果你希望完装的某项常规功能包含了许多软件包,最好的办法就是使用它来安装。运行如下命令: # dselect update # tasksel
`aptitude'亦可访问_task_。用它不仅可以选择_tasks_还可以对_task_选项菜单中的软件包进行逐个取舍。 设置APT系统
使用`testing'发布版的用户,有时需要对系统进行有选择性地升级
首先,在`/etc/apt/sources.list'中添加`stable'、`testing'和`unstable'镜像源,接着编辑`/etc/apt/preferences',设置合适的Pin-Priority。 [1] Package: *
Pin: release a=stable Pin-Priority: 500 Package: *
Pin: release a=testing Pin-Priority: 600 Package: *
Pin: release a=unstable Pin-Priority: 50
[1] I kept the description around here as is to maintain consistency with
other parts. If you are really tracking `testing' or `unstable', you
should actually remove references to `stable' in
`/etc/apt/sources.list' and `/etc/apt/preferences'. This is because
`testing' starts as a copy of `stable'. 用 dselect代替apt:
`dselect'会自动选上所有“Required”、“Important”和“Standard”类软件包,在Potato系统中,某些大型应用程序如TeX和Emacs处于这些分类中,在初次安装系统时最好手工取消对它们的选择(输入“_”)。在Woody稳定版中,这些大型应用程序被移入 “Optional”类软件包。
`dselect'的用户界面有点怪。有4个相似命令(注意是大写字母!): Key-stroke Action
Q 退出。确认当前的选择然后退出。 (override dependencies) R 恢复!我放弃我做出的选择
D 不管它!我不管dselect有什么建议,照我说的做! U 照系统的建议做
使用`D'和`Q'可以选择有冲突的选项,你要自负风险,所以使用这些命令要小心。当前`dselect'是一款成熟的菜单驱动式工具,在对_suggests_和_recommends_类软件包的选择控制方面,它提供相当棒的微操作能力。
在`/etc/dpkg/dselect.cfg'中加上一行包含“expert”选项以减少干扰。对于速度慢的机器,请在其它速度快的机器上运行`dselect'选好软件包,然后用`apt-get install'安装它们。
对于没有定义Pin-Priority的软件包,`dselect'不会访问它们。 使用 aptitude程序:
`aptitude'是一款新的菜单驱动式软件包安装工具,与`dselect'很相似。它亦可作为命令行工具`apt-get'的替代品。 `aptitude'可接受单字符命令,通常是小写字母。 Key-stroke Action F10 菜单 ? 键盘命令帮助 u 更新软件包信息 g 下载并安装选定的软件包 q 保存修改并退出当前屏幕 x 放弃修改并退出当前屏幕 Enter 浏览某软件包的相关信息
`aptitude'提供了选项可自动选取所有_depends_、_recommends_和_suggests_类软件包。可在`F10
-> Options -> Dependency handling'菜单中设置它。 通过`aptitude'可访问某软件包的所有版本。 apt-cache和apt-get命令
还是以上面使用`testing'发布版的用户为例,可使用下列命令管理系统:
* `apt-get -u upgrade'
跟踪`testing'发布版的更新情况,对系统上所有软件包进行升级并从`testing'处安装关联软件包。 * `apt-get -u dist-upgrade'