linux常用命令 ——系统包管理
ir-P-l-L-s-S-c-- unpack代码语言:javascriptAI代码解释。
选项说明:
-i: 安装本地的 .deb 软件包- -
r:删除软件包(保留配置文件) -P: 删除软件包的同时删除其配置文件(彻底删除)-l: 列出系统中已安装的所有软件包-L: 查看某个已安装软件包的文件安装路径-s:查看某个软件包的详细信息(版本、状态等)-S:查找某个文件属于哪个软件包-c: 显示软件包内文件列表-- unpack: 解开软件包--configure --:配置软件包
代码语言:javascript
AI代码解释
dpkg -i package.deb # 安装deb软件包
dpkg -r package # 删除软件包
dpkg -P package # 删除软件包(包括配置文件)
dpkg -l # 列出已安装的软件包
dpkg -l package # 显示该软件包的版本
dpkg --unpack package.deb # 解开deb软件包
dpkg -c package.deb # 列出deb软件包的内容
dpkg --configure package # 配置软件包
2. apt/apt-get (上层包管理工具)
apt(advanced packaging tool)基于 dpkg 开发,自动解决依赖关系,并支持从远程软件源获取包,是 Debian 系最常用的工具(apt 是 apt-get 的简化版,更友好)。
适用于Debian及其衍生版,如Ubuntu、Linux Mint。apt由几个操作软件包的命令行工具组成,包括apt-get、apt-cache和apt-cdrom。
为了解决命令过于分散的问题,引入了命令apt,它包括了命令apt-get使用最广泛的功能选项,以及命令apt-cache和apt-config中常用到的功能。在使用apt命令时,用户不必再由apt-get转到apt-cache或apt-config,而且apt更加结构化,并为用户提供了管理软件包所需的必要选项。简单来说,apt就是apt-get、apt-cache和apt-config中最常用命令选项的集合。
apt
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt 命令执行需要超级管理员权限(root)。
apt [options] [command] [package …]
- options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名。
代码语言:javascript
AI代码解释
apt install package # 安装包
apt remove package # 删除包
apt autoremove # 检查并清除无用的安装包
apt update&upgrade package # 更新所有的安装包
apt-get
代码语言:javascript
AI代码解释
apt-get update # 更新所有已安装的软件包
apt-get dist-upgrade # 将系统升级到新版本
apt-get install package # 安装包
apt-get remove package # 删除包(保留配置文件)
apt-get --purge remove package # 删除包(同时删除配置文件)
apt-get autoclean package # 移除该软件的旧版本软件包(为了满足其他软件包的依赖而安装,但现在不再需要的软件包)
apt-get clean # 移除下载到本地的已安装的软件包
sudo apt list --installed # 列出已安装的软件包
核心命令对比(apt vs apt-get)
|
功能需求 |
apt 命令 |
apt-get 命令 |
说明 |
|---|---|---|---|
|
更新软件源索引 |
apt update |
apt-get update |
同步远程源的包列表,确保获取最新版本信息 |
|
升级已安装包 |
apt upgrade |
apt-get upgrade |
升级所有已安装包(不删除旧包,不安装新依赖) |
|
智能升级 |
apt full-upgrade |
apt-get dist-upgrade |
升级时可删除旧包、安装新依赖(适合系统大版本升级) |
|
安装软件包 |
apt install <package-name> |
apt-get install <package-name> |
安装指定包及依赖 |
|
卸载软件包 |
apt remove <package-name> |
apt-get remove <package-name> |
卸载包(保留配置) |
|
彻底卸载 |
apt purge <package-name> |
apt-get purge <package-name> |
卸载包并删除配置 |
|
清理缓存 |
apt clean |
apt-get clean |
删除所有下载的包缓存(/var/cache/apt/archives/) |
|
清理无用包 |
apt autoremove |
apt-get autoremove |
删除因安装其他包而自动安装的、现已无用的依赖 |
|
搜索软件包 |
apt search <keyword> |
apt-cache search <keyword> |
根据关键词搜索远程源中的包 |
|
查看包信息 |
apt show <package-name> |
apt-cache show <package-name> |
查看包的详细信息(版本、描述、依赖等) |
(二) Red Hat 系发行版(CentOS、RHEL、Fedora 等)
基于 .rpm 格式的软件包,早期用 yum,Fedora 22+ 及 CentOS 8+ 推荐用 dnf(yum 的升级版)。
1. rpm(底层包管理工具)
类似 dpkg,直接操作 .rpm 包,不自动解决依赖。
|
常用命令 |
功能说明 |
|---|---|
|
rpm -ivh <package.rpm> |
安装 .rpm 包(-i = 安装,-v = 详细输出,-h = 进度条) |
|
rpm -e <package-name> |
卸载软件包 |
|
rpm -qa |
列出系统中所有已安装的 rpm 包 |
|
rpm -ql <package-name> |
查看已安装包的文件路径 |
|
rpm -qi <package-name> |
查看已安装包的详细信息 |
|
rpm -qf <file-path> |
查找文件所属的 rpm 包 |
|
rpm -Uvh <package.rpm> |
升级 rpm 包(若未安装则自动安装) |
|
rpm -V <package-name> |
验证软件包的文件完整性(是否被篡改) |
示例:安装本地的 nginx.rpm 包 rpm -ivh nginx-1.24.0-1.el9.x86_64.rpm
2. yum(Yellowdog Updater Modified)
基于 rpm,自动解决依赖,支持远程源,CentOS 7 及以下的默认工具。
|
常用命令 |
功能说明 |
|---|---|
|
yum update |
更新软件源并升级所有已安装包 |
|
yum install <package-name> |
安装指定包及依赖 |
|
yum remove <package-name> |
卸载包(保留配置) |
|
yum erase <package-name> |
彻底卸载包(类似 purge) |
|
yum search <keyword> |
搜索软件包 |
|
yum info <package-name> |
查看包的详细信息 |
|
yum list installed |
列出已安装的包 |
|
yum clean all |
清理缓存和无用数据 |
|
yum groupinstall <group-name> |
安装软件组(如 “Development Tools”) |
示例:安装开发工具组 yum groupinstall "Development Tools"
3. dnf (Dandified Yum)
DNF 是 YUM 的重写版本,速度更快、依赖解析更高效,主要用于 Fedora 和 CentOS 8 及以上版本。
命令与 yum 基本兼容,用法几乎一致:
- 安装包:
dnf install <package-name> - 升级:
dnf update - 卸载:
dnf remove <package-name> - 搜索:
dnf search <keyword>
独有优势:支持并行下载、更好的版本控制,推荐优先使用。
(三)其他发行版专属工具
1. zypper (openSUSE / SUSE Linux Enterprise )
基于 rpm 体系,openSUSE 系列的默认包管理工具,语法简洁,支持自动解决依赖。
|
常用命令 |
功能说明 |
|---|---|
|
zypper refresh |
更新软件源索引 |
|
zypper update |
升级所有已安装包 |
|
zypper install <package-name> |
安装包 |
|
zypper remove <package-name> |
卸载包 |
|
zypper search <keyword> |
搜索包 |
|
zypper info <package-name> |
查看包信息 |
|
zypper dup |
系统版本升级(Distribution Upgrade) |
示例:更新系统并安装 Vim zypper refresh && zypper install vim
2. pacman(Arch Linux / Manjaro 等其他基于 Arch 的发行版)
Arch 系的核心包管理工具,以 简洁、高效、滚动更新 为特点,直接操作 Arch 官方仓库的 .pkg.tar.zst 包。
|
常用命令 |
功能说明 |
|---|---|
|
pacman -Syu |
同步源 + 升级系统(Arch 常用,-S = 安装,-y = 更新源,-u = 升级) |
|
pacman -S <package-name> |
安装指定包 |
|
pacman -R <package-name> |
卸载包(保留依赖) |
|
pacman -Rs <package-name> |
卸载包并删除无用依赖 |
|
pacman -Rns <package-name> |
彻底卸载(删除包、依赖及配置) |
|
pacman -Q |
列出已安装的包 |
|
pacman -Ql <package-name> |
查看已安装包的文件路径 |
|
pacman -Ss <keyword> |
搜索远程仓库中的包 |
|
pacman -Scc |
清理所有缓存 |
示例:安装 Firefox 并升级系统 pacman -Syu firefox
(四) 编程语言专属包管理工具
1. pip(Python 包管理工具)
用于管理 Python 的第三方库(如 requests、numpy 等),支持从 PyPI(Python Package Index)下载包。
|
常用命令 |
功能说明 |
|---|---|
|
pip install <package-name> |
安装指定 Python 包 |
|
pip install <package-name>==x.y.z |
安装指定版本的包 |
|
pip install --upgrade <package-name> |
升级已安装的包 |
|
pip uninstall <package-name> |
卸载包 |
|
pip list |
列出当前环境已安装的包 |
|
pip freeze |
导出已安装包列表(常用于生成 requirements.txt) |
|
pip install -r requirements.txt |
批量安装 requirements.txt 中的包 |
|
pip search <keyword> |
搜索 PyPI 中的包(部分版本已移除,推荐直接访问 PyPI 官网) |
示例:导出依赖并批量安装
代码语言:javascript
AI代码解释
pip freeze > requirements.txt #导出
pip install -r requirements.txt #安装
2. npm(Node.js 包管理工具)
用于管理 Node.js 的第三方模块(如 express、react 等),默认从 npm 官方仓库下载。
核心命令
|
常用命令 |
功能说明 |
|---|---|
|
npm install <package-name> |
本地安装(当前项目目录,仅当前项目可用) |
|
npm install -g <package-name> |
全局安装(系统级,所有项目可用,需管理员权限) |
|
npm install <package-name>@x.y.z |
安装指定版本的包 |
|
npm update <package-name> |
升级本地包 |
|
npm uninstall <package-name> |
卸载本地包 |
|
npm uninstall -g <package-name> |
卸载全局包 |
|
npm list |
查看当前项目已安装的包(树形结构) |
|
npm init |
初始化 Node.js 项目(生成 package.json 文件) |
|
npm run <script-name> |
运行 package.json 中定义的脚本(如 npm run dev) |
补充说明
- package.json:记录项目依赖、脚本、版本等信息,是 Node.js 项目的核心配置文件。
- yarn/pnpm:npm 的替代品,速度更快、依赖管理更严谨,用法与 npm 类似(如
yarn add <package>)。
更多推荐



所有评论(0)