前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >15个基于Debian/Ubuntu系统dpkg命令实例

15个基于Debian/Ubuntu系统dpkg命令实例

作者头像
入门笔记
发布2022-06-02 15:32:17
4330
发布2022-06-02 15:32:17
举报
文章被收录于专栏:入门小站
dpkg 命令

dpkgDebian Packager的简写。为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自DebianLinux发行版都会使用 dpkg,例如 UbuntuKnoppix等。

dpkg是Debian系统的后台包管理器,类似RPM。也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包。由于ubuntu和Debian乃一脉相承,所以很多命令是不分彼此的。

1. 安装包

要安装 .deb包,使用带有-i选项。例如,要安装.deb包称为nginx_1.16.0-1~trusty_amd64.deb使用以下命令。

代码语言:javascript
复制
[rumenz@local~]# dpkg -i nginx_1.16.0-1~trusty_amd64.deb

2. 列出所有已安装的包

要查看和列出所有已安装的软件包,请使用-l选项以及命令。

代码语言:javascript
复制
[rumenz@local~]# dpkg -l

要查看已安装的特定软件包或不使用选项 -l 连同包名。例如,检查是否apache2包安装与否。

代码语言:javascript
复制
[rumenz@local~]# dpkg -l apache2
代码语言:javascript
复制
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  apache2                                2.2.22-6ubuntu5.1        i386            Apache HTTP Server metapackage

3. 删除一个包

要删除.deb 包,我们必须指定包名 nginx,不是原来的名字 nginx_3.2_i386.deb-r选项用于remove/uninstall

代码语言:javascript
复制
[rumenz@local~]# dpkg -r nginx

也可以使用 p选项代替r这将删除包和配置文件。这 r 选项只会删除包而不是配置文件。

代码语言:javascript
复制
[rumenz@local~]# dpkg -p nginx

4. 查看包的内容

要查看特定包的内容,请使用 -c 选项如图所示。该命令将显示 .deb 长列表格式的包。

代码语言:javascript
复制
[rumenz@local~]# dpkg -c nginx_3.2_i386.deb
代码语言:javascript
复制
drwxr-xr-x root/root         0 2012-12-14 22:54 ./
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/mozilla/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/nginx/
-rw-r--r-- root/root      3920 2009-09-09 22:51 ./usr/lib/nginx/pubkey.asc
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/man/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/man/man8/
-rw-r--r-- root/root       716 2012-12-14 22:54 ./usr/share/man/man8/update-nginx.8.gz
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/applications/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/icons/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/icons/hicolor/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/
....

5. 检查包是否安装

使用 -s 带有包名的选项,将显示是否安装了deb包。

代码语言:javascript
复制
[rumenz@local~]# dpkg -s nginx

6. 检查安装包的位置

从包名列出要安装到系统的文件的位置。

代码语言:javascript
复制
[rumenz@local~]# dpkg -L nginx
代码语言:javascript
复制
/.
/usr
/usr/bin
/usr/lib
/usr/lib/mozilla
/usr/lib/mozilla/plugins
/usr/lib/nginx
/usr/lib/nginx/pubkey.asc
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/update-nginx.8.gz
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
...

7. 从目录安装所有包

递归安装所有匹配模式 * 的常规文件.deb 在指定目录及其所有子目录中找到。这可以与 -R–install 选项。例如,我将安装所有 .deb 来自名为debpackages的目录的包。

代码语言:javascript
复制
[rumenz@local~]# dpkg -R --install debpackages/
代码语言:javascript
复制
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace nginx 1:3.2 (using .../nginx_3.2_i386.deb) ...
Unpacking replacement nginx ...
Setting up nginx (1:3.2) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...

8. 解压包但不要配置

使用动作 –unpack 将解压包。

代码语言:javascript
复制
[rumenz@local~]# dpkg --unpack nginx_3.2_i386.deb
代码语言:javascript
复制
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace nginx 1:3.2 (using nginx_3.2_i386.deb) ...
Unpacking replacement nginx ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...

9. 重新配置一个解压包

选项 –configure 将重新配置一个已经解压的包。

代码语言:javascript
复制
[rumenz@local~]# dpkg --configure nginx
代码语言:javascript
复制
Setting up nginx (1:3.2) ...

10. 替换可用的包信息

–-update-avail 选项用包文件中的可用信息替换旧信息。

代码语言:javascript
复制
[rumenz@local~]# dpkg –-update-avail package_name

11. 擦除包的现有可用信息

–clear-avaial 将删除有关可用软件包的当前信息。

代码语言:javascript
复制
[rumenz@local~]# dpkg –-clear-avail

12. 忘记卸载和不可用的包

–forget-old-unavail 将自动忘记已卸载和不可用的软件包。

代码语言:javascript
复制
[rumenz@local~]# dpkg --forget-old-unavail

13. 显示 dpkg 许可证

代码语言:javascript
复制
[rumenz@local~]# dpkg --licence

14. 显示 dpkg 版本

–version 参数将显示dpkg版本信息。

代码语言:javascript
复制
[rumenz@local~]# dpkg –version
代码语言:javascript
复制
Debian `dpkg' package management program version 1.16.10 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

15. 获取有关 dpkg 的所有帮助

–help 选项将显示dpkg命令的可用选项列表。

代码语言:javascript
复制
[rumenz@local~]# dpkg –help
代码语言:javascript
复制
Usage: dpkg [<option> ...] <command>

Commands:
  -i|--install       <.deb file name> ... | -R|--recursive <directory> ...
  --unpack           <.deb file name> ... | -R|--recursive <directory> ...
  -A|--record-avail  <.deb file name> ... | -R|--recursive <directory> ...
  --configure        <package> ... | -a|--pending
  --triggers-only    <package> ... | -a|--pending
  -r|--remove        <package> ... | -a|--pending
  -P|--purge         <package> ... | -a|--pending
  --get-selections [<pattern> ...] Get list of selections to stdout.
  --set-selections                 Set package selections from stdin.
  --clear-selections               Deselect every non-essential package.
  --update-avail <Packages-file>   Replace available packages info.
  --merge-avail <Packages-file>    Merge with info from file.
  --clear-avail                    Erase existing available info.
  --forget-old-unavail             Forget uninstalled unavailable pkgs.
  -s|--status <package> ...        Display package status details.
...

相关文章

linux中20个yum包管理命令

linux中RPM命令的20个实际示例

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dpkg 命令
  • 1. 安装包
  • 2. 列出所有已安装的包
  • 3. 删除一个包
  • 4. 查看包的内容
  • 5. 检查包是否安装
  • 6. 检查安装包的位置
  • 7. 从目录安装所有包
  • 8. 解压包但不要配置
  • 9. 重新配置一个解压包
  • 10. 替换可用的包信息
  • 11. 擦除包的现有可用信息
  • 12. 忘记卸载和不可用的包
  • 13. 显示 dpkg 许可证
  • 14. 显示 dpkg 版本
  • 15. 获取有关 dpkg 的所有帮助
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档