简介
- CentOS7使用rpm和yum来管理软件包。
- CentOS 8附带YUM包管理器v4.0.4版本,该版本现在使用DNF (Dandified YUM)技术作为后端。DNF是新一代的YUM,新的操作系统版本允许您同时使用这两种工具来管理包
RPM
RPM全称为Red-Hat Package Manager。是CentOS和RedHat拥有的包管理工具。
查看
rpm -ql httpd #查看httpd的所有配置文件
卸载
rpm -e httpd #卸载httpd
安装
- 查询软件,在 http://rpmfind.net 找到软件包并复制链接地址。
wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
- 安装
rpm -ivh vim-enhanced-7.4.629-6.el7.x86_64.rpm
-i #install
-v #show detail
-h #show hash
yum
查询
yum list | grep vim #查看可供安装的软件版本
yum list installed | grep vim #查看已安装的软件版本
安装
yum install vim #安装vim(会询问你是否安装)
yum -y install vim #安装vim(不会询问你是否安装)
卸载
yum remove vim #卸载vim
软件源(仓库)
CentOS的软件都是从软件源下载的。
软件源的配置在/etc/yum.repo.d/,目录下文件是不同的软件源。
基础软件源和扩展软件源
很多软件都是从基础软件源下载的,还有其他很多扩展软件,保存在扩展软件源中。
安装软件时,yum会先去基础软件源里找,找不到则报错。
如果安装软件时报错:找不到这个包,我们就可以安装扩展源:epel-release。
yum -y install epel-release #安装扩展源
yum -y install <你需要装的软件名>
替换软件源
- 默认软件源在国外,下载速度慢,我们可以替换为国内源。
- 如:替换为中科大软件源。官网:中科大软件源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份原有的基础软件源
vim /etc/yum.repos.d/CentOS-Base.repo #编辑基础软件源
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum clean all #清除之前的缓存信息
yum makecache #根据软件源建立缓存信息
实验:搭建本地软件源
有些服务器过于机密,不便于与外界联网,比如:军队。
那么,既然不能联网,那如何来安装软件呢?
我们可以搭建本地软件源。
实验环境:
- CentOS7虚拟机
- VMWare
实验步骤:
1. 给此虚拟机插入光盘镜像(带有图形化的CentOS):
因为"带有图形化的CentOS"比"Minimal的CentOS多出很多软件"
2. 挂载光盘
mkdir -p /media/centosdvd #创建挂载点
mount /dev/cdrom /media/centosdvd/ #挂载DVD
3. 编辑软件源
文件中不能有中文,注意将注释去掉。
mv CentOS-Base.repo CentOS-Base.repo.backup
vi /etc/yum.repos.d/CentOS-Base.repo
[centos]
name=centosdvd
baseurl=file:///media/centosdvd #目录下必须存在repodata/和Packages/
enable=1 #使这个软件源有效
gpgcheck=0 #不校验
#gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release #如果需要校验,指定校验文件
4. 断开网络
防止原有软件源对我们的实验造成干扰
5. 建立缓存信息
yum clean all #清除原有的缓存信息
6. 安装软件
- 原来是没有vim的,而且是在断网环境下的。
- 断网环境下安装vim:
yum -y install vim