apt-get:

apt-get 命令适用于 deb 包管理式的 Linux 操作系统(Debian、Ubuntu等),主要用于自动从互联网软件仓库中搜索、下载、安装、升级、卸载软件或操作系统。

Ubuntu 软件包查找: https://packages.ubuntu.com/

1.安装软件包

apt-get install PackageName                 // 普通安装
apt-get install PackageName=VersionName     // 安装指定包的指定版本
apt-get --reinstall install PackageName     // 重新安装

apt-get build-dep PackageName               // 安装源码包所需要的编译环境
apt-get -f install                          // 修复依赖关系

apt-get source PackageName                  // 下载软件包的源码

2. 卸载软件包

apt-get remove PackageName              // 删除软件包, 保留配置文件

apt-get --purge remove PackageName      // 删除软件包, 同时删除配置文件
apt-get purge PackageName               // 删除软件包, 同时删除配置文件

apt-get autoremove PackageName          // 删除软件包, 同时删除为满足依赖
                                        // 而自动安装且不再使用的软件包

apt-get --purge autoremove PackageName  // 删除软件包, 删除配置文件,
                                        // 删除不再使用的依赖包

apt-get clean && apt-get autoclean      // 清除 已下载的软件包 和 旧软件包

3. 更新软件包

apt-get update                  // 更新安装源(Source)
apt-get upgrade                 // 更新已安装的软件包
apt-get dist-upgrade            // 更新已安装的软件包(识别并处理依赖关系的改变)

4. 查询软件包

dpkg -l                             // 列出已安装的所有软件包

apt-cache search PackageName        // 搜索软件包
apt-cache show PackageName          // 获取软件包的相关信息, 如说明、大小、版本等

apt-cache depends PackageName       // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName      // 查看该软件包被哪些包依赖

apt-get check                       // 检查是否有损坏的依赖

5. apt-get --help

执行命令: apt-get --help,输出:


dpkg:

dpkg 即 package manager for Debian ,是 Debian 和基于 Debian 的系统中一个主要的包管理工具,可以用来安装、构建、卸载、管理 deb 格式的软件包。

1.安装软件

使用 dpkg 命令安装软件时,可以使用 -i 选项并指定 deb 安装包的路径。和 Ubuntu 下的另一个包管理工具 apt-get(Advanced Package Tool)有所不同。apt-get 命令并不直接操作 deb 安装包文件,而是从 /etc/apt/sources.list 配置文件中定义的软件镜像源里下载软件包并安装,使用时也只需指定软件的名称(或者也可以附加上版本号)。

apt-get 命令安装软件:$ sudo  apt-get install

dpkg 命令安装软件:$ sudo dpkg -i

因此,dpkg 主要是用来安装已经下载到本地的 deb 软件包,或者对已经安装好的软件进行管理。而 apt-get 可以直接从远程的软件仓库里下载安装软件。

2.列出已安装的软件

可以使用 dpkg -l 命令列出当前系统中已经安装的软件以及软件包的状态。如:

$ dpkg -l

该命令每行输出中的第一列 ii 表示软件包的安装和配置状态,其格式如下:

期望状态|当前状态|错误

其中期望状态有以下几种:

u:即 unknown,软件包未安装且用户未请求安装
i:即 install,用户请求安装该软件包
r:即 remove,用户请求卸载该软件包
p:即 purge,用户请求卸载该软件包并清理配置文件
h:即 hold,用户请求保持续当前软件包版本

当前状态 有以下几种:

n:即 not-installed,软件包未安装
i:即 installed,软件包已安装并完成配置
c:即 config-files,软件包已经被卸载,但是其配置文件未清理
u:即 unpacked,软件包已经被解压缩,但还未配置
f:即 half-configured,配置软件包时出现错误
w:即 triggers-awaited,触发器等待
t:即 triggers-pending,触发器未决

错误状态 有以下几种:

h:软件包被强制保持
r:即 reinstall-required,需要卸载并重新安装
x:软件包被破坏

因此 ii 表示该软件需要安装且已经安装,没有出现错误;
iu 表示已经安装该软件,但未正确配置;
rc 表示该软件已经被删除,但配置文件未清理。
查看处于 rc 状态的软件包:

此外,还可以使用 dpkg -l 命令筛选出名称中包含指定模式的软件包。

3.卸载软件

dpkg 命令的 -r 选项可以用来卸载已安装的软件包,此时只需要指定软件的名称即可。

$ sudo dpkg -r vim
(正在读取数据库 ... 系统当前共安装有 252653 个文件和目录。)
正在卸载 vim (2:8.1.0320-1ubuntu3.1) ...
update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/vi (vi)
update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/view (view)
update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/ex (ex)
update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/rview (rview)

需要注意的是,-r 选项只会移除指定的软件包而不对其配置文件产生影响,
可以使用 -P 选项在删除软件包的同时清理配置文件。
sudo dpkg -P

4.其他包管理操作
查看软件包的内容
dpkg -c <package_file_path>

$ dpkg -c fping_4.2-1_amd64.deb
drwxr-xr-x root/root         0 2019-02-20 06:27 ./
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/bin/
-rwxr-xr-x root/root     52128 2019-02-20 06:27 ./usr/bin/fping
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/bug/
-rwxr-xr-x root/root       118 2017-06-19 05:19 ./usr/share/bug/fping
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/doc/
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/doc/fping/
-rw-r--r-- root/root       495 2017-09-06 08:00 ./usr/share/doc/fping/NEWS.Debian.gz
-rw-r--r-- root/root      1615 2019-02-20 06:27 ./usr/share/doc/fping/changelog.Debian.gz
-rw-r--r-- root/root      3445 2017-12-07 04:09 ./usr/share/doc/fping/copyright
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/lintian/
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/lintian/overrides/
-rw-r--r-- root/root        41 2017-06-19 05:19 ./usr/share/lintian/overrides/fping
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/man/
drwxr-xr-x root/root         0 2019-02-20 06:27 ./usr/share/man/man8/
-rw-r--r-- root/root      5733 2019-02-20 06:27 ./usr/share/man/man8/fping.8.gz
-rw-r--r-- root/root      1512 2019-02-20 06:27 ./usr/share/man/man8/fping6.8.gz
lrwxrwxrwx root/root         0 2019-02-20 06:27 ./usr/bin/fping6 -> fping

查看软件包(已安装)的详细信息

dpkg -s <package> 或 dpkg --status <package>
$ dpkg -s fping
Package: fping
Status: deinstall ok installed
Priority: optional
Section: net
Installed-Size: 87
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 4.2-1
Depends: libcap2-bin, netbase, libc6 (>= 2.15)
Enhances: netdata (>= 1.5)
Description: sends ICMP ECHO_REQUEST packets to network hosts
 fping is a ping like program which uses the Internet Control Message Protocol
 (ICMP) echo request to determine if a target host is responding.  fping
 differs from ping in that you can specify any number of targets on the command
 line, or specify a file containing the lists of targets to ping.  Instead of
 sending to one target until it times out or replies, fping will send out a
 ping packet and move on to the next target in a round-robin fashion.
Original-Maintainer: Axel Beckert <abe@debian.org>
Homepage: https://www.fping.org/

查看软件包的安装位置

dpkg -L <package> 或 dpkg --list-files <package>
$ dpkg -L fping
/.
/usr
/usr/bin
/usr/bin/fping
/usr/share
/usr/share/bug
/usr/share/bug/fping
/usr/share/doc
/usr/share/doc/fping
/usr/share/doc/fping/NEWS.Debian.gz
/usr/share/doc/fping/changelog.Debian.gz
/usr/share/doc/fping/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/fping
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/fping.8.gz
/usr/share/man/man8/fping6.8.gz
/usr/bin/fping6

筛选出包含指定文件(模式)的软件包

dpkg -S <filename_pattern> 或 dpkg --search <filename_pattern>
$ dpkg -S sites-available
apache2: /etc/apache2/sites-available/default-ssl.conf
apache2: /etc/apache2/sites-available/000-default.conf
nginx-common: /etc/nginx/sites-available
nginx-common: /etc/nginx/sites-available/default
apache2: /etc/apache2/sites-available

Ubuntu 系统apt-get和 dpkg 命令使用详解相关推荐

  1. route命令linux详解,Linux系统运维关于route命令的详解

    Linux系统运维涉及到各方面的知识,比如工作中需要测试网络环境,本文介绍Linux系统运维关于Linux测试工具route的使用方法,希望能给大家的工作带来一定更多帮助. 在配置网络时,要为机器指定 ...

  2. linux中which命令详解,Linux下which命令使用详解(转)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...

  3. ubuntu系统下如何安装yum命令

    本次使用了win10下面自带的免费ubuntu系统,不带yum命令,用起来有些不爽,自己安装搞定. 1.如何寻找镜像源 国内一个好的镜像源是清华做的,网址https://mirrors.tuna.ts ...

  4. ubuntu系统关机、重启等命令

    ubuntu系统关机.重启等命令 关机命令: 1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 20 ...

  5. linux系统里route -n不起作用,Linux系统中traceroute命令使用详解

    Linux系统中traceroute命令可以追踪到网络数据包的路由途径.下面由学习啦小编为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助! Linux系统中tracero ...

  6. java linux tracert_Linux系统中tracert命令使用详解

    Linux系统中Tracert命令用来显示数据包到达目标主机是所经过的路径.下面由学习啦小编为大家整理了linux系统中tracert命令使用详解,希望对大家有帮助! Linux系统中tracert命 ...

  7. linux的常用的wc命令,Linux系统中wc命令使用详解

    Linux系统中wc命令是统计文件文本的字节数等并显示输出.下面由学习啦小编为大家整理了linux系统中wc命令使用详解,希望对大家有帮助! Linux系统中wc命令使用详解 Linux系统中的wc( ...

  8. linux tftp客户端安装命令,Linux系统中tftp命令使用详解

    Linux系统中tftp命令主要是传输文件用的.下面由学习啦小编为大家整理了linux系统中tftp命令使用详解,希望对大家有帮助! Linux系统中tftp命令使用详解 语法 tftp [主机名称或 ...

  9. Linux新手常用命令大全详解

    Linux常用命令大全详解 Linux基本常用命令 cd /home 进入 '/ home' 目录' ls 查看目录中的文件 rm -f file1 删除一个叫做 'file1' 的文件' vi fi ...

最新文章

  1. [HAOI2015]按位或
  2. 终止线程的2种方法。标记法和中断
  3. android变量要不要附空值,android-如何在使用Parcelable时序列化空值
  4. 力扣20-有效的括号(C++,附思路)
  5. python3 + selenium + (chrome and firefox)使用
  6. java中的保留n位小数
  7. 买茶叶想到的哪个比较便宜 x1/y1 x2/y2 x代表多少钱 y代表 多少克 无聊的试炼...
  8. 中国IP网通IP地址段
  9. PreferenceScreen的应用
  10. Ubuntu安装mysql-8.0.20-linux-glibc2.12-i686.tar.xz 步骤
  11. 一 ARM9(S3C2440)的中断系统——理论知识
  12. matlab中polyfit与polyval的功能
  13. 十二黄金圣斗士阴险程度(爆笑)
  14. 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】
  15. Python正则re模块详解
  16. 在java中使用openCV遍历红色,像素遍历(仅限java)
  17. c++中的 templateclass Type
  18. 大数运算(4)——大数乘法
  19. php后门工具_教你识别简单的免查杀PHP后门
  20. android官方上拉加载,Android-RecycleView上拉加载更多

热门文章

  1. 几款名壶的来历(图片)
  2. python医学图像分割_医学图像分割如何入门?
  3. Error resolving template XXX, template might not exist or might not be accessible by any of the.....
  4. 全世界B站API接口大合集!
  5. Spring+Vue房屋租赁租房系统
  6. redash开发环境搭建
  7. 面向计算机视觉的深度学习:1~5
  8. 中国最有钱大学排行,北大只能排第三
  9. HTML --- 开发工具篇(Hbuilder X)以及相关标签
  10. 心动公司:重磅新品表现不俗,产品周期全面兑现