常用包管理三类工具: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_http://www.aliyun.com/zixun/aggregation/11696.html">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 的软件包,后面不再指出
常用包管理三类工具:dpkg、apt和aptitude的更多相关文章
- visual studio NuGet 常用包管理命令
visual studio NuGet 常用包管理命令 查找包 Find-Package [包名] Find-Package [包名] -AllVersions 安装包 Install-Package ...
- Ubuntu 软件包管理工具 dpkg, APT 的一些命令(转载)
转载地址: http://www.dreamxu.com/ubuntu-package-dpkg-and-apt-commands/ dpkg dpkg 是由 Debian 开发的包管理系统,是一个比 ...
- composer 常用包管理工具
名称 用途说明 说明地址 mashape/unirest-php 简单易用的HTTP请求库 官网地址 guzzlehttp/guzzle 功能强大的HTTP请求库 文档 hassankhan/conf ...
- Windows包管理工具-Chocolatey
Chocolatey是一款专为Windows系统开发的.基于NuGet的包管理器工具,类似于Node.js的npm,MacOS的 brew,Ubuntu的 apt-get,简称为 choco. Cho ...
- [转载]Linux软件包及dpkg\apt等方法
Linux软件安装 来源:https://segmentfault.com/a/1190000011200004?share_user=1030000007255638 一.安装包分类 在Linux平 ...
- 【Linux相识相知】rpm包管理
我们日常在使用Windows的时候,如果要安装某个软件,最简单的方法就是在程序包的官网直接下载软件包到本地,一般是以.exe或者.msi格式的文件,然后一直下一步下一步就能安装成功了,但是在使用lin ...
- debian系统的另一个包管理器aptitude
最近在玩OPI的时候遇到了一个包因为各种依赖问题死活装不上.苦搜很久找到这个aptitude包管理器. 基于debain衍生的各种操作系统比较常用包管理器是apt,不过apt在遇到依赖问题的时候处理得 ...
- JavaScript包管理器综述
JavaScript包管理器综述 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 对于JavaScript来说.包管理器 ...
- Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]
0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...
随机推荐
- .net4.5使用async和await异步编程实例
关于异步编程的简单理解: 在.NET4.5中新增了异步编程的新特性async和await,使得异步编程更为简单.通过特性可以将这项复杂的工作交给编译器来完成了.之前传统的方式来实现异步编程较为复杂,这 ...
- Windows 以管理员运行而不提示
组策略中设置一下:“计算机配置”-“Windows 配置”-“安全设置”-“本地策略”-“安全选项”下:修改“用户帐户控制: 在管理审批模式下管理员的提升提示行为”选项为“提示凭据”就会再弹出提示框了 ...
- 重复代码检查工具simian的基本用法
simian是一个检查重复代码的工具,支持通过命令行和UI方式来检查代码,可以检查多种语言(比如C\C++, java, c#等)的代码,常见的编程语言都支持,下面先来看看如何使用命令行来检查c++重 ...
- linux如何查看一个进程的堆栈
转自:http://blog.csdn.net/nanjingligong/article/details/8624739 方法一:pstack pidNAME pstack - prin ...
- new、delete、以及queue类
本来以为很容易的,结果还是写了我两个小时. 用指针模拟queue类,再加上类,各种错误,总算是解决掉了-- #include<iostream> #include<cstdlib&g ...
- whatweb.rb 未完待续
#!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$ ...
- 10G整数,找出中位数
摘自: http://www.cnblogs.com/avril/archive/2012/04/20/2460805.html http://blog.csdn.net/flyinghearts/a ...
- java框架篇---Struts入门
首先理解Struts与MVC的关系 在传统的MVC模式中所有的请求都要先交给Servlet处理,之后由Servlet调用JavaBean,并将结果交给JSP中进行显示.结构图如下 Struts是Apa ...
- FileNet P8 Content Engine 的分布式部署架构
摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1307wanghaining/ 前言 对于集团公司,企业内 ...
- maprduce 中reduce数量
@Override public int getPartition(Text key, FlowBean value, int numPartitions) { String prefix = key ...