Linux之dpkg--命令的用法

发布于:2025-07-21 ⋅ 阅读:(14) ⋅ 点赞:(0)

原文网址:Linux之dpkg--命令的用法-CSDN博客

简介

本文介绍Linux的dpkg命令的用法。

dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除。

所有源自"Debian"的Linux的发行版都使用 dpkg,   例如:Ubuntu、Knoppix 等。deb包扩展名为.deb。

dpkg和apt的区别

  • dpkg 仅用于安装本地的软件包,安装时不会安装依赖包,不解决依赖问题。 
  • apt 默认会从远程仓库搜索包的名字,下载并安装,安装时会自动安装依赖包,并解决依赖问题。 如果需要使用apt 从本地安装,需要在包名前指定路径,否则只从远程仓库查找。

参数

-i:安装软件包;
-r:删除软件包;
-P:删除软件包的同时删除其配置文件;
-L:显示于软件包关联的文件;
-l:显示已安装软件包列表;
--unpack:解开软件包;
-c:显示软件包内文件列表;
--confiugre:配置软件包。

示例

dpkg -i package.deb     #安装包
dpkg -r package         #删除包
dpkg -P package         #删除包(包括配置文件)
dpkg -L package         #列出与该包关联的文件
dpkg -l package         #显示该包的版本
dpkg --unpack package.deb  #解开deb包的内容
dpkg -S keyword            #搜索所属的包内容
dpkg -l                    #列出当前已安装的包
dpkg -c package.deb        #列出deb包的内容
dpkg --configure package   #配置包

dpkg -l

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

xxx@yyy:/work/tmp/key$ dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                       Version                             Architecture Description
+++-==========================================-===================================-============-========================================================================>
ii  accountsservice                            0.6.55-0ubuntu12~20.04.6            amd64        query and manipulate user account information
ii  acl                                        2.2.53-6                            amd64        access control list - utilities
ii  acpi-support                               0.143                               amd64        scripts for handling many ACPI events
ii  acpid                                      1:2.0.32-1ubuntu1                   amd64        Advanced Configuration and Power Interface event daemon
ii  adduser                                    3.118ubuntu2                        all          add and remove users and groups
ii  adwaita-icon-theme                         3.36.1-2ubuntu0.20.04.2             all          default icon theme of GNOME (small subset)
ii  alsa-base                                  1.0.25+dfsg-0ubuntu5                all          ALSA driver configuration files
ii  alsa-topology-conf                         1.2.2-1                             all          ALSA topology configuration files
ii  alsa-ucm-conf                              1.2.2-1ubuntu0.1                    all          ALSA Use Case Manager configuration files
ii  alsa-utils                                 1.2.2-1ubuntu1                      amd64        Utilities for configuring and using ALSA
ii  amd64-microcode                            3.20191218.1ubuntu1.2               amd64        Processor microcode firmware for AMD CPUs
ii  anacron                                    2.3-29                              amd64        cron-like program that doesn't go by time
ii  apg                                        2.2.3.dfsg.1-5                      amd64        Automated Password Generator - Standalone version
ii  app-install-data-partner                   19.04                               all          Application Installer (data files for partner applications/repositories)
ii  apparmor                                   2.13.3-7ubuntu5.1                   amd64        user-space parser utility for AppArmor
ii  apport                                     2.20.11-0ubuntu27.26                all          automatically generate crash reports for debugging
ii  apport-gtk                                 2.20.11-0ubuntu27.26                all          GTK+ frontend for the apport crash report system
ii  apport-symptoms                            0.23                                all          symptom scripts for apport
ii  appstream                                  0.12.10-2                           amd64        Software component metadata management
ii  apt                                        2.0.2ubuntu0.2                      amd64        commandline package manager

该命令每行输出中的第一列 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 表示该软件已经被删除,但配置文件未清理。

网站公告

今日签到

点亮在社区的每一天
去签到