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