常见包管理器用法速查手册

-
-
2024-07-24

这个Page主要聚焦主流包管理器的用法包括:基本语法、搜索、安装、配置源、更新、查依赖、反向依赖、依赖解决、所属文件、常见问题修复等

主流的操作系统包管理器包括以下几种:

  1. APT (Advanced Package Tool):APT 是 Debian 及其衍生发行版(如 Ubuntu)上的包管理工具。它使用 .deb 包格式,并提供了一套用于安装、升级和移除软件包的命令。
  2. YUM (Yellowdog Updater, Modified):YUM 是 Red Hat 及其衍生发行版(如 CentOS)上的包管理器。它使用 .rpm 包格式,并提供了类似于 APT 的功能,用于安装、升级和移除软件包。
  3. DNF (Dandified YUM):DNF 是 YUM 的下一代版本,也用于 Red Hat 及其衍生发行版上。它提供了与 YUM 类似的功能,但使用了更现代的解析器技术来提高性能。
  4. Pacman:Pacman 是 Arch Linux 及其衍生发行版(如 Manjaro Linux)上的包管理器。它使用 .pkg.tar.xz 包格式,并提供了一套用于安装、升级和移除软件包的命令。
  5. Homebrew:Homebrew 是 macOS 上的包管理器,它允许用户从命令行安装软件包,类似于 Linux 上的 APT 或 YUM。
  6. winget:winget 是微软在 Windows 上推出的官方包管理器,类似于 Chocolatey,但是由微软官方支持。

apt

 

apt 语法

sudo apt [options] [command] [package ...]

  • options可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command要进行的操作。
  • package:安装的包名。

搜索

更具关键词搜索包名apt search <keyword>

安装

安装指定的软件命令:sudo apt install <package_name>

安装指定版本软件包:sudo apt install <package_name>=<version_number>

删除

移除包可以使用 remove 命令:sudo apt remove <package_name>

移除软件包及配置文件: sudo apt purge <package_name>

清理不再使用的依赖和库文件: sudo apt autoremove

更新

列出所有可更新的软件清单命令:sudo apt update

列出可更新的软件包及版本信息:apt list --upgradable

升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

升级软件包:sudo apt upgrade

更新指定的软件包命令:sudo apt update <package_name>

依赖查询

查询

列出所有已安装的包:apt list --installed

列出所有已安装的包的版本信息:apt list --all-versions

显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

列出系统中所有手动指定安装的包:pacman -Qe 方便备份和重装,

其他

 

 

yum

yum是基于rpm包的包管理器,rpm 软件包后缀为.rpm,包含编译后的程序、库文件、配置文件等,以及与之相关的文档和数据文件。它们也可以包含预编译的二进制文件。rpm包与deb包一样喜欢把软件包拆分为多个子包如headers包,RPM 软件包的粒度也可以是相当细的。

 

yum 语法

 yum [options] [command] [package ...]

options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。

command:要进行的操作。

package:安装的包名。

搜索

 

查找软件包命令:yum search <keyword>

安装

安装指定的软件命令:sudo yum install <package_name>

删除

删除软件包命令:yum remove <package_name>

清除缓存命令:

  • yum clean packages: 清除缓存目录下的软件包
  • yum clean headers: 清除缓存目录下的 headers
  • yum clean oldheaders: 清除缓存目录下旧的 headers
  • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

更新

列出所有可更新的软件清单命令:yum check-update

更新所有软件包:sudo yum update

仅更新指定的软件命令:yum update <package_name>

依赖查询

查询

列出所有可安裝的软件清单命令:yum list

列出已安装的软件包 yum list installed
 

其他

 

 dnf

dnf是yum的下一代包管理器,目前逐渐要替代yum包管。

dnf 语法

 dnf [options] [command] [package ...]

options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。

command:要进行的操作。

package:安装的包名。

搜索

更具关键词搜索包名 dnf search <keyword>

安装

安装指定的软件命令:sudo dnf install <package_name>

配置源

更新

更新所有软件包:sudo dnf update

依赖查询

查询文件

其他

 

pacman

Pacman 是 Arch Linux 系发行版(如Manjaro、Arco、EndeavourOS等)的软件包管理器,它使用 .tar.zst 格式的软件包。arch系通常更倾向于将软件包作为单个实体,而不是拆分为多个子软件包。因此,tar.zst 软件包的粒度相对来说可能更大,也更倾向于与上游相同的代码,如非必要一般不会修改上游代码。

pacman 语法

 pacman options  [package ...]

options:必选,选项包括 -h(帮助),-S(从远程数据库)-Q(从本地数据库)、-q (参数仅输出包名)

package:安装的包名。

搜索

根据关键词搜索包名 pacman -Ss <keyword>

在本地搜索包名 pacman -Qs <keyword>

安装

安装指定的软件命令:sudo pacman -S <package_name>

安装指定版本:arch系都是roll滚动发行,只提供最新的稳定的软件包,如需降级安装要使用Arch ARM 回滚机。(部分更新可能会导致严重的错误,如果确定部分更新或降级的后果,强烈推荐完整更新)

pacman软件源的设置在/etc/pacman.conf

配置格式形如:

# Repository entries are of the format:
       [repo-name]
       SigLevel = Required DatabaseOptional
       Server = ServerName
       Include = IncludePath # 你也可以Include一个镜像源文件

其中arch默认仓库include/etc/pacman.d/mirrorlist

更新

仅更新仓库,不更新软件包:sudo pacman -Sy 

更新所有软件包:sudo pacman -Syu  双y强制同步仓库,双u强制更新软件包

依赖查询

查询

查询本地软件包信息:pacman -Qi <package_name>

查询远端仓库的软件包信息:pacman -Si <package_name>

查询软件包内所有文件的安装位置:pacman -Ql <package_name>

查询本地文件归属信息:

其他

 

winget

winget 语法

 

搜索

根据关键词搜索包名 winget search <keyword>

安装

安装指定的软件命令:winget install <package_name>

  • 添加源:‌用户可以通过winget source add命令添加新的源。‌例如,‌可以通过执行winget source add --name Contoso https://www.contoso.com/cache命令将Contoso存储库添加到winget中。‌此外,‌添加命令支持可选的type参数,‌用于告知客户端将要连接到的存储库类型,‌支持的类型包括Microsoft.PreIndexed.Package(‌默认源类型)‌等。‌
  • 列出源:‌使用list子命令可以枚举当前启用的来源或提供有关特定源的详细信息。‌例如,‌通过执行winget source list命令可以列出所有启用的源,‌或者通过指定源的名称(‌如winget source list --name Contoso)‌来获取关于特定源的详细信息。‌
  • 移除源:‌如果需要,‌用户还可以通过winget source remove命令移除不必要的源。‌例如,‌执行winget source remove Contoso命令可以移除名为Contoso的源。‌
  • 配置参数:‌在配置winget源时,‌可以使用各种参数来控制操作,‌如-n--name用于标识源的名称,‌-?--help用于获取帮助信息,‌--wait提示用户在退出前按任意键,‌--logs--open-logs打开默认日志位置等。‌

更新

依赖查询

查询文件

其他


 

homebrew

homebrew 语法

搜索

安装

配置源

更新

依赖查询

查询文件

其他
 

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录