【转】Ubuntu apt与dpkg软件包管理

Ubuntu 是建立在 Debian 基础上的 Linux 发行版本,保留了 Debian 的优秀特性,比如 Dpkg 和 APT 机制,对于原来的 Debian 用户来说,可以无障碍的迁移到 Ubuntu,而对于 Ubuntu 新手,熟悉 APT 和 Dpgk 是很重要的一步。

1、下载并安装所有包裹,同时包括升级操作,如果某个包裹被设置了 hold (停止标志,就会被搁在一边,即不会被升级):

Ubuntop:~$ sudo apt-get install
2、卸载指定包裹以及任何倚赖这个包裹的其它包裹:

Ubuntop:~$ sudo apt-get remove [--purge]
—purge 指明这个包裹应该被完全清除(包括配置文件),更多信息请看 dpkg -P。

3、升级来自 Ubuntu/Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了 /etc/apt/sources.list 后,必须执行:

Ubuntop:~$ sudo apt-get updateUbuntop:~$ sudo apt-get upgrade [-u]Ubuntop:~$ sudo apt-get dist-upgrade [-u]
升 级所有已经安装的包裹为最新可用版本,不会安装新的或移除老的包裹;如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold。 apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思)。请看下文如何手动设置包裹为 hold。建议同时使用 '-u’ 选项,因为这样你就能看到哪些包裹将会被升级。
dist-upgrade 和 upgrade 类似,除了 dist-upgrade 会安装和卸载包裹来满足倚赖关系,因此具有一定的危险性。

4、根据关键字搜索包裹:

Ubuntop:~$ sudo apt-cache search keywords
5、显示包裹的完整描述:

Ubuntop:~$ sudo apt-cache show package_name
6、显示包裹细节信息,包括和其它包裹的关系:

Ubuntop:~$ sudo apt-cache showpkg package_name
APT 有几个图形前端:dselect,console-apt,aptitude,gnome-apt(其中一些在使用前得先安装)。其中 dselect 无疑是最强大的,也是最古老,最难驾驭,具体可以参考 Debian 手册。

7、如果你手动下载了一个 .deb 包,通过以下命令安装 Debian 包裹文件:

Ubuntop:~$ sudo dpkg -i debfilename
8、列出包裹包含的内容:

Ubuntop:~$ sudo dpkg -c debfilename
9、从 .deb 文件中提取包裹信息:

Ubuntop:~$ sudo dpkg -I debfilename
10、卸载一个已安装的包裹:

Ubuntop:~$ sudo dpkg -r packagename
11、完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件:

Ubuntop:~$ sudo dpkg -P packagename
12、列出包裹安装的所有文件清单。(同时请看 dpkg -c 来检查一个 .deb 文件的内容):

Ubuntop:~$ sudo dpkg -L packagename
13、显示已安装包裹的信息:

Ubuntop:~$ sudo dpkg -s
14、重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面),你能够重新配制 debconf 它本身:

Ubuntop:~$ sudo dpkg-reconfigure packagename
15、获取软件包裹状态:

Ubuntop:~$ sudo dpkg --get-selections | grep keyname
16、设置软件包裹状态,比如 HOLD 某个包裹不允许升级:

Ubuntop:~$ echo "packagename hold" | sudo dpkg --set-selections
17、从 HOLD 状态恢复软件包裹标志位:

Ubuntop:~$ echo "packagename install" | sudo dpkg --set-selections
18、修正依赖关系损坏的包裹:

Ubuntop:~$ sudo apt-get -f install
更多相关帮助可以参考 Debian 文档,或者包含中文版的 Debian 参考手册。

猜你喜欢

转载自wanghailiang.iteye.com/blog/1651510