YUM命令常见用法

Yum工作原理

YUM正常运行,需要依赖两个部分,一是YUM源端,二是YUM客户端,也即用户使用端。
YUM客户端安装的所有RPM包都是来自YUM服务端,YUM源端通过HTTP或者FTP服务器发布。而YUM客户端能够
从YUM源端下载依赖的RPM包是由于在YUM源端生成了RPM包的基准信息,包括RPM包版本号、配置文件、二进
制信息、依赖关系等。

[root@localhost yum.repos.d]# cat centos.repo
[centos] Yum软件仓库唯一标识符,避免与其他仓库冲突。
name=centos Yum软件仓库的名称描述,易于识别仓库用处。
baseurl=file:///mnt 提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。
gpgcheck=0 设置此源是否校验文件;1为校验,0为不校验。
enabled=1 设置此源是否可用;1为可用,0为禁用。

YUM 命令工具的参数详解及实战步骤:

yum install httpd       安装 httpd 软件包;
yum search YUM          搜索软件包;
yum list httpd          显示指定程序包安装情况 httpd;
yum list        显示所有已安装及可安装的软件包;
yum remove httpd        删除程序包 httpd;
yum erase httpd         删除程序包 httpd;
yum update        内核升级或者软件更新;
yum update httpd        更新 httpd 软件;
yum check-update        检查可更新的程序;
yum info httpd        显示安装包信息 httpd;
yum provides          列出软件包提供哪些文件;
yum provides "*/rz"        列出 rz 命令由哪个软件包提供;
yum grouplist          查询可以用 groupinstall 安装的组
名称;
yum groupinstall "Chinese Support"        安装中文支持;
yum groupremove "Chinese Support"        删除程序组 Chinese Support;
yum deplist httpd        查看程序 httpd 依赖情况;
yum clean packages        清除缓存目录下的软件包;
yum clean headers         清除缓存目录下的 headers;
yum clean all             清 除 缓 存 目 录 下 的 软 件 包 及 旧 的
headers。
yum grouplist,检查 groupinstall 的软件组名
yum groupinstall "GNOME Desktop" -y     安装 Linux 图像界面,
 yum provides rz 或者 yum provides "*/rz",查找 rz 命令的提供者

阿里云网络源配置流程

1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
自建阿里云网络源
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存

自建阿里云网络源

1.配置一个web网站,使用nginx web服务器进行发布
出错提示:
[root@localhost yum.repos.d]# yum install nginx -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No package nginx available.
Error: Nothing to do
--------------------------------------
解决方法:没有对应的软件包,可以配置一个扩展源,命令如下:
方法1
yum install epel* -y
-----------------
方法2
配置1个nginx yum 源文件
vim install_nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

YUM命令常见用法_第1张图片
YUM命令常见用法_第2张图片
下载成功
YUM命令常见用法_第3张图片
YUM命令常见用法_第4张图片
YUM命令常见用法_第5张图片
https://blog.csdn.net/qq_37898024/article/details/112605610
更改显示页面
将路径改为项目路径。

vi nginx.conf

/usr/share/nginx/html/index.html
YUM命令常见用法_第6张图片
YUM命令常见用法_第7张图片
在这里插入图片描述
YUM命令常见用法_第8张图片

YUM 优先级配置实战

基于 YUM 安装软件时,通常会配置多个 Repo 源,而 Fastest mirror 插件是为拥有
多个镜像的软件库配置文件而设计的。它会连接到每一个镜像,计算连接所需的时间,
然后将镜像按快到慢排序供 YUM 应用。

默认 CentOS Linux 系统,Fastestmirror 插件是开启的,所以安装软件会从最快的
镜像源安装,但是由于 Repo 源很多,而在这些源中都存在某些软件包,但有些软件有重
复,甚至冲突,能否可以优先从一些 Repo 源中去查找,如果找不到,再去其他源中找呢?
可以使用 YUM 优先级插件解决该问题,YUM 提供的插件 yum-plugin-priorities,
直接 YUM 安装即可,命令如下

yum install -y yum-plugin-priorities

修改 YUM 源优先级配置文件,设置为 Enabled,开启优先级插件,1 为开启,0 为禁止;

vim /etc/yum/pluginconf.d/priorities.conf
enabled = 1

YUM命令常见用法_第9张图片
vim 修改/etc/yum.repos./xx.repo 文件,在 base 段中加入如下指令:(优先级为 1 表
示优先被查找,越大其反而被后续查找)

priority=1

YUM命令常见用法_第10张图片
基于 YUM 安装 ntpdate 软件,测试已经优先从 163 源中查找;
YUM命令常见用法_第11张图片

基于 ISO 镜像构建 YUM 本地源

通常而言,YUM 客户端使用前提是必须联外网,YUM 安装软件时,检查 repo 配
置文件查找相应的 YUM 源仓库,企业 IDC 机房很多服务器为了安全起见,是禁止服务
器上外网的,所以不能使用默认的官方 YUM 源仓库。
构建本地 YUM 光盘源,其原理是通过查找光盘中的软件包,实现 YUM 安装,配置
步骤如下:
(1) 将 CentOS-7-x86_64-DVD-1511.iso 镜像加载至虚拟机 CD/DVD 或者放入服
务器 CD/DVD 光驱中,并将镜像文件挂载至服务器/mnt 目录,如图 6-14 所示,
YUM命令常见用法_第12张图片

挂载命令:

mount /dev/cdrom /mnt/

YUM命令常见用法_第13张图片
配置光盘直接挂载到nginx 发布目录

mount /dev/cdrom /usr/share/nginx/html
vim /etc/nginx/conf.d/default.conf
增加以下参数
autoindex on; #显示目录
autoindex_exact_size on; #显示文件大小
autoindex_localtime on; #显示时间

在这里插入图片描述
重启nginx
YUM命令常见用法_第14张图片

(2) 备份/etc/yum.repos.d/CentOS-Base.repo 文件为 CentOS-Base.repo.bak,
同时在/etc/yum.repos.d 目录下创建 media.repo 文件,并写入如下内容

[yum]
name=CentOS7
baseurl=file:///mnt
enabled=1

gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7

Media.repo 配置文件详解:

name=CentOS7 YUM 源显示名称;
baseurl=file:///mnt ISO 镜像挂载目录;
gpgcheck=1 是否检查 GPG-KEY;
enabled=1 是否启用 YUM 源;
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7 指定载目录下的 GPG-KEY 文件
验证。

(3) 运行命令 yum clean all 清空 YUM Cache,执行 yum install screen –y 安装
screen 软件如图 6-15 所示:
YUM命令常见用法_第15张图片
(4) 至此 YUM 光盘源构建完毕,在使用 YUM 源时,会遇到部分软件无法安装,原
因是因为光盘中软件包不完整导致,同时光盘源只能本机使用,其他局域网服务器
无法使用。

基于 HTTP 构建 YUM 网络源

YUM 光盘源默认只能本机使用,局域网其他服务器无法使用 YUM 光盘源,如果想
使用的话,需要在每台服务器上构建 YUM 本地源,该方案在企业中不可取,所以需要构
建 HTTP 局域网 YUM 源解决,可以通过 CreateRepo 创建本地 YUM 源端,repo 即为
Repository。
构建 HTTP 局域网 YUM 源方法及步骤如下:
(1) 挂载光盘镜像文件至/mnt

mount /dev/cdrom /mnt/

(2) 拷贝/mnt/Packages 目录下所有软件包至/var/www/html/centos/

mkdir -p /var/www/html/centos/
cp -R /mnt/Packages/* /var/www/html/centos/

(3) 使用 Createrepo 创建本地源,执行如下命令会在 Centos 目录生成 repodata
目录,目录内容如图 6-16 所示:

yum install createrepo* -y
cd /var/www/html
createrepo centos/

YUM命令常见用法_第16张图片
(4) 利用 HTTP 发布 YUM 本地源
本地 YUM 源通过 CreateRepo 搭建完毕,需要借助 HTTP WEB 服务器发布
/var/www/html/centos/中所有软件,YUM 或者 RPM 安装 HTTP WEB 服务器,并启
动 httpd 服务。

yum install httpd httpd-devel -y      安装 HTTP WEB 服务;
useradd apache -g apache         创建 apache 用户和组;
systemctl restart httpd.service       重启 HTTPD 服务;
setenforce 0       临时关闭 SeLinux 应用级安全策略;
systemctl stop firewalld.service       停止防火墙;
ps -ef |grep httpd             查看 HTTPD 进程是否启动

(5) 在 YUM 客户端,创建/etc/yum.repos.d/http.repo 文件,写入如下内容:

[base]
name="CentOS7 HTTP YUM"
baseurl=http://192.168.1.115/centos/
gpgcheck=0
enabled=1
[updates]
name="CentOS7 HTTP YUM"
baseurl=http://192.168.1.115/centos
gpgcheck=0
enabled=1

(6) 至此在 YUM 客户端上执行如下命令,如图 6-17 所示:

yum clean all 清空 YUM Cache;
yum install ntpdate -y 安装 NTPDATE 软件。

YUM 源端软件包扩展

默认使用 ISO 镜像文件中的软件包构建的 HTTP YUM 源,会发现缺少很多软件包,
如果服务器需要挂载移动硬盘,Mount 挂载移动硬盘需要 ntfs-3g 软件包支持,而本地
光盘镜像中没有该软件包,此时需要往 YUM 源端添加 ntfs-3g 软件包,添加方法如下:
(1) 切换至/var/www/html/centos 目录,官网下载 NTFS-3G 软件包。

cd /var/www/html/centos/
wget
http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-2016.2.22-3.el7.x86_6
4.rpm
http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-devel-2016.2.22-3.el7
.x86_64.rpm

(2) Createrepo 命令更新软件包,同理,如需新增其他软件包,同样把软件下载至
本地,然后通过 createrepo 更新即可,如图 6-18 所示

createrepo --update centos/

(3) 客户端 YUM 验证,安装 NTFS-3G 软件包,如图 6-19 所示
YUM命令常见用法_第17张图片

同步外网 YUM 源

在企业实际应用场景中,仅仅靠光盘里面的 RPM 软件包是不能满足需要,我们可以
把外网的 YUM 源中的所有软件包同步至本地,可以完善本地 YUM 源的软件包数量及完
整性。
获取外网 YUM 源软件常见方法包括 Rsync、Wget、Reposync,三种同步方法的
区别 Rsync 方式需要外网 YUM 源支持 RSYNC 协议,Wget 可以直接获取,而 Reposync
可以同步几乎所有的 YUM 源,下面以 Reporsync 为案例,同步外网 YUM 源软件至本
地,步骤如下:
(1) 下载 CentOS7 REPO 文件至/etc/yum.repos.d/,并安装 reposync 命令工具:

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo /etc/yum.repos.d/centos.repo
yum clean all
yum install yum-utils createrepo –y
yum repolist

(2) 通过 reposync 命令工具获取外网 YUM 源所有软件包,-r 指定 repolist id,默
认不加-r 表示获取外网所有 YUM 软件包,-p 参数表示指定下载软件的路径

reposync -r base -p /var/www/html/centos/
reposync -r updates -p /var/www/html/centos/

(3) 通过 reposync 工具下载完所有的软件包之后,需要执行 createrepo 更新本地
YUM 仓库:

createrepo /var/www/html/centos/

同步作业

  1. RPM 及 YUM 管理工具的区别是什么?
  2. 企业中安装软件,何时选择 YUM 安装或者源码编译安装?
  3. 将 Linux 系统中 PHP5.3 版本升级至 PHP5.5 版本,升级方法有几种,分别写出升级
    步骤?
  4. 使用源码编译安装 httpd-2.4.25.tar.bz2,写出安装的流程及注意事项。
  5. 如何将 CentOS 7 Linux 字符界面升级为图形界面,并设置系统启动默认为图形界
    面?

你可能感兴趣的:(centos,常用命令)