Linux - Ubuntu包管理: dpkg和apt

乐正峰
2023-12-01

dpkg是Debian或Ubuntu中,用来管理package的工具,负责安装、管理各个独立pakcages。

语法

说明

示例

dpkg -i xyz.deb

安装package; 如果已安装则升级更新。

dpkg -i zip_2.31-3_i386.deb

dpkg -R -i /xyz/abc/

安装指定文件夹内的package,包括遍历子文件夹。

dpkg -R /tmp/downloads

dpkg -r packname

删除已安装的package,但保留配置文件。

dpkg -r zip

dpkg -P packname

删除已安装的package,包括配置文件。

dpkg -P apache-perl

dpkg -l

显示所有的已安装包,还有版本和说明。

dpkg -l

dpkg -l | less

dpkg -l '*apache*'

dpkg -l | grep -i 'sudo'

dpkg -l packname

单独显示某个已安装的包,包括版本和说明。

dpkg -l apache-perl

dpkg -L packname

找出某个已安装包都安装了哪些文件,并给出路径。

dpkg -L apache-perl

dpkg -L perl

dpkg - c xyz.deb

dpkg --contents xyz.deb

显示出这个包中将要安装的文件,即这个包的内容。

dpkg -c dc_1.06-19_i386.deb

dpkg -S /path/to/file

找出这个文件所属的包

dpkg -S /bin/netstat

dpkg -S /sbing/ippool

dpkg -p packname

显示这个包的详细信息,包括组、版本、维护人、架构和依赖等。

dpkg -p lsof

dpkg -s packname | grep Status

判断这个包是否安装。

dpkg -s lsof | grep Status

dpkg --unpack xyz.deb

解压这个包,但并不安装或配置。

dpkg --unpack flashplugin-nonfree_3.2_i386.deb

dpkg --configure xyz

对解压的包进行配置。

dpkg --configure flashplugin-nofree

dpkg --print-architecture

显示dpkg安装的包的OS架构,比如输出amd64

dpkg --version

显示版本

dpkg --help

显示全部帮助信息

注意,使用dpkg -S /path/to/file时,如果是一个可执行文件,在$PATH里能找到的话,可以省略路径,直接给文件名。

所以这里需要给的是已经存在的文件,是一个已经安装过的包所install的文件,然后通过文件来找包。

如果没有安装过的包,是不能查找的。

但如果在执行某些任务时,提示缺少某个文件,比如编译某个项目缺少某个工具,一个程序找不到的话,可以直接命令行输入这个命令,提示找不到的话,会给出需要安装的包名,然后安装这个包就好。

使用apt search file,即使没安装这个包,也能查到这个文件属于哪个包。

然后使用apt list --installed 来查看已经安装了哪些包,如果上面文件所属的包没安装,就不在列表里,使用install进行安装。

使用dpkg -l 也可以查看当前装了哪些包。

dpkg和apt的区别?

dpkg是系统层面的low level的工具,而apt是上层一些的应用级工具。

apt可以自己从远端仓库下载package安装,而dpkg不能。

而且apt还可以管理包的依赖关系,当你安装某个包时,所依赖的包也会自动安装。

apt-get和apt的区别?

apt-get可以看作是稍微low-level一些的,back-end一些的,作为支持其他APT-based toolts的。

apt是后出现的命令,集成了apt-get、apt-cache和apt-config的大部分常用的命令,可以认为apt命令是上述命令的副本,只不过在有些设置选项上有轻微的差别。

这样做的目的是用起来更方便更统一,使用apt命令更好的整合了主要功能。

apt command的对应关系:

apt command

the command it replaces

function of the command

apt install

apt-get install

Installs a package

apt remove

apt-get remove

Removes a package

apt purge

apt-get purge

Removes package with configuration

apt update

apt-get update

Refreshes repository index

apt upgrade

apt-get upgrade

Upgrades all upgradable packages

apt autoremove

apt-get autoremove

Removes unwanted packages

apt full-upgrade

apt-get dist-upgrade

Upgrades packages with auto-handling of dependencies

apt search

apt-cache search

Searches for the program

apt show

apt-cache show

Shows package details

apt自有的command:

new apt command

function of the command

apt list

Lists packages with criteria (installed, upgradable etc)

apt edit-sources

Edits sources list

参考:

https://www.cyberciti.biz/howto/question/linux/dpkg-cheat-sheet.php

 类似资料: