09-CentOS软件包管理

简介

  • 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
安装
  1. 查询软件,在 http://rpmfind.net 找到软件包并复制链接地址。
  2. wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
  3. 安装
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

你可能感兴趣的:(Linux菜鸟之路)