文章目录
- Linux下yum源配置实战
- 一、Linux下软件包的管理
- 1、软件安装方式
- 2、源码安装的配置过程
- 3、详解源码安装的配置过程(定制)
- 4、详解编译过程
- 5、安装过程
- 6、axel多线程下载软件源码安装
- 7、使用软链接解决command not found
- 8、使用环境变量解决command not found
- 9、解决源码安装软件手册找不到问题
- 二、YUM源概述
- 1、yum源作用
- 2、yum源优点
- 3、yum源分类
- ☆ 本地yum源
- ☆ 网络yum源
- 三、本地YUM源配置
- 1、本地YUM配置
- 2、使用光盘镜像作为YUM源仓库
- 3、扩展man 5
- 四、网络YUM源配置
- 1、网络YUM源的分类
- 2、使用知名平台的YUM源
- 3、扩展:EPEL源配置
- 4、特定软件的YUM源配置
- 五、自建YUM源仓库
- 1、缓存安装软件包
- 2、如何缓存软件安装包
- 3、把软件及依赖软件全部下载到某个路径
- 4、自定义YUM仓库
- 任务背景
- 任务要求
- 任务拆解
- 课程目标
- 知识储备
- 一、yum源概述
- ㈠ yum源的作用
- ㈡ yum源的优点
- ㈢ yum源的分类
- 1、本地yum源
- 2、网络yum源
- 二、==yum源配置(重点)==
- ㈠ 本地yum源配置
- 1、本地需要有仓库
- ① 虚拟光驱装载镜像文件
- ② 将光盘挂载到本地目录
- ③ 开机自动挂载
- 2、修改配置文件指向本地仓库
- ① 知道配置文件存放路径
- ② 修改配置文件
- ㈡ 网络yum源配置
- 1、主机需要访问互联网
- 2、修改配置文件指向网络仓库
- ① 特定软件网络源
- ② 基础软件网络源
- 3、通过安装相应软件包直接配置
- 4、总结
- ㈢ 缓存安装的软件包
- 1、什么时候需要缓存软包?
- 2、如何缓存软包?
- ㈣ 自建yum仓库
- 任务实施
- 一、配置本地yum源
- ㈠ 挂载镜像到本地
- ㈡ 修改配置文件指向本地仓库
- 二、配置MySQL官方yum源
- ㈠ 下载官方提供的yum仓库软件包
- ㈡ 安装软件包来自动配置yum源
- ㈢ 清空yum缓存重新创建缓存
- 三、安装MySQL-5.6.43版本软件包
- 任务总结
- 扩展补充
- 1、yum仓库优先级
- 2、yum缓存软件包
- 课后强化
- 课后实战
- 1. 需求1
- 2. 需求2
- 3. 需求3
Linux下yum源配置实战
一、Linux下软件包的管理
1、软件安装方式
① RPM包管理(需要单独解决依赖问题)
② YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖)
③ 源码安装(安装过程比较复杂,源码安装三步走。优点:定制性很强)
软件:主线版(mainline),稳定版(stable)
2、源码安装的配置过程
在Linux系统中,源码安装一共分为三步(三步走):
第一步:配置过程(配置软件的安装路径)
第二步:编译过程(把软件由源代码编译成可以安装的程序)
第三步:安装过程(把编译后的程序进行安装)
# ./configure && make && make install
3、详解源码安装的配置过程(定制)
# cd 软件源码包
# ./configure [选项]
# ./configure --help--prefix=... Directories to put files in /usr/local 软件家目录
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf
--mandir=... $prefix/share/man man 文档路径
--locale=... $prefix/share/locale 语言编码
...
4、详解编译过程
# make
在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc软件(开发工具)的支持!如果没有请用 yum -y install gcc* 去安装一下
5、安装过程
# make install
6、axel多线程下载软件源码安装
第一步:获取axel多线程下载软件
第二步:上传axel软件包到Linux系统中
第三步:安装axel软件(源码安装三步走=>配置+编译+安装)
① 对软件进行解压缩操作
# tar -zxf axel-2.4.tar.gz
或
# tar -xf axel-2.4.tar.gz
② 使用cd命令切换到axel目录中
# cd axel-2.4
③ 对axel软件进行配置(不采用默认配置)
# ./configure --help
Usage: ./configure [OPTIONS]
Option Description Default
--prefix=... Directories to put files in /usr/local
--bindir=... $prefix/bin
--etcdir=... $prefix/etc
--mandir=... $sharedir/man
--locale=... $sharedir/locale
设置axel软件的安装路径为/opt/axel
# ./configure --prefix=/opt/axel
④ 对axel软件进行编译与安装
# make
# make install
或
# make && make install
&& :逻辑与,如果make编译成功会立即执行右边的make install安装程序,如果make编译失败,则以上程序会停止执行,然后抛出错误。
第四步:测试与使用
[root@yunwei ~]# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
bash: axel: command not found...
出现以上问题的主要原因在于:我们没有采用默认的安装方式,所以导致当我们执行axel命令时,其找不到对应的软件。
第五步:解决命令无法访问问题
第一种方式:采用软链接形式(类似Windows中的快捷方式)
第二种方式:使用环境变量(重要,Linux中的环境变量)
7、使用软链接解决command not found
# which axel
/usr/bin/which: no axel in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)# ll /opt/axel/bin
axel解决方案:给/opt/axel/bin/axel创建一个快捷方式到/usr/local/bin
# ln -s /opt/axel/bin/axel /bin/axel 基本语法:
# ln -s 源文件路径 软链接路径# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
8、使用环境变量解决command not found
环境变量
终端 => 命令 => 系统的环境变量(PATH => /etc/profile) => 一些命令的存放路径
axel多线程下载软件,通过源码的方式安装成功后,由于没有使用默认的安装路径,导致axel这个命令没有出现在系统的环境变量中,所以其会出现command not found。
第一步:查询当前系统的环境变量
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
第二步:把axel所在目录添加到环境变量
① 使用vim编辑/etc/profile文件,追加到最后一行
# vim /etc/profile
...
export PATH=$PATH:/opt/axel/bin
# source /etc/profile => 代表让以上配置立即生效② 使用echo命令向/etc/profile文件中追加一行
# echo 'export PATH=$PATH:/opt/axel/bin' >> /etc/profile
# source /etc/profile
第三步:测试axel命令是否可以使用
# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
9、解决源码安装软件手册找不到问题
问题重现:
[root@localhost axel]# man axel
No manual entry for axel
原因:找不到指定的man文档
解决方案:
[root@localhost axel]# vim /etc/man.config
...
增加如下内容:
MANPATH /opt/axel/share/man
二、YUM源概述
1、yum源作用
软件包管理器,类似360的软件管家
2、yum源优点
RPM安装(下载软件、单独安装、需要解决依赖关系)
源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
yum源:相当于rpm软件包管理的升级版
能够解决软件包之间的依赖关系,提高运维人员的工作效率。
yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,我们也可以通过rpm -qa |grep 软件名称
3、yum源分类
☆ 本地yum源
yum仓库在本地(系统光盘/镜像文件) => 不需要网络的支持
☆ 网络yum源
yum仓库不在本地,在远程
-
国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
阿里源:https://opsx.alibaba.com/mirror
清华源:https://mirrors.tuna.tsinghua.edu.cn/
-
国外较知名的网络源(centos源、redhat源、扩展[^epel]源等)
-
特定软件相关的网络源(Nginx、MySQL、Zabbix等)
三、本地YUM源配置
1、本地YUM配置
2、使用光盘镜像作为YUM源仓库
第一步:在VMware系统中装在CentOS7.6系统的光盘镜像
第二步:把光盘挂载到某个目录下
# mount -o ro /dev/sr0 /mnt
选项说明:
-o :挂载方式,ro代表以readonly=>只读的方式进行挂载rw代表以read/write=>读写的方式进行挂载
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /mnt
卸载或解挂可以使用umount /mnt
第三步:把光盘挂载添加到开机启动文件中
# chmod +x /etc/rc.local
# echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件
第四步:编写本地YUM仓库文件
# cd /etc/yum.repos.d/
创建一个以*.repo结尾的文件,名称任意
# vim CentOS-Media.repo
[c7-media]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1#基本源改名字#mv CentOS-Base.repo CentOS-Base.repo.1# yum clean all
# yum makecache
# yum repolist all注:file://本地协议路径,后面跟仓库的具体路径
yum仓库的标准格式
[仓库标识名称],名称任意,在一个文件中可以拥有多个标识
name=仓库名称
baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http://或https://
gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
enabled=是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库
第五步:测试本地YUM仓库是否可用
# yum install httpd -y
3、扩展man 5
在Linux系统中,给定我们一个配置文件,怎么查询这个文件中每一个选项的作用呢?
# man 命令
扩展:man 5 配置文件名称
# man 5 yum.conf
四、网络YUM源配置
1、网络YUM源的分类
① 使用比较知名平台的YUM源(阿里云、腾讯、清华)
② 有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源
2、使用知名平台的YUM源
阿里源:https://opsx.alibaba.com/mirror
清华源:https://mirrors.tuna.tsinghua.edu.cn/
腾讯源、华为源…
百度搜索 => 华为 mirror镜像源
案例:配置阿里云的yum源
第一步:百度,搜索你想要的YUM源,进入官网,找到CentOS
第二步:根据官网提示,配置阿里云的YUM源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# yum clean all
# yum makecache
3、扩展:EPEL源配置
什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
# yum install epel-release -y
比如:会跑的小火车就是在epel源中
# yum install sl -y
# sl
4、特定软件的YUM源配置
比如特殊的几个软件,如Nginx、MySQL、Zabbix
Nginx:http://www.nginx.org
MySQL:https://www.mysql.com/
Zabbix:https://www.zabbix.com/
找到官方文档,把YUM源配置,写入到一下文件中(repo文件)
# cd /etc/yum.repos.d
# vim 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
module_hotfixes=true
清理缓存:
# yum clean all
# yum makecache
安装Nginx:
# yum install nginx -y
五、自建YUM源仓库
1、缓存安装软件包
什么时候需要缓存软件?
- 下次还需要安装相同版本的软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2、如何缓存软件安装包
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 定义软件包的缓存路径
keepcache=1 1开启缓存;0关闭
debuglevel=2
logfile=/var/log/yum.log
...
3、把软件及依赖软件全部下载到某个路径
只下载不安装软件:
# yum install --downloadonly --downloaddir=保存路径 软件名称
案例:下载samba软件及依赖软件
# mkdir /soft
# yum install --downloadonly --downloaddir=/soft samba
4、自定义YUM仓库
第一步:在系统中安装createrepo制作仓库的软件
# yum install createrepo -y
第二步:把/soft文件夹做成一个本地的自建仓库
# createrepo /soft
第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库
# cd /etc/yum.repos.d/
# vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1
清理缓存+重建缓存:
# yum clean all
# yum makecache
任务背景
公司之前计划将现有的MySQL数据库从云平台迁移到云下物理真机上,并且已经在相应的物理机上安装好相应的操作系统。现在需要运维人员协助在测试机Centos7.6上安装好MySQL-5.6.43版本用于前期迁移准备工作,同时配置好本地yum源和外网源方便后续软件包安装。
任务要求
- 配置本地yum源和网络yum源
- 安装MySQL软件,版本为5.6.43
任务拆解
- yum源配置
- MySQL数据库软件安装
课程目标
- 了解yum源安装软件包的优点
- 了解常见的外网yum源
- 掌握本地和网络yum源的配置
- 能够使用yum工具安装软件包
知识储备
一、yum源概述
㈠ yum源的作用
软件包管理器,类似360的软件管家
㈡ yum源的优点
能够解决软件包之间的依赖关系,提高运维人员的工作效率。
㈢ yum源的分类
1、本地yum源
yum仓库在本地(系统光盘/镜像文件)
2、网络yum源
yum仓库不在本地,在远程
-
国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
搜狐源:http://mirrors.sohu.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
-
国外较知名的网络源(centos源、redhat源、扩展[^epel]源等)
-
特定软件相关的网络源(Nginx、MySQL、Zabbix等)
二、yum源配置(重点)
㈠ 本地yum源配置
1、本地需要有仓库
① 虚拟光驱装载镜像文件
略
② 将光盘挂载到本地目录
/mnt 操作系统默认的挂载点mount [挂载选项] 需要挂载的设备 挂载点手动挂载光盘到/mnt
lsblk 查看当前系统所有的设备文件
mount -o ro /dev/sr0 /mnt
注意:手动挂载后,系统重启需要再次手动挂载
③ 开机自动挂载
修改/etc/rc.local文件/etc/rc.local 操作系统开机最后读取的一个文件
echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
2、修改配置文件指向本地仓库
① 知道配置文件存放路径
[root@yunwei yum.repos.d]# pwd
/etc/yum.repos.d
② 修改配置文件
注意:文件名必须以.repo结尾
[root@yunwei yum.repos.d]# vi local.repo
[local] 仓库的名字,不要有特殊符号(自定义)
name=local yum 仓库描述
baseurl=file:///mnt 指定yum仓库的路径(重要);file://表示本地仓库;ftp://或者http://
enabled=1 启用仓库,1表示启用;0表示不启用
gpgcheck=0 不用校验软件包的签名,0表示不校验;1表示校验===================================================================
# man 5 yum.conf
[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/url://server2/path/to/repository/url://server3/path/to/repository/
enabled=1
gpgcheck=0测试验证:
yum clean all 清空yum缓存
yum makecache 创建yum缓存
yum list 查看仓库里的软件包
㈡ 网络yum源配置
1、主机需要访问互联网
说明:如果配置的是外网源,当前主机需要访问互联网。
2、修改配置文件指向网络仓库
① 特定软件网络源
[root@yunwei yum.repos.d]# vi nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1
说明:
baseurl=http://nginx.org/packages/centos/6/$basearch/
$basearch表示当前系统cpu架构,如果系统是32位会找32位软件包;如果64位会找64位软件包
② 基础软件网络源
[root@yunwei yum.repos.d]# vi 163.repo
[163]
name=163 network yum
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6[root@yunwei yum.repos.d]# vi aliyun.repo
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
3、通过安装相应软件包直接配置
说明:该方法是通过安装软件包,自动在相应目录里创建.repo文件(自动配置)
epel源:
https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
mysql源:
https://repo.mysql.com/mysql-community-release-el6.rpm
https://repo.mysql.com/mysql-community-release-el7.rpm
4、总结
yum配置(重点):
- 本地yum源配置核心
- 本地需要有软件仓库——>光盘挂载到系统某个目录上(
mount -o ro /dev/sr0 /mnt
) - 告诉yum工具去哪个仓库找软件包——>修改配置(
/etc/yum.repos.d/xxx.repo
)
- 本地需要有软件仓库——>光盘挂载到系统某个目录上(
- 网络yum源配置核心
- 当前主机必须能够访问互联网(外网源)
- 告诉yum工具去哪个仓库找软件包——>修改配置(
/etc/yum.repos.d/xxx.repo
) - 配置方法2种:直接修改配置文件;下载rpm包,安装软件包自动帮我配置
- 如果多个仓库里有相同的软件包,高版本优先
- 多个yum源,可以指定优先级,但是需要安装插件,修改配置文件完成【参考扩展补充】
㈢ 缓存安装的软件包
1、什么时候需要缓存软包?
- 下次还需要安装相同版本的软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2、如何缓存软包?
修改配置文件/etc/yum.conf
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 定义软件包的缓存路径
keepcache=1 1开启缓存;0关闭
debuglevel=2
logfile=/var/log/yum.log
...
㈣ 自建yum仓库
**思考1:**什么情况下需要自建yum仓库?
思路:
- 创建一个目录来保存相应的软件
- 需要在该目录下生成repodata目录
- 修改配置文件指向本地自建仓库
步骤:
- 创建一个目录来保存相应软件
[root@yunwei soft]# mkdir /soft
- 将你准备的所有软件包拷贝到/soft目录里
说明:以下只是演示举例,以后根据自己的实际情况,将你准备的软件包考到本地目录就行
[root@yunwei soft]# pwd
/soft
[root@yunwei soft]# cp /mnt/Packages/samba* /soft/
[root@yunwei soft]# cp /mnt/Packages/libtevent-0.9.26-2.el6_7.x86_64.rpm /soft
[root@yunwei soft]# cp /mnt/Packages/libtalloc-2.1.5-1.el6_7.x86_64.rpm /soft/
- 扫描软件包所在目录生成repodata目录
[root@yunwei soft]# yum -y install createrepo
[root@yunwei soft]# createrepo /soft
验证是否多了repodata目录
[root@yunwei soft]# ls /soft
- 关闭本地仓库和所有网络仓库,配置自己创建的yum仓库
1) 根据自己配置情况,打开本地和网络源的配置文件
将enabled=1修改为enabled=0
2) 创建自建源配置文件
[root@yunwei soft]# vim /etc/yum.repos.d/myself.repo
[myself]
name=myself yum
enabled=1
baseurl=file:///soft 路径就是自己之前创建的目录,里面有软件包也有repodata目录
gpgcheck=0
3) 清空yum缓存重新创建
[root@yunwei soft]# yum clean all
[root@yunwei soft]# yum makecache
- 测试验证安装samba软件
[root@yunwei soft]# yum install samba
注意:安装samba软件包来自myself仓库,同时会自动安装其他依赖关系软件包
任务实施
一、配置本地yum源
㈠ 挂载镜像到本地
手动挂载
[root@yunwei ~]# mount -o ro /dev/sr0 /mnt/
开机自动挂载
[root@yunwei ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
㈡ 修改配置文件指向本地仓库
[root@yunwei ~]# cd /etc/yum.repos.d/
[root@yunwei yum.repos.d]# cat local.repo
[local]
name=local yum
baseurl=file:///mnt
enabled=1
gpgcheck=0
二、配置MySQL官方yum源
㈠ 下载官方提供的yum仓库软件包
通过浏览器找到适合自己系统的软包下载
https://dev.mysql.com/downloads/repo/yum/
㈡ 安装软件包来自动配置yum源
安装软件包
[root@yunwei ~]# rpm -ivh mysql80-community-release-el6-2.noarch.rpm
warning: mysql80-community-release-el6-2.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]1:mysql80-community-relea########################################### [100%]查看自动配置的mysql源仓库配置文件
[root@yunwei ~]# ls /etc/yum.repos.d/mysql-community*
/etc/yum.repos.d/mysql-community.repo /etc/yum.repos.d/mysql-community-source.repo注意:
1.默认情况下,官方提供最新版本的软件,我们需要根据自己的情况进行修改配置文件
2.我们需要安装mysql-5.6版本,所以关闭其他版本的仓库,只打开5.6的仓库[root@yunwei ~]# cd /etc/yum.repos.d/
[root@yunwei yum.repos.d]# vim mysql-community.repo
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1 将0改为1,开启5.6版本仓库
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
....
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=0 将1改改为0,关闭默认的8.0版本仓库
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql以下两个仓库也关闭,暂时用不到
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
㈢ 清空yum缓存重新创建缓存
[root@yunwei yum.repos.d]# yum clean all
[root@yunwei yum.repos.d]# yum makecache
三、安装MySQL-5.6.43版本软件包
[root@yunwei ~]# yum install mysql-community-server
说明:
- 通过网络安装,可能会由于网络原因安装不成功,多试几次即可
- 一台机器安装好后,如果另外一台也需要安装,可以通过开启缓存下载下来,做成本地仓库安装
任务总结
- 明白需求
- 拆解任务
- 知识储备
- 落地实现
- 总结验证
扩展补充
1、yum仓库优先级
问:如果有多个仓库,是否可以设置yum源的优先级设定?
- 可以设置,但是需要安装插件
yum-plugin-priorities
。 - 安装完插件后,只需要在yum源配置文件*.repo里指定优先级即可,如:
添加priority=n的配置项,n值越小优先级越高,默认99.
[local]
name=local yum
baseurl=file:///mnt
enabled=1
gpgcheck=0
priority=1
2、yum缓存软件包
**问:**如果想把从网络源安装的软件包下载到本地方便后续使用,怎么做呢?
- 只需要开启yum缓存功能即可
- 通过修改配置文件开启yum缓存功能,如下:
[root@yunwei ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 软件包的缓存路径
keepcache=1 将0变成1,表示缓存安装软件包到本地
debuglevel=2
logfile=/var/log/yum.log
....
课后强化
- rpm工具使用
rpm -ivh package
安装
rpm -e package
卸载
rpm -Uvh
升级,如果已安装老版本,则升级;如果没安装,则直接安装
rpm -Fvh
升级,如果已安装老版本,则升级;如果没安装,则不安装
rpm -ivh --force
强制安装
rpm --nodeps
忽略依赖关系
rpm -ql
查看已经安装的软件的文件列表
rpm -qlp package.rpm
查看未安装的rpm包里的文件列表
rpm -qa 查看已经安装的所有rpm包
rpm -qd 查看软件的文档列表
rpm -qc 查看软件的配置文件
rpm -qi 查看软件的详细信息
rpm -qf filename
查看文件来自哪个rpm包
rpm --import key_file
导入公钥用于检查rpm文件的签名
rpm -checksig package.rpm
检查rpm包的签名
- yum工具使用
# yum install package -y
默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)
# yum install ./xlockmore-5.31-2.el6.x86_64.rpm
或者
# yum localinstall ./xlockmore-5.31-2.el6.x86_64.rpm
安装来自本地指定路径下的rpm包,而不是来自仓库
# yum remove 或者 erase package
卸载软件包
# yum update
更新仓库里所有比本机已经安装过的软件要的软件
# yum update package
指定升级的软件
# yum search mysql
搜索出所有软件名字或者软件描述包含“mysql”关键字的软件
# yum provides "*libmysqlclient.so*"
找出模块由哪些软件包提供
# yum provides "*xeye*"
搜索一个包含xeye关键字的软件包
# yum clean all
清空之前的yum列表缓存
# yum makecache
创建新的缓存
# yum list
列出仓库里的所有软件包
# yum repolist
列出已配置的软件仓库
# yum list|tail
查看未安装的软件包
# yum list |grep 关键字
@代表已经安装成功
# yum list installed
查看已安装的包
# yum grouplist
查看包组
# yum groupinstall "包组"
安装包组
# yum groupremove "包组"
# md5sum +包名
直接校验第三方提供的软件包
课后实战
1. 需求1
Centos默认使用自带的国外源,由于网络问题请将其替换为国内的清华源、阿里云源,163源,sohu源其中之一
2. 需求2
开发人员需要安装某个软件包(epel源中有),发现现有yum源中没有,需要运维协助配置EPEL源(两种方式搭建EPEL源)
3. 需求3
给开发人员搭建能够提供指定软件包的安装源,如zabbix的yum源
puppet:
http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
http://yum.puppetlabs.com/puppetlabs-release-fedora-20.noarch.rpmZabbix:
http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
http://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm
“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS等系统