各个系统都有自己的软件包管理工具,方便用户管理,使用各种软件;
只是大部分Windows用户可能并没有太关注,其实也是有的。
不同的系统包管理工具也不同;大体如下
Linux:
Debian/Ubuntu:APT (Advanced Package Tool)
CentOS/RHEL/Fedora:RPM(RedHat Package Manager)
Arch Linux:Pacman (Package Manager)
openSUSE:Zypper
Slackware:pkgtools
macOS:
Homebrew
MacPorts
Fink
Windows:
Chocolatey
Scoop
NuGet
FreeBSD:
pkg (pkgng)
这里重点看看Linux下的包管理工具,发行版主要看Red Hat 和 Debian 系
rpm包以 .rpm为后缀;包名一般包含了软件名,版本,适用的处理器架构
常用参数
rpm -ivh rpm完整包名
安装时,忽略运行所需的依赖的检查 –nodeps
rpm -e 软件名(无需完整包名):检查依赖,当前软件被依赖时,则无法卸载提示报错。
rpm -e –nodeps 软件名(无需完整包名);不检查依赖,强制卸载,可能导致依赖它的软件无法正常运行
rpm包管理工具存在缺陷,需手动维护软件之间的依赖关系,而且先下载rpm包。
基于以上原因,基于RPM,更智能化的软件管理工具YUM就诞生了。
YUM底层还是使用的RPM,只是对其做了一些优化,使其更易于使用。
YUM 在安装软件时,会自动下载安装所需依赖软件,然后安装本软件。
有点类似Maven,所以YUM也有仓库一说。
阿里云开源镜像站:https://mirrors.aliyun.com/
网易开源镜像站:https://mirrors.163.com/
中科大开源镜像站:https://mirrors.ustc.edu.cn/
清华开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
仓库配置位于 /etc/yum.repos.d 目录
cp CentOS-Base.repo CentOS-Base.repo.bak
# 阿里云镜像仓库
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
完成。
当然,个别软件可能在中央仓库中不存在,则需要我们将对应的仓库文件拉取到这个目录下;当中央仓库找不到时,会自动去其他.repo 结尾的仓库里面找。
基本语法
yum [opts] command
最常用的可选参数 是 -y:对安装过程中的询问以yes处理
yum 行为
yum install 软件名
# 更新所有可更新软件
yum update
# 更新指定软件
yum update 软件名
# 检查所有更新
yum check-update
# 检查指定软件更新
yum check-update 软件名
yum remove 软件名
# 查看所有已安装软件及(可安装更新)
yum list
# 查看指定软件及(可安装更新)
yum list 软件名
# 清除无效缓存 && 重新构建缓存;一般更新源后需要执行
yum clean && yum mackcache
yum deplist 软件名
Debian系发行版使用 apt 管理软件包
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sed -i -r "s#^(deb )(http://.*archive.ubuntu.com|http://.*security.ubuntu.com)#\1http://repo.huaweicloud.com#g" /etc/apt/sources.list
apt-get update
基本语法
apt [opts] command
可选项
最常用的是 -y
命令
# 安装/更新 软件
apt install 软件名
# 仅更新,如果没有安装过,则不执行操作
apt install --only-upgrade 软件名
# 更新软件源列表
apt update
apt upgrade
# 检查所有更新
apt list --upgradable
apt remove 软件名
# 查看所有已安装软件及(可安装更新)
apt list
# 查看指定软件及(可安装更新)
apt list 软件名