文档章节

Ubuntu 包管理命令大全

w
 wangdy
发布于 2016/06/16 15:41
字数 965
阅读 42
收藏 2

1. 检查是否安装了一个特定的包
dpkg -s package-name
dpkg-query -l package-name

2. 列出系统安装的所有包
dpkg --get-selections | grep package-name

3. 使用“-L”参数找出包中文件的位置
dpkg -L package-name

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ubuntu的包管理方式简介(apt-get、dpkg、aptitude)
apt-cache search package    #搜索包(相当于yum list | grep pkg)
apt-cache show package      #显示包的相关信息,如说明、大小、版本等
apt-cache showpg package    #显示包的相关信息,如Reverse Depends(反向依赖)、依赖等
apt-get install package       #安装包
apt-get reinstall package     #重新安装包
apt-get -f install package    #强制安装
apt-get remove package        #删除包(只是删掉数据和可执行文件,不删除配置文件)
apt-get remove --purge package       #删除包,包括删除配置文件等
apt-get autoremove --purge package   #删除包及其依赖的软件包+配置文件等
apt-get update          #更新源
apt-get upgrade         #更新已安装的包
apt-get dist-upgrade    #升级系统
apt-get dselect-upgrade        #使用 dselect 升级
apt-cache depends package      #了解使用依赖
apt-cache rdepends package     #查看该包被哪些包依赖
apt-get build-dep package   #安装相关的编译环境
apt-get source package      #下载该包的源代码
apt-get clean && apt-get autoclean  #清理下载文件的存档 && 只清理过时的包
apt-get check             #检查是否有损坏的依赖
dpkg -S filename          #查找filename属于哪个软件包
apt-file search filename  #查找filename属于哪个软件包
apt-file list packagename #列出软件包的内容
apt-file update           #更新apt-file的数据库
dpkg -l      #列出当前系统中所有的包.可以和参数less一起使用在分屏查看(类似于rpm -qa)
dpkg -l |grep -i "pkg"   #查看系统中与"pkg"相关联的包(类似于rpm -qa | grep pkg)
dpkg -s pkg  #查询一个已安装的包的详细信息(类似于rpm -qi)
dpkg -L pkg  #查询一个已安装的软件包释放了哪些文件(类似于rpm -ql)
dpkg -S file     #查询系统中某个文件属于哪个软件包(类似于rpm -qf)
dpkg -c pkg.deb  #查询一个未安装的deb包将会释放哪些文件(类似于rpm -qpl)
dpkg -I pkg.deb  #查看一个未安装的deb包的详细信息(类似于rpm -qpi)
dpkg -i pkg.deb  #手动安装软件包(不能解决软依赖性问题,可以用apt-get -f install解决)
dpkg -r pkg      #卸载软件包(不是完全的卸载,它的配置文件还存在)
dpkg -P pkg      #全部卸载(不能解决依赖性的问题)
dpkg-reconfigure pkg     #重新配置
dpkg -x pkg.deb dir      #将一个deb包解开至dir目录
dpkg --pending --remove  #移除多余的软件

强制安装一个包(忽略依赖及其它问题)
dpkg --force-all -i pkg.deb    #可以参考dpkg --force-help
 
强制卸载一个包
dpkg --force-all -P pkg
此外,Ubuntu还有另外一个包管理工具aptitude,以下是常见用法

aptitude update   #更新可用的包列表 
aptitude upgrade  #升级可用的包 
aptitude dist-upgrade     #将系统升级到新的发行版 
aptitude install pkgname  #安装包 
aptitude remove pkgname   #删除包 
aptitude purge pkgname    #删除包及其配置文件 
aptitude search string    #搜索包(相当于yum list | grep pkg,重要)
aptitude show pkgname     #显示包的详细信息 (相当于yum info pkg,重要)
aptitude clean            #删除下载的包文件 
aptitude autoclean        #仅删除过期的包文件 
aptitude与apt-get是互相补充的,有一些功能双方没有。

aptitude的优势: install, remove, reinstall(apt-get无此功能), show(apt-get无此功能), search(apt-get无此功能), hold(apt-get无此功能), unhold(apt-get无此功能)

apt-get的优势: source(aptitude无此功能), build-dep(低版本的aptitude没有build-dep功能)

apt-get与aptitude一样的地方:update, upgrade (apt-get upgrade=aptitude safe-upgrade, apt-get dist-upgrade=aptitude full-upgrgade)

此外,如果要搜索网络上的bzip2软件包,用apt-cache search bzip2,会搜索出很多杂乱的东西,而aptitude search bzip2结果则精确的多。因为apt-cache根据全文匹配(包含描述等),而aptitude是根据文件名来匹配。

© 著作权归作者所有

共有 人打赏支持
下一篇: vi tips
w
粉丝 8
博文 185
码字总数 115352
作品 0
闵行
后端工程师
私信 提问
Linux软件包管理基本操作入门

导读 大多数现代类 Unix 操作系统都提供了一个集中的软件包管理机制,以帮助用户搜索、安装和管理软件。而软件通常以「包」的形式存储在仓库「repository」中,对软件包的使用和管理被称为包...

linuxprobe16
2016/12/28
4
0
linux包管理命令有哪些?(教程篇)

对于linux新手,看http://www.vpser.net/vps-howto和winscp 之后就是错综复杂的包管理命令了. aptitude有图文教程 站内有rpm,debian,apt-get,dpkg 感觉还是很混杂.想请熟悉的朋友各自发一段教...

seau
2014/04/10
178
0
(九)Linux学习笔记-常用软件包管理

(九)Linux学习笔记-常用软件包管理 常用的软件包管理 以下为Red Hat系列Linux的命令集,我使用的Centos7.5版本。 常用的软件包管理 在CentOS中常用的软件管理有三种: 1、RPM,Redhat公司开...

Super_RD
2018/12/27
0
0
把玩Alpine linux(二):APK包管理器

Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置 Alpine Linux的优劣 优势 Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整...

Linux就该这么学
03/05
0
0
Yum中实现与apt-get install build-essential功能类似的命令

在Ubuntu中安装完系统后,可以直接使用apt-get install build-essential命令安装常用的开发编译工具包。在诸如CentOS这样的使用Yum包管理的系统中,其实也有类似的实现方法。解决方案是使用如...

鄂世嘉
2014/09/24
0
6

没有更多内容

加载失败,请刷新页面

加载更多

再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
C++网络编程(一)gRPC的编译

Google是真滴烦,整个编译链全是自家产品,在编译之前先来安装一堆东西 安装环境依赖 chocolatey Windows下的包管理系统,没有他就慢慢去下载下面的一堆乱七八糟的东西吧。CMD下执行下面这句...

Pulsar-V
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0
手机通过wifi遥控arduino

手机下载Blinker 从Blinker官网下载手机App,安装到手机。 手机连接WiFi。 点击我的设备右上角的"+"添加设备,选择Arduino -> wifi接入,复制密钥以备后续使用。 点击新建的设备,可以在新界...

davidwbnu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部