淘先锋技术网

首页 1 2 3 4 5 6 7

一. apt & dpkg 异同点

1. apt 与 dpkg 均为 ubuntu 下面的包管理工具。
2. dpkg 仅用于安装本地的软件包,安装时不会安装依赖包,不解决依赖问题。

sudo dpkg -i <package_name>.deb

3. apt 默认会从远程仓库搜索包的名字,下载并安装,安装时会自动安装依赖包,并解决依赖问题。

sudo apt install <package_name>

  如果需要使用apt 从本地安装,需要在包名前指定路径,否则只从远程仓库查找。

sudo apt install <path>/<package_name>.deb

二. dpkg 常用命令

1. 概念

dpkg是一个debian包管理工具。能够对包进行安装、卸载、获取信息等操作。 

2. 用法
查看指定包的版本,架构和描述信息

dpkg -l <package_name>

dpkg --list <package_name>

列出所有已安装的包,和其版本,架构和描述信息

dpkg -l
dpkg --list

相当于

apt list --installed

查看包的安装路径

dpkg -L <package_name>

查看包是否安装

dpkg -s <package_name>

dpkg --status <package_name>

查找指定文件所属的包名,即这个文件是由哪个包安装产生的

dpkg -S <file_name>

dpkg --search <file_name>

安装

dpkg -i package_file
dpkg --install package_file

解包(该命令仅对“package_file“进行解包操作,不会执行包配置工作)

dpkg --unpack package_file

 配置包: 

dpkg --configure package

卸载包:

dpkg -r package
dpkg --remove package
该命令删除包,但保留配置文件。


dpkg -P package
dpkg --purge package
该命令删除包,且删除配置文件。

获取、设置、清除包的选择状态

dpkg --get-selections [package]
输出到标准输出,可以使用管道或重定向。


dpkg --set-selections
从标准输入获取,可以使用管道或重定向。


dpkg --clear-selections 
将所有包都标记为卸载。

其他选项: 

-B
--auto-deconfigure
卸载包时,自动把依赖于被卸载的包的所有包也卸载掉。

 --no-act
--dry-run
--simulate
仅用于测试,得到输出,不对系统进行任何修改。

还有一些选项指定的任务实际上是交给 dpkg-deb、dpkg-query完成的: 

dpkg-deb:
       -b | --build
       -c | --contents
       -e | --control
       -x | -extract
       -f | --field
       -I | --info
       -X | --vextract

dpkg-query
       -l | --list
       -s | --status
       -L | --listfiles
       -S | --search
       -p | --print-avail    

三. apt 常用命令 

1. 命令

  apt update

更新软件源中的所有软件列表。因为更新数据库等操作需要管理员的权限,所以在apt命令前要加上sudo命令取得权限。

运行apt update命令会返回三种状态:一是命中,一是获取,一是忽略。

命中表示连接上网站,包的信息没有改变。

获取表示有更新并且下载。

忽略表示无更新或更新无关紧要无需更新。

在命令显示的最后,会提示你有多少软件包可以升级,你可以根据自身的需求立即或稍后进行升级。

  apt list

apt list --upgradeable:显示可升级的软件包。

apt list --installed:显示已安装的软件包。

  apt upgrade

 执行完update命令后,就可以使用apt upgrade来升级软件包了。执行命令后系统会提示有几个软件需要升级。在得到你的同意后,系统即开始自动下载安装软件包。

  apt install <软件包名>

安装指定软件。此命令需管理员权限。如果你对名字并不十分清楚,你可以输入软件名的一部分,系统会给出名字相近的软件包名的提示。在老版本中安装程序需要使用 sudo apt-get install <软件包名>,现在新版本中已建议直接使用apt替代apt-get命令。
sudo apt install -f
使用此命令可修复依赖关系,假如有软件因依赖关系不满足而无法安装,就可以运行此命令自动修复安装程序包所依赖的包。特别是在使用dpkg命令安装deb软件包时出现依赖问题常需要此命令来修复。

  apt remove <软件包名>和apt autoremove

apt remove <软件包名>用来卸载指定软件。
apt autoremove用来自动清理不再使用的依赖和库文件。

  apt show <软件包名>

显示软件包具体信息。例如:版本号,安装大小,依赖关系,bug报告等等。

2. 附件