Linux软件包管理:安装卸载软件必备
在Linux上装软件,不是双击exe那么简单。
今天聊聊Linux软件包管理的基础知识。
两大包管理器
不同Linux发行版用不同的包管理器:
- apt:Ubuntu、Debian
- yum/dnf:CentOS、RHEL、Fedora
apt包管理(Ubuntu/Debian)
更新软件源:
sudoaptupdate这一步很重要,先更新再安装。
安装软件:
sudoaptinstallnginxsudoaptinstallmysql-serversudoaptinstallvimgitcurl卸载软件:
# 卸载软件sudoaptremove nginx# 卸载并删除配置sudoaptpurge nginx# 自动清理不需要的依赖sudoaptautoremove搜索软件:
aptsearch nginx查看软件信息:
aptshow nginx升级所有软件:
sudoaptupgrade清理缓存:
sudoaptcleansudoaptautocleanyum包管理(CentOS 7)
安装软件:
sudoyuminstallnginxsudoyuminstall-ymysql# -y自动确认卸载软件:
sudoyum remove nginx搜索软件:
yum search nginx查看已安装:
yum list installed yum list installed|grepnginx升级软件:
sudoyum update nginxsudoyum update# 升级所有清理缓存:
sudoyum clean alldnf包管理(CentOS 8+/Fedora)
dnf是yum的升级版,用法基本一样:
sudodnfinstallnginxsudodnf remove nginxsudodnf update查看已安装的软件
# Ubuntudpkg-l|grepnginx# CentOSrpm-qa|grepnginx查看软件安装位置
# Ubuntudpkg-Lnginx# CentOSrpm-qlnginx查看某个文件属于哪个包
# Ubuntudpkg-S/usr/bin/vim# CentOSrpm-qf/usr/bin/vim安装本地包
有时候需要安装下载好的包:
# Ubuntu(.deb包)sudodpkg-ipackage.debsudoaptinstall-f# 修复依赖# CentOS(.rpm包)sudorpm-ivhpackage.rpmsudoyuminstallpackage.rpm# 自动处理依赖更换软件源
官方源太慢?换成国内镜像。
Ubuntu换阿里源:
sudocp/etc/apt/sources.list /etc/apt/sources.list.baksudovim/etc/apt/sources.list# 把archive.ubuntu.com换成mirrors.aliyun.comsudoaptupdateCentOS换阿里源:
sudomv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.baksudocurl-o/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.reposudoyum makecache常见问题
Q:依赖问题装不上?
# Ubuntusudoaptinstall-f# CentOSsudoyuminstall--skip-brokenQ:软件仓库里没有?
可以添加第三方源,或者下载源码编译。
Q:版本太旧?
# 查看可用版本apt-cachepolicy nginx# 安装特定版本sudoaptinstallnginx=1.18.0-0ubuntu1远程安装软件
管理多台服务器,用星空组网连起来后可以批量安装:
foripin10.26.1.{10..15};doecho"===$ip==="sshroot@$ip"apt update && apt install -y htop"done速查表
| 操作 | Ubuntu/Debian | CentOS |
|---|---|---|
| 更新源 | apt update | yum makecache |
| 安装 | apt install xxx | yum install xxx |
| 卸载 | apt remove xxx | yum remove xxx |
| 搜索 | apt search xxx | yum search xxx |
| 升级所有 | apt upgrade | yum update |
| 清理缓存 | apt clean | yum clean all |
小结
软件包管理核心命令:
Ubuntu:
apt update更新源apt install xxx安装apt remove xxx卸载
CentOS:
yum install xxx安装yum remove xxx卸载yum update升级
记住这几个就够日常使用了。
有问题评论区交流~