目录
一、背景
二、工作原理
1、基本原理
2、与apt工具的对比
2.1优势
2.1.1直接为底层操作,可操控性好
2.1.2安装卸载和配置都可实现
2.2劣势
2.2.1依赖关系处理不足
2.2.2无法从软件仓库获取软件包
2.2.3用户界面不友好
2.3 总结
三、语法和使用
1、基本语法
2、获取帮助
四、详细使用
1、dpkg安装软件包
2、用dpkg删除软件包
3、dpkg查询软件包信息
3.1 查询特定软件包
3.2 查询包含的文件和目录
4、其他用法
一、背景
在某些特定的环境下,服务器无法访问互联网,因此要安装软件时,只能使用离线安装的模式。在Debian系统及其衍生系统(如ubuntu)中,一般使用dpkg来在离线环境管理软件包。
二、工作原理
1、基本原理
dpkg允许用户以命令行方式安装、删除、查询、更新软件包,以及处理软件包的依赖关系。它直接与Debian的软件包格式(.deb文件)交互,提供了对软件包内容的底层访问,功能与centos中的rpm相似。
2、与apt工具的对比
如下与apt的区别与优劣做一个对比。
2.1优势
2.1.1直接为底层操作,可操控性好
dpkg是Debian包管理系统的底层工具,直接操作.deb软件包文件。这使得它在处理软件包时具有更高的灵活性和控制力。
2.1.2安装卸载和配置都可实现
dpkg提供了安装、卸载、配置和构建Debian软件包的基本功能。这些功能对于需要直接操作软件包文件的用户来说非常有用。
2.2劣势
2.2.1依赖关系处理不足
dpkg不会自动解决软件包的依赖关系,这可能导致在安装软件包时遇到依赖性问题。用户需要手动解决这些依赖关系,这可能会增加安装的复杂性和出错的可能性。
2.2.2无法从软件仓库获取软件包
dpkg不能从镜像站或软件仓库获取软件包,它只能处理已经下载到本地的.deb文件。这限制了dpkg在自动更新和安装软件包方面的能力。
2.2.3用户界面不友好
与apt等高级包管理工具相比,dpkg的命令行界面可能不太友好,对于不熟悉Linux命令行的用户来说可能难以使用。
2.3 总结
dpkg本身是一个底层的工具。而apt是建立在dpkg之上的更高级的工具,它提供了更友好的用户界面和更复杂的操作,如自动解决依赖关系、从远程仓库获取软件包等。在正常的环境中,使用apt来进行软件包的管理更加的方便。但在无法访问互联网的环境中,使用dpkg来管理软件包是一个不错的选择。
三、语法和使用
1、基本语法
dpkg命令的基本语法为:
dpkg [<option>...] <command>
其中,option表示dpkg命令的选项,command表示dpkg执行的具体操作(例如安装、卸载、查询等)。
2、获取帮助
具体用法可以使用:
dpkg –help
或
man dpkg
来获取帮助信息。
具体操作参考如下:
四、详细使用
1、dpkg安装软件包
dpkg -i <deb_file_name>
下面以安装net-tools为例进行详细介绍。
①获取net-tools的deb包,并放在本地服务器中
②查看本地没有安装过net-tools软件包
③使用dpkg离线安装net-tools软件包
dpkg -i net-tools_2.10-0.1_amd64.deb
可以看到,安装完成后,软件包中的命令ifconfig 可以正常使用。
2、用dpkg删除软件包
dpkg -r <package>命令删除软件包,但保留其配置信息。
dpkg -P <package>命令删除软件包及其所有配置文件。
命令如下:
dpkg -P net-tools
可以看出,net-tools被顺利删除。
3、dpkg查询软件包信息
3.1 查询特定软件包
当软件包成功安装时,使用命令:
dpkg -s <package-name>
查询特定软件包的详细信息。
3.2 查询包含的文件和目录
使用命令:
dpkg -L <package-name>
列出软件包中包含的文件和目录。如下所示:
4、其他用法
其他用法包括如下:
dpkg -R命令用于安装一个目录下面所有的软件包。
dpkg --unpack命令用于释放软件包,但不进行配置。
dpkg --configure命令用于重新配置和释放软件包。
dpkg --purge命令用于删除软件包及其所有配置文件。
dpkg --list 命令用于列出所有已安装的软件包。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。