dpkg是 debian类linux系统的一个软件包管理器。它可以安装,卸载或创建软件包,但是不像其它的软件包管理系统它不能自动下载并安装软件包,无法处理软件包之间的依赖关系。所以它的主要用途是用来管理已经安装在本地的软件包或都安装已经下载的deb软件包。
要查看当前系统上已经安装的所有的软件包可以使用下列命令:
dpkg -l
系统上可以已经安装了不少安装包,所以上面的这个命令可以会输出很多内容,这个时候可以使用管道和grep命令来检查某个特定的软件包是否被安装。
dpkg -l | grep apache2
这个命令就可以检查apache2是否被安装。当然,如果你不知道某个软件包的全名,你还可以使用正则表达式。
要查看某个软件包安装时所涉及到(一般是指它所安装的)文件,比如查看ufw软件的所有相关文件可以用:
dpkg -L ufw
如果你不知道哪个包安装了某个文件,你只知道某个文件名或都其路径,你可以尝试下列命令,它可通知告诉你某个文件是哪个安装包安装时安装或生成的。
dpkg -S /etc/host.conf
base-files: /etc/host.conf
输出表明/etc/host.conf文件是属于base-files软件包的。但是dpkg -S并不总能百分之百的告诉你答案。
如果一个软件包已经下载到本地,可以使用下列命令安装:
sudo dpkg -i zip_2.32-1_i386.deb
卸载一个软件包可能使用下列命令:
sudo dpkg -r zip
不过在通常情况下不建议使用dpkg来卸载软件包,因为它不能考虑软件依赖的问题,有可以卸载时影响到其它依赖于此软件包的软件不能正常工作。最好使用有处理软件依赖的软件包。
要查看当前系统上已经安装的所有的软件包可以使用下列命令:
dpkg -l
系统上可以已经安装了不少安装包,所以上面的这个命令可以会输出很多内容,这个时候可以使用管道和grep命令来检查某个特定的软件包是否被安装。
dpkg -l | grep apache2
这个命令就可以检查apache2是否被安装。当然,如果你不知道某个软件包的全名,你还可以使用正则表达式。
要查看某个软件包安装时所涉及到(一般是指它所安装的)文件,比如查看ufw软件的所有相关文件可以用:
dpkg -L ufw
如果你不知道哪个包安装了某个文件,你只知道某个文件名或都其路径,你可以尝试下列命令,它可通知告诉你某个文件是哪个安装包安装时安装或生成的。
dpkg -S /etc/host.conf
base-files: /etc/host.conf
输出表明/etc/host.conf文件是属于base-files软件包的。但是dpkg -S并不总能百分之百的告诉你答案。
如果一个软件包已经下载到本地,可以使用下列命令安装:
sudo dpkg -i zip_2.32-1_i386.deb
卸载一个软件包可能使用下列命令:
sudo dpkg -r zip
不过在通常情况下不建议使用dpkg来卸载软件包,因为它不能考虑软件依赖的问题,有可以卸载时影响到其它依赖于此软件包的软件不能正常工作。最好使用有处理软件依赖的软件包。