Linux 的软件包管理命令因发行版不同而有所差异,以下是企业中常用发行版(Debian/Ubuntu 和 CentOS/Red Hat)的核心命令及操作指南。
一、Debian/Ubuntu 系统(APT)
1. apt
– 高级包管理工具
- 用途:安装、更新、卸载软件包,管理软件仓库。
- 特点:自动处理依赖关系,操作简单。
- 常用命令:
命令 | 用途 | 示例 |
---|---|---|
apt update | 更新软件包列表(从仓库同步最新信息) | sudo apt update |
apt upgrade | 升级所有可更新的软件包 | sudo apt upgrade |
apt install | 安装指定软件包 | sudo apt install nginx |
apt remove | 卸载软件包(保留配置文件) | sudo apt remove nginx |
apt purge | 彻底卸载软件包(删除配置文件) | sudo apt purge nginx |
apt search | 搜索软件包 | apt search "python3.*" |
apt show | 查看软件包详细信息 | apt show nginx |
apt autoremove | 清理不再需要的依赖包 | sudo apt autoremove |
-
示例流程:安装并配置 Nginx
# 更新仓库信息 sudo apt update # 安装 Nginx sudo apt install nginx # 检查版本 nginx -v # 卸载 Nginx(保留配置) sudo apt remove nginx
2. dpkg
– 管理本地 .deb
包
-
用途:手动安装或卸载本地的
.deb
包(不自动处理依赖)。 -
常用选项:
-i
:安装软件包。-r
:卸载软件包(保留配置)。-P
:彻底卸载(删除配置)。-l
:列出已安装的包。
-
示例:
# 安装本地 .deb 包 sudo dpkg -i package.deb # 修复依赖问题(安装后若报依赖错误) sudo apt install -f
二、CentOS/Red Hat 系统(YUM/DNF)
1. yum
(旧版) / dnf
(新版)
- 用途:管理 RPM 软件包,自动解决依赖。
- CentOS 7 默认用
yum
,CentOS 8+ 和 Fedora 用dnf
(命令用法基本一致)。 - 常用命令:
命令 | 用途 | 示例 |
---|---|---|
yum update | 升级所有软件包 | sudo yum update |
yum install | 安装软件包 | sudo yum install httpd |
yum remove | 卸载软件包 | sudo yum remove httpd |
yum search | 搜索软件包 | yum search "python3" |
yum info | 查看软件包信息 | yum info httpd |
yum clean | 清理缓存 | sudo yum clean all |
-
示例流程:安装并配置 Apache
# 安装 Apache sudo yum install httpd # 启动服务 sudo systemctl start httpd # 设置开机自启 sudo systemctl enable httpd
2. rpm
– 管理本地 .rpm
包
-
用途:手动安装或查询本地 RPM 包(不处理依赖)。
-
常用选项:
-i
:安装软件包。-e
:卸载软件包。-q
:查询已安装的包(如rpm -q httpd
)。-U
:升级软件包。
-
示例:
# 安装本地 .rpm 包 sudo rpm -ivh package.rpm # 卸载软件包 sudo rpm -e package-name
三、跨发行版通用操作
1. 添加第三方仓库
-
Debian/Ubuntu:
# 示例:添加 Docker 官方仓库 sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update
-
CentOS:
# 示例:添加 EPEL 仓库(扩展包) sudo yum install epel-release
2. 解决依赖冲突
-
Debian/Ubuntu:
sudo apt install -f # 修复依赖问题
-
CentOS:
sudo yum deplist package-name # 查看依赖关系 sudo yum-complete-transaction # 完成中断的事务
四、企业场景示例
场景 1:批量安装开发工具
-
Debian/Ubuntu:
sudo apt install build-essential git python3-pip
-
CentOS:
sudo yum groupinstall "Development Tools" sudo yum install git python3-pip
场景 2:安全更新
# Debian/Ubuntu
sudo apt update && sudo apt upgrade --only-upgrade security
# CentOS
sudo yum update --security
五、注意事项
-
谨慎使用
force
选项:
强制安装(如dpkg -i --force-all
)可能破坏系统稳定性,仅在明确后果时使用。 -
定期清理缓存:
# Debian/Ubuntu sudo apt clean # CentOS sudo yum clean all
-
备份配置文件:
修改/etc/apt/sources.list
或/etc/yum.repos.d/
前,先备份。 -
使用虚拟环境:
避免污染系统环境,Python 项目推荐使用venv
或conda
。 -
优先使用官方仓库:
第三方仓库可能引入兼容性问题,需评估后再添加。