常用包管理三类工具:dpkg、apt和aptitude

常用的包管理包含三类工具:dpkg、apt和aptitude。人们总是对前面的两个工具用得比较多,而对 aptitude 用得比较少,事实上 aptitude 是很强大的。

在这里,对这三个工具做一点总结。

dpkg 主要是对本地的软件包进行管理,本地软件包包括已经在本地安装的软件包和已经下载但还没有安装的 deb 文件,不解决依赖关系。

apt 包含了很多工具,apt-get 主要负责软件包的在线安装与升级,低层对 deb 包的处理还是用的 dpkg,解决依赖关系;apt-cache 主要用来查询软件包的状态和依赖关系;apt-file 主要负责查询软件包名称和软件包包含的文件(值得注意的是它要自己同步);apt-cross 主要负责为交叉编译的软件包的安装与编译等。apt 还包含很多工具,如 apt-offline 可以离线安装软件包,apt-build 可以简化源码编译等等,有兴趣可以学习一下 apt 开头软件包。用下面的命令可以得到所有以 apt 开头的软件包。

aptitude search ~n^apt注:~n 意思是搜索软件包名,^ 是匹配最前面

aptitude 是更强大的安装工具,有两种基本的使用方法,一种是文本界面,另一种是命令行,这里只讨论命令行操作。

下面从安装软件包的顺序来描述这些工具的使用。

查找软件包

dpkg --get-selections pattern #查找软件包名称包含 pattern 的软件包,可以在后面用 grep install/deinstall 来选择是否已经被 remove 的包(曾经安装过了的)
apt-cache search pattern #查找软件包名称和描述包含 pattern 的软件包 (可以是安装了也可以是没有安装),可以用参数来限制是否已经安装
aptitude search ~i #查找已经安装的软件包
aptitude search ~c #查找已经被 remove 的软件包,还有配置文件存在
aptitude search ~npattern #查找软件包名称包含 pattern 的软件包 (可以是安装了也可以是没有安装)
aptitude search \!~i~npattern #查找还没有安装的软件包名字包含 pattern 的软件包。(前面的 ! 是取反的意思,反划线是 escape 符号)

注:还有很多用法,可以去看看我在 forum 中写的帖子 aptitude Search Patterns[1]

apt-cache depends package #查找名称是 package 软件包的依赖关系
aptitude search ~R~npackage #查找名称是 package 软件包的依赖关系,可以同时看到是不是已经安装

apt-cache rdepends package #查找哪些软件包依赖于名称是 package 软件包
aptitude search ~D~npackage #查找哪些软件包依赖于名称是 package 软件包

dpkg -I package_">name.deb #参数是大写i,查找已经下载但末安装的 package_name.deb 软件包的信息
dpkg -l package #参数是小写L,查找已经安装软件包 package 的信息,精简
apt-cache show pattern ##查找软件包pattern的信息 (可以是安装了也可以是没有安装)
aptitude show ~npattern #显示名称是 pattern 软件包的信息(可以是安装了也可以是没有安装)

apt-cache policy pattern #显示 pattern 软件包的策略(可以是安装了也可以是没有安装)
apt-cache showpkg pattern #显示pattern 软件包的其它信息(可以是安装了也可以是没有安装)

dpkg -S pattern #查找已经安装的文件 pattern 属于哪个软件包
apt-file search pattern #查找文件 pattern 属于哪个软件包(可以是安装了也可以是没有安装)

dpkg -c package_name.deb #查找已经下载但末安装的 package.deb 软件包包含哪些文件
dpkg -L package #查找已经安装 package 软件包包含哪些文件
apt-file show pattern #查找 pattern 软件包(可以是安装了也可以是没有安装)包含哪些文件

下载软件包

apt-get install package -d #下载软件包
aptitude download pattern #同上,不同的是下载的是符合 pattern 的软件包,后面不再指出

时间: 2024-10-27 15:38:50

常用包管理三类工具:dpkg、apt和aptitude的相关文章

Paludis 0.64.3发布 包管理器工具

Paludis 0.64.3此版本修正了一个错误:一个!在||( )之内可能会导致错误.较小的分类错误的修复和编译器的兼容性变化. Paludis是一款采用类似Gentoo的ebuild系统的包管理器工具,Gentoo用户无须担心Paludis与Portage的冲突,因为两者是互相独立的.其他Linux发行版用户也可以采用这个包管理工具,作为默认工具的补充. 下载地址:http://paludis.pioto.org/download/paludis-0.64.3.tar.bz2

Paludis 0.64.2发布 包管理器工具

Paludis 0.64.2该版本绑定Python,现在包括各种附加的东西.CONFIG_PROTECT现已合并到merge-check.可使用Portage的格式配置,userpriv功能现已推出. Paludis是一款采用类似Gentoo的ebuild系统的包管理器工具,Gentoo用户无须担心Paludis与Portage的冲突,因为两者是互相独立的.其他Linux发行版用户也可以采用这个包管理工具,作为默认工具的补充. 下载地址:http://paludis.pioto.org/down

bower 强大的管理web包管理工具_其它综合

Bower介绍 bower官方地址:http://bower.io/ bower是twitter的又一个开源项目,使用nodejs开发,用于web包管理.如果越来越多得开源项目都托管在github上,bower只需要将github上项目加上一个配置文件既可以使用bower方式使用安装包.作为包管理,bower能提供添加新web包,更新web包,删除web包,发布web包功能,管理包依赖.web包通常认为由html+css+javascript构成. quick start: 解决实际问题 试想我

debian下的两种包管理工具dpkg和apt之比较

dpkg和apt这两种都是在debian下常用的包管理机制,下面具体分析一下两者的区别和用途. dpkg及apt介绍 dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件. apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具. dpkg及apt用法 dpkg的用法 dpkg -l 查看当前系统中已经安装的软件包的信息 dpkg -L (软件包名称)

Linux中Debian系包管理工具apt-get用法

虽然网络上关于Debian的包管理工具apt-get的文章已经多到爆了,文武双全还是决定要总结一下apt-get的用法大全.这个东西,作为学习linux来说特别是debian是非常有用的.Ubuntu系操作系统,也是基于debian的发行版,因此本方法也适用.apt本身是英文Advanced Package Tool的首字母缩写,译为高级包管理工具,主要用于Debian系Linux发行版的软件包查询.安装.卸载.升级等.Centos发行版,使用yum包管理工具,本方法并不适用. 命令:apt-g

Linux包管理基础:apt、yum、dnf和pkg

介绍 大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件.软件通常都是存放在存储库中,并通过包的形式进行分发.处理包的工作被称为包管理.包提供了操作系统的基本组件,以及共享的库.应用程序.服务和文档. 包管理系统除了安装软件外,它还提供了工具来更新已经安装的包.包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可. 在配置服务器或开发环境时,我们最好了解下包在官方存储库之外的情况.某个发行版的稳定版本中的包有可能已经

MySQL的常用维护管理工具

MySQL是一个非常流行的小型关系型数据库管理系统.目前MySQL被广泛地应用在Internet上的中小型 网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低 网站总体拥有成本而选择了MySQL作为网站数据库. MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具 ,这里我介绍五个我经常使用的MySQL图形化管理工具,供大家参考. 1.phpMyAdmin phpMyAdmin是最常用的MySQL维护工具,是一个

Linux包管理工具yum简介

什么是yum: Yum(全称为 Yellow dog Updater, Modified)是redhat系列linux系统的包管理工具.就是类似windows下安装软件那个下一步下一步的东西.由于linux的开源,所以linux下的软件有大量组件依赖.这导致了linux安装一个软件必须先安装各依赖包,yum就是帮助我们解决这个的. yum的基础是RPM,RPM是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是RPM软件包之间的依赖性问题往往会很

apt-offline是一个离线的APT包管理器

尽管 apt-get 安装软件那么 "cool",但它毕竟是一个在线安装工具,当没有网络时,apt-get 则显得力不从心了.考虑下面这个现实中的例子:在家里我一个装有 APT 的机器,但是没有http://www.aliyun.com/zixun/aggregation/18415.html">网络连接.在工作地方的电脑有很快的网络连接但只能使用 windows 的机器,那么我怎样继续利用强大的 ATP 工具升级的我 Ubuntu 系统呢? 这里就要用到apt-off