常用Linux Distros包管理器

记录一下常用Linux Distros包管理器的使用

Archlinux


Pacman


主参数介绍:

  • -S (Sync)
    表示与远程软件仓库同步相关的操作,用于安装、搜索或刷新软件包数据库

  • -Q (Query)
    表示查询本地已安装软件包数据库的操作

  • -R (Remove)
    表示删除已安装软件包的操作

  • -U (Upgrade)
    表示通过本地文件安装或升级软件包的操作

  • -F (Files)
    表示查询软件包文件数据库的操作,通常用于查找文件所属的包

具体使用说明:

sudo pacman -S <package_name>  # 安装指定软件包
sudo pacman -Ss <package_name>  # 搜索同步数据库中与 <package_name> 相关的软件包及其描述
sudo pacman -Syu  # 刷新软件包数据库并升级系统所有软件包
sudo pacman -Syyu  # 强制刷新数据库(即使看似最新),然后升级系统所有软件包
sudo pacman -Sc  # 清理缓存,仅保留已安装包的最新版本
sudo pacman -Scc  # 彻底清理缓存,删除所有下载的包文件
sudo pacman -Si <package_name>  # 查询远程包的详细信息
sudo pacman -R <package_name>  # 删除指定软件包,但不删除其依赖
sudo pacman -Rns <package_name>  # 删除指定软件包及其未被使用的依赖和配置文件
sudo pacman -Ql <package_name>  # 列出包安装的所有文件
sudo pacman -Qi <package_name>  # 查询已安装软件包的详细信息(如版本、安装日期等)
sudo pacman -Qdt  # 列出孤立包(不再被任何包依赖的包)
sudo pacman -Rns $(pacman -Qdtq)  # 自动删除所有孤立包及其配置文件
sudo pacman -Fy  # 更新文件列表数据库,用于文件查询
sudo pacman -F <command_name>  # 查询远程软件包数据库,查找包含指定命令的软件包
sudo pactree <package_name>  # 显示指定软件包的依赖树(需安装 pacman-contrib)
sudo pacman -Qe  # 列出显式安装的软件包(非依赖安装)
sudo pacman -T <package_name>  # 检查包的依赖是否满足
sudo pacman -U <package_file>  # 安装本地软件包文件(如 .pkg.tar.zst)

Yay


使用yay命令安装软件不需要用sudo

主参数介绍:

-S (Sync)
表示同步操作,支持官方仓库和AUR

-Q (Query)
表示查询本地已安装软件包,支持区分官方和AUR来源

-R (Remove)
表示删除软件包,支持AUR和官方包

-Y (Yay-specific)
yay特有的操作,通常用于维护或统计

具体使用说明:

yay -S <package_name>  # 安装软件包(自动处理权限,支持官方仓库和 AUR)
yay -Syyu  # 强制刷新数据库并升级系统所有软件包(包括 AUR)
yay -Syyw  # 强制刷新数据库并下载最新软件包,但不安装
yay -Sua  # 仅升级 AUR 包
yay -Qdt  # 列出孤立包(包括 AUR)
yay -Qe  # 列出显式安装的软件包及其版本
yay -Qq  # 仅列出显式安装的软件包名称,无版本信息
yay -Qn  # 列出从官方仓库安装的软件包
yay -Qm  # 列出从 AUR 安装的软件包
yay -Rs <package_name>  # 删除软件包及其依赖
yay -Rns <package_name>  # 删除软件包、未使用的依赖及配置文件
yay -Yc  # 清除不再需要的依赖项
yay -S <package_name> --aur  # 仅从 AUR 安装软件包
yay -S <package_name> --repo  # 仅从官方仓库安装软件包
yay -Pg  # 更新 AUR 包的 PKGBUILD 文件并检查更新
yay -Ps  # 显示系统软件包统计信息

Downgrade软件包降级


因为Archlinux的更新策略比较激进,有些软件包可能由于太新而缺乏相关依赖支持,因此有时候需要进行软件包降级

比较方便的是使用Downgrade进行降级,使用前需要先安装

sudo pacman -S downgrade  # 安装 downgrade 工具
sudo downgrade <package_name>  # 交互式降级指定软件包,选择可用版本
sudo downgrade <package_name> --maxdepth <Num>  # 限制搜索的版本深度
sudo downgrade <package_name> --ala-only  # 仅从 Arch Linux Archive 降级

Debian


APT


apt是Debian系操作系统最常用的包管理工具,其底层依赖dpkg处理,用于管理远程仓库中的.deb

具体使用说明:

sudo apt update  # 刷新软件包数据库,从配置的源获取最新索引
sudo apt upgrade  # 升级系统中所有已安装的软件包到最新版本
sudo apt full-upgrade  # 升级系统,允许删除或安装新依赖以解决冲突
sudo apt install <package_name>  # 安装指定软件包及其依赖
sudo apt remove <package_name>  # 删除指定软件包,但保留配置文件
sudo apt purge <package_name>  # 删除软件包及其配置文件
sudo apt autoremove  # 移除不再需要的依赖包
sudo apt search <keyword>  # 在软件包数据库中搜索包含关键字的包
sudo apt show <package_name>  # 显示指定软件包的详细信息(如版本、依赖)
sudo apt list --installed  # 列出所有已安装的软件包
sudo apt clean  # 删除/var/cache/apt/archives/中的所有缓存包文件
sudo apt autoclean  # 删除过期的缓存包文件,保留可用版本
sudo apt install <package.deb>  # 安装本地.deb文件,依赖会自动从仓库解决

DPKG


dpkg是Debian的底层包管理工具,直接操作.deb文件

具体使用说明:

sudo dpkg -i <package.deb>  # 安装本地 .deb 文件
dpkg -l  # 列出所有已安装的包
dpkg -L <package_name>  # 列出包安装的文件列表
sudo dpkg -r <package_name>  # 删除包,保留配置文件
sudo dpkg --purge <package_name>  # 删除包及其配置文件
dpkg -S <file_path>  # 查询文件属于哪个包,查找包含指定命令的软件包

OpenSUSE


OpenSUSE使用zypper作为包管理器,管理.rpm

具体使用说明:

sudo zypper refresh  # 刷新所有软件源的数据库
sudo zypper update  # 升级系统中所有已安装的软件包
sudo zypper install <package_name>  # 安装指定软件包
sudo zypper remove <package_name>  # 删除指定软件包
sudo zypper search <keyword>  # 搜索包含关键字的软件包
sudo zypper info <package_name>  # 显示软件包的详细信息
sudo zypper packages --orphaned  # 列出孤立包
sudo zypper dup  # 执行发行版升级(Distribution Upgrade)
sudo zypper clean  # 清理缓存的元数据和包文件
sudo zypper ps  # 检查升级后需要重启的服务或进程
sudo zypper addrepo <URL> <name>  # 添加新的软件源

Fedora


Fedora使用dnf(Dandified Yum)管理.rpm

具体使用说明:

sudo dnf upgrade  # 刷新数据库并升级所有软件包
sudo dnf install <package_name>  # 安装指定软件包
sudo dnf remove <package_name>  # 删除指定软件包
sudo dnf search <keyword>  # 搜索包含关键字的软件包
sudo dnf info <package_name>  # 显示软件包详细信息
sudo dnf autoremove  # 删除不再需要的依赖
sudo dnf list installed  # 列出已安装的软件包
sudo dnf downgrade <package_name>  # 降级指定软件包
sudo dnf clean all  # 清理所有缓存文件
sudo dnf provides <file_path>  # 查询文件属于哪个包,查找包含指定命令的软件包
转载请注明出处喔!( •̀ ω •́ )✧
发表了48篇文章 · 总计93.18k字
·
Built with Hugo
主题 StackJimmy 设计