跳至主要內容

包管理工具

LincZero大约 3 分钟

包管理工具

种类

例如:

yum search fcitx5 # CentOS
dnf search fcitx5 # Fedora
pacman -Ss fcitx5 # Archlinux
zypper search fcitx5 # OpenSUSE
apt-cache search fcitx5 # Debian/Ubuntu

debian

apt/apt-get

help:这个是 Debian/Ubuntu 用的,直接运行 apt-getapt-get --help 可以看到更多命令

apt vs apt-get

参考:APT 与 APT-GET 之间有什么区别?open in new window

apt 命令行工具为最终用户提供更高级别的用户界面,提供直观的命令、生成的行为和安全功能。相比之下,apt-get 命令是一个低级别接口,可以更紧密地与核心 Linux 进程通信。apt 命令是比 apt-get 更易于使用的软件包管理器。

差异摘要:apt 与 apt-get

类别apt-getapt
它是什么?用于在基于 Debian 的 Linux 系统上管理软件包的 CLI 工具用于在基于 Debian 的 Linux 系统上管理软件包的 CLI 工具
发布年份和 Debian 的初始发行版本1998 年,Debian 2.0(Hamm)发行版2014 年,Debian 8(Jessie)发行版
搜索功能不可以
用户必须改用 apt-cache 包管理命令进行搜索
可以
依赖关系解析解析简单依赖关系通过安装推荐软件解析复杂依赖关系
文件系统上的包版本使用 apt-get upgrade 时,旧版本的软件包会保留在文件系统上使用 apt upgrade 时,旧版本的软件包会从文件系统中删除
操作的打印输出向用户打印每个 apt-get 命令的基本输出,没有太多细节向用户打印每个 apt 命令的详细输出,以获取有关操作的更多信息,包括任务进度条

apt-get update vs upgrade

help的介绍为:

  • update: 取回更新的软件包列表信息
  • upgrade: 进行一次升级

GPT的介绍为:

  • apt-get update: 这个命令用于从配置的源(repositories)获取软件包的最新信息。这个命令不会更新或升级任何实际的软件,而是只更新系统关于哪些包可用以及它们的版本号的信息。在你安装新的软件或者升级现有软件之前,你通常会先运行这个命令,以确保你的系统知道最新的软件包和版本信息。
  • apt-get upgrade: 这个命令用于升级所有当前已安装在系统上的软件包。它会查看系统中所有已安装的软件包,然后检查是否有更新的版本可用(这就是为什么你通常会在运行apt-get upgrade之前先运行apt-get update的原因)。如果有更新的版本可用,那么apt-get upgrade会下载并安装这些更新。
  • 简单来说,apt-get update是更新你的软件包列表,而apt-get upgrade是更新你的软件包。

查装卸

apt search [表达式]	# 表达式可带通配符*

dpkg (debian package)

查装卸

dpkg -s <package-name> 			# 查看是否安装、查看安装路径
dpkg-query -l <package-name> 	# 可以加通配符*,例如 *pinyun*

dpkg --get-selections | grep <package-name>*	# 列出哪些软件包被安装

dpkg -L <package-name>			# 列出软件包的位置

apt and dpkg

有时会看到一些应用让你不要用dpkg下载,例如火星应用商店:

安装时, 找到下载好的安装包, 使用控制台进行安装, 注意安装时要使用apt 命令, 不能使用dpkg命令, 否则会报错 ! (官方说的,说法是dpkt不能自己处理依赖)

sudo apt install ./spark-store_3.0.3-13_amd64.deb