Linux下dpkg命令常用方法整理

乐清SEO_开发应用_linux_ 乐清SEO2021-04-09 转载自:

如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg。

dpkg命令是Debian 系统用来安装、创建和管理软件包的实用工具。

语法
 

dpkg(选项)(参数)

选项
 

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

参数
 

Deb软件包:指定要操作的.deb软件包。

实例
 

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命令常用格式如下:
 

复制代码 代码如下:

sudo dpkg -I iptux.deb# 查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于–info)

复制代码 代码如下:

sudo dpkg -c iptux.deb# 查看iptux.deb软件包中包含的文件结构(其中-c等价于–contents)

复制代码 代码如下:

sudo dpkg -i iptux.deb# 安装iptux.deb软件包(其中-i等价于–install)

复制代码 代码如下:

sudo dpkg -l iptux# 查看iptux软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于–list)

复制代码 代码如下:

sudo dpkg -L iptux# 查看iptux软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于–listfiles)

复制代码 代码如下:

sudo dpkg -s iptux# 查看iptux软件包的详细信息(软件名称可通过dpkg -I命令查看,其中-s等价于–status)

复制代码 代码如下:

sudo dpkg -r iptux# 卸载iptux软件包(软件名称可通过dpkg -I命令查看,其中-r等价于–remove)

 

另外还有几个常见的用法:

解包:
 

复制代码 代码如下:

dpkg --unpack package_file
该命令仅对“package_file“进行解包操作,不会执行包配置工作。

 

配置包:
 

复制代码 代码如下:

dpkg --configure package

 

获取、设置、清除包的选择状态:
      

复制代码 代码如下:
dpkg --get-selections [package]
          输出到标准输出,可以使用管道或重定向。
      
复制代码 代码如下:
dpkg --set-selections
          从标准输入获取,可以使用管道或重定向。
      
复制代码 代码如下:
dpkg --clear-selections
          将所有包都标记为卸载。

 

选项:
-B
--auto-deconfigure
卸载包时,自动把依赖于被卸载的包的所有包也卸载掉。

--no-act
--dry-run
--simulate
仅用于测试,得到输出,不对系统进行任何修改。

还有一些选项指定的任务实际上是交给 dpkg-deb、dpkg-query完成的:
dpkg-deb:
          -b | --build
          -c | --contents
          -e | --control
          -x | -extract
          -f | --field
          -I | --info
          -X | --vextract

       dpkg-query
          -l | --list
          -s | --status
          -L | --listfiles
          -S | --search
          -p | --print-avail