Debian软件包管理详解

上传人:飞*** 文档编号:47746824 上传时间:2018-07-04 格式:PDF 页数:21 大小:21.58KB
返回 下载 相关 举报
Debian软件包管理详解_第1页
第1页 / 共21页
Debian软件包管理详解_第2页
第2页 / 共21页
Debian软件包管理详解_第3页
第3页 / 共21页
Debian软件包管理详解_第4页
第4页 / 共21页
Debian软件包管理详解_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Debian软件包管理详解》由会员分享,可在线阅读,更多相关《Debian软件包管理详解(21页珍藏版)》请在金锄头文库上搜索。

1、一篇关于 Debian/GNU软件配置工具介绍的文章主要工具dselect - 使用菜单界面的软件包管理工具 (最上层的包管理工具)dpkg - 安装软件包(管理软件包中的文件)apt-get - 安装软件包(管理软件包,CLI APT)tasksel - 安装任务套件(管理面向某方面任务的一套软件包)aptitude - 安装软件包(管理软件包和任务套件,ncurses APT)deity - 另一种 ncurses APT synaptic, gsynaptic - 另一种 GUI APT 它 们 不是 同 级 的工 具 。 dselect运 行 于 APT( 命 令 行 命 令 是apt

2、-get)和dpkg 之上。APT使用/var/lib/apt/lists/*来跟踪可用的软件包,而dpkg 使用的是 /var/lib/dpkg/available。 如果直接用 apt-get或同类工具 如 aptitude等 来 安 装 软 件 包 , 千 万 别 忘 了 更 新/var/lib/dpkg/available文件,可以使用dselect的Update选项或在运行 dselect update 、tasksel或dpkg -l前执行shell命令行“ dselect update ” 。在理关联软件包的方式上,apt-get会自动搜索下载 _depends_类软件包, 但不

3、会理睬 _recommends_ 和_suggests_ 类软件包,而dselect在软件包的选择方面采用菜单方式操作,对_depends_、_recommends_和_suggests_ 三类相关软件包均给出提示。aptitude则提供了选项下载安装所有 _depends_、_recommends_ 和_suggests_ 类软件包。方便的工具apt-cache - 在本地缓冲区检查包文件dpkg-reconfigure - 重 新配置 已 安装 的 软 件包 ( 如果它 是 使用debconf 进行配置的)dpkg-source - 管理源码包dpkg-buildpackage - 自动生

4、成包文件. Debian 软件包管理基础地安装软件包称之为 _task_ ,还可以使用软件包管理工具逐个地安装软件包或升级系统。使用tasksel或aptitude进行_task_ 安装tasksel是_Debian 的任务安装器 _,系统安装过程中它为用户提供了一种 简易 软件包选择方式。如果你希望完装的某项常规功能包含了许多软件包,最好的办法就是使用它来安装。运行如下命令:# dselect update # tasksel aptitude亦可访问 _task_ 。用它不仅可以选择_tasks_ 还可以对_task_ 选项菜单中的软件包进行逐个取舍。设置 APT系统使用testing发布

5、版的用户,有时需要对系统进行有选择性地升级首先,在 /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 descript

6、ion 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会自动选上所有 “Requ

7、ired ” 、 “Important ”和“Standard ”类软件包,在 Potato 系统中,某些大型应用程序如TeX和 Emacs处于这些分类中,在初次安装系统时最好手工取消对它们的选择(输入“_” ) 。在 Woody稳定版中,这些大型应用程序被移入“Optional ”类软件包。dselect的用户界面有点怪。有4 个相似命令(注意是大写字母! ) :Key-stroke Action Q 退出。确认当前的选择然后退出。(override dependencies) R 恢复!我放弃我做出的选择D 不管它!我不管 dselect有什么建议,照我说的做!U 照系统的建议做使用D 和

8、Q 可以选择有冲突的选项,你要自负风险,所以使用这些命令要小心。当前dselect是一款成熟的菜单驱动式工具,在对_suggests_ 和_recommends_ 类软件包的选择控制方面,它提供相当棒的微操作能力。在/etc/dpkg/dselect.cfg中加上一行包含“expert ”选项以减少干扰。对于速度慢的机器, 请在其它速度快的机器上运行dselect选好软件包,然后用 apt-get install安装它们。对于没有定义 Pin-Priority的软件包, dselect不会访问它们。使用 aptitude程序:aptitude是一款新的菜单驱动式软件包安装工具, 与dselec

9、t很相似。它亦可作为命令行工具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命令还是

10、以上面使用 testing发布版的用户为例,可使用下列命令管理系统:* apt-get -u upgrade 跟踪testing发布版的更新情况,对系统上所有软件包进行升级并从testing处安装关联软件包。* apt-get -u dist-upgrade 跟踪testing发布版的更新情况,对系统上所有软件包进行升级并从testing处重新分析关联关系并安装关联包。* apt-get -u dselect-upgrade 跟踪testing发布版的更新情况,对系统上所有在dselect中选定了的软件包进行升级。* apt-get -u install 从testing处安装及其关联包。*

11、apt-get -u install /unstable 从unstable处安装并从 testing处安装关联包。* apt-get -u install -t unstable 从 unstable处 安 装 及 其 关 联 包 。 注 意 须 设 置 unstable的Pin-Priority为 990。* apt-cache policy 检查软件包的状态。* apt-cache show | less 查看软件包的有关信息。* apt-get install 安装软件包的特定版本 。* apt-get -u install 安装软件包并删除软件包。* apt-get remove 删

12、除软件包,但保留其配置文件。* apt-get remove -purge 删除软件包及其配置文件。在上面的例子中用 -u 选项的作用是在实际升级之前将所有将要升级的软件包列出,并提示用户确认。下面的操作可将-u 设置为默认行为:$ cat /etc/apt/apt.conf 1000而引起强制降级。 注意,该操作可能会在关联性方面发生一点问题。/etc/apt/preferences概述 设置 APT系统 中展示的 /etc/apt/preferences样例文件里,首行Package: * 表示该段落指令作用于所有软件包。可以通过指定软件包名称来为某个特定的软件包设置指定的Pin-Prio

13、rity。接 下 来的 一 行是 Pin: release a=stable表示 apt-get从 包含Archive: stable节的Release 文件所在的目录获得 Packages.gz 文件。最后一行 Pin-Priority: 500指定 Pin-Priority为 500。如果多个软件包同名, 系统通常会安装拥有最高Pin-Priority的软件包。在此, Pin-Priority表示:* 1001 及以上:可降级优先级。Pin-Priority处于该范围的软件包允许降级操作。* 100 到 1000:标准优先级。不允许降级。几个key Pin-Priority的值:* 990

14、:由-target-release或 apt-get(8)-t选项设置的优先级。* 500 :所有默认软件包文件的优先级。* 100 :当前安装软件包文件的优先级。* 0 到 99:非自动优先级。(仅用于软件包没有安装或没有别的可用版本时。 )* 小于 0:决不选择该版本。按下面的 方法设置/etc/apt/apt.conf可获得与-target-release一样的效果:# echo APT:efault-Release “testing“; /etc/apt/apt.conf 命令行选项 -target-release和/etc/apt/apt.conf中的设置会顶替/etc/apt/pr

15、eferences的设置。在玩 /etc/apt/preferences的时候小心两者冲突。检测程序错误寻求帮助如你使用某个软件包出现问题,在寻求帮助或发送错误报告之前请确认查看过下列站点( lynx、links和w3m同样好用) :$ lynx http:/bugs.debian.org/ $ lynx http:/bugs.debian.org/ # 如果你知道软件包名称$ lynx http:/bugs.debian.org/ # 如果你知道错误序号如有疑问,可阅读帮助文件。设置CDPATH 如下:export CDPATH=.:/usr/local:/usr/share/doc 然后输入$ cd $ pager README.Debian # if this exists $ mc APT升级错误及解决方法从unstable/testing进行升级时可能出现第 5.3 节, 升级 Debian 系统 中提到的软件包关联问题。 多数情况下,是因为升级的软件包所需的新增的关联包没有安装。可使用如下方法解决:# apt-get dist-upgrade 如果这招无效,可以重复下面的方法至到问题解决:# apt-get upgrade -f # continue upgrade

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号