dpkg
是Debian Packager
的简写。为Debian
专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian
的Linux
发行版都会使用dpkg
,例如Ubuntu
、Knoppix
等。dpkg是Debian系统的后台包管理器,类似RPM。也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包。由于ubuntu和Debian乃一脉相承,所以很多命令是不分彼此的。
要安装
.deb
包,使用带有-i
选项。例如,要安装.deb
包称为nginx_1.16.0-1~trusty_amd64.deb
使用以下命令。
[rumenz@local~]# dpkg -i nginx_1.16.0-1~trusty_amd64.deb
要查看和列出所有已安装的软件包,请使用
-l
选项以及命令。
[rumenz@local~]# dpkg -l
要查看已安装的特定软件包或不使用选项
-l
连同包名。例如,检查是否apache2
包安装与否。
[rumenz@local~]# dpkg -l apache2
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
要删除
.deb
包,我们必须指定包名nginx
,不是原来的名字nginx_3.2_i386.deb
。-r
选项用于remove
/uninstall
。
[rumenz@local~]# dpkg -r nginx
也可以使用
p
选项代替r
这将删除包和配置文件。这r
选项只会删除包而不是配置文件。
[rumenz@local~]# dpkg -p nginx
要查看特定包的内容,请使用
-c
选项如图所示。该命令将显示.deb
长列表格式的包。
[rumenz@local~]# dpkg -c nginx_3.2_i386.deb
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/
....
使用
-s
带有包名的选项,将显示是否安装了deb
包。
[rumenz@local~]# dpkg -s nginx
从包名列出要安装到系统的文件的位置。
[rumenz@local~]# dpkg -L nginx
/.
/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
...
递归安装所有匹配模式
*
的常规文件.deb
在指定目录及其所有子目录中找到。这可以与-R
和–install
选项。例如,我将安装所有.deb
来自名为debpackages
的目录的包。
[rumenz@local~]# dpkg -R --install debpackages/
(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 ...
使用动作
–unpack
将解压包。
[rumenz@local~]# dpkg --unpack nginx_3.2_i386.deb
(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 ...
选项
–configure
将重新配置一个已经解压的包。
[rumenz@local~]# dpkg --configure nginx
Setting up nginx (1:3.2) ...
–-update-avail
选项用包文件中的可用信息替换旧信息。
[rumenz@local~]# dpkg –-update-avail package_name
–clear-avaial
将删除有关可用软件包的当前信息。
[rumenz@local~]# dpkg –-clear-avail
–forget-old-unavail
将自动忘记已卸载和不可用的软件包。
[rumenz@local~]# dpkg --forget-old-unavail
[rumenz@local~]# dpkg --licence
–version
参数将显示dpkg
版本信息。
[rumenz@local~]# dpkg –version
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.
–help
选项将显示dpkg
命令的可用选项列表。
[rumenz@local~]# dpkg –help
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.
...
相关文章