如何快速掌握包管理器用法速查技巧?

摘要:吾心自有光明月,千古团圆永无缺。 导航 0 前言 1 Linux 类 1.1 DEB 包:apt、dpkg 1.2 RPM 包:yum、dnf、rpm 1.3 通用包:brew、snap 2 Windows 类:scoop、winget、c
吾心自有光明月,千古团圆永无缺。 导航 0 前言 1 Linux 类 1.1 DEB 包:apt、dpkg 1.2 RPM 包:yum、dnf、rpm 1.3 通用包:brew、snap 2 Windows 类:scoop、winget、choco 3 Python 类:pip、pipx、conda、uv 4 Node.js 类:npm、pnpm、npx、yarn 5 杂七杂八 0、前言 不同的操作系统、编程语言几乎都有自己的包管理器,而每种包管理器的命令用法虽都大同小异,但还是有些区别的。为了避免在面临各种命令时出现一个头两个大的情况,特为此专门整理一份简要手册,以便随用随查。 1、Linux 类 Linux 系统下的包管理器很多,但综合来看其实主要分三种: DEB 包:主要在 Debain、Ubuntu、以及它们的衍生系统中使用。 RPM 包:主要在 CentOS、RedHat、以及它们的衍生系统中使用。 通用包:在任何 Linux 系统中均适用,并没有具体的专配系统。 注:(1)DEB 包和 RPM 包其实都是通过将编译后的二进制程序及其它附属文件以一种特定的流程打包之后的产物,二者仅仅只是在流程处理、软件管理方式上的不同,拆开来看二者并没有什么区别;(2)通用包就是指编译后的二进制程序无需经过像 DEB/RPM 那样的打包操作,直接就拿来使用的包。 1.1、DEB 包 1.1.1、apt 特点:在线安装,基于 .deb 包,可自动解决包之间的依赖关系。 #以下命令按照:初始化、增删查改、其它 进行的排序。 apt update # 更新软件仓库索引(同步最新软件列表) apt install nginx # 安装软件包 nginx apt install nginx=1.24.0 # 安装指定版本的软件包 apt remove nginx # 删除软件(保留配置文件) apt purge nginx # 彻底删除软件(包括配置文件) apt autoremove # 删除不再需要的依赖包(建议在卸载软件之后紧接着就执行) apt search nginx # 搜索软件包 apt show nginx # 查看软件包详细信息 apt list -i # 查看当前已安装的软件包列表 apt list -u # 查看当前可升级的软件包列表 apt -f install # 修复损坏依赖或补全缺失依赖 apt install --only-upgrade 7zip# 升级指定已安装软件 apt upgrade # 升级所有已安装软件 apt full-upgrade # 完整升级(允许处理依赖变化、替换包) 注:apt upgrade 和 apt full-upgrade 的区别在于对待“依赖关系变更”的处理方式。apt upgrade 会安装当前已安装软件的最新版本。但是,如果升级某个软件需要安装新的依赖包,或者需要删除现有的依赖包,apt upgrade 会拒绝升级该软件,以保持系统的稳定性;而 apt full-upgrade 则不管这些,为了完成升级,可能会安装新包或删除旧包,行为上比较激进一些,不如前者保守。 1.1.2、dpkg 特点:离线安装,基于 .deb 包,需手动解决包之间的依赖关系。 #以下命令按照:初始化、增删查改、其它 进行的排序。
阅读全文