软件安装的版本选择
针对开源的软件:
==>主线版(mainline)
==>稳定版(stale)–会比最新版本晚2-3年
yum源的作用
相当于rpm软件管理的升级版本,能解决软件之间的依赖关系;
yum源的底层是基于rpm进行软件安装操作的,因此yum安装后,也可以使用
rpm -qa | grep 软件名
yum分类
1 本地yum源
yum仓库在本地(系统光盘/镜像文件) --无需网络
2 网络yum源
国内知名的网络源:
阿里云源、腾讯源、网易源、sohu源、知名大学的yum源等
国外知名的网络源:
centos源、redhat源、拓展eple源等
tips:可以在百度上搜索’‘xx mirror镜像源’'的方式来获取yum源
使用光盘镜像作为yum源的仓库
第一步:在VM中装载CentOS光盘镜像
第二步:将光盘挂载到某个目录,通常为/mnt目录
清除/mnt目录下的文件,确保它是一个空目录
rm -rf /mnt/*
挂载光盘
mount -o ro /dev/sr0 /mnt
注释:-o 挂载的方式
ro 以只读方式进行挂载,一般针对光盘;
rw 以读写方式进行挂载,一般针对硬盘/U盘;
可以通过命令’lsblk’来查看光盘是否挂载成功
如需解挂可以使用命令:umount /mnt
第三步:将光盘挂载添加到开机启动中,使重启后挂载依然有效
开机启动文件为/etc/rc.local -> /etc/rc.d/rc.local
在配置文件之前需要给他添加执行权限
chmod +x /etc/rc.d/rc.local
除了通过vi命令进入文件,在文件最后一行添加命令外,还可以通过以下命令
echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.d/rc.local
第四步:编写本地yum仓库文件
在此之前需要读本地yum源进行备份
第一步:使用cd命令切换到/etc/yum.repos.d目录
# cd /etc/yum.repos.d/
第二步:对所有的仓库文件进行备份
# tar -zcf repo.tar.gz *.repo
第三步:删除所有的以.repo结尾的仓库文件
# rm -rf *.repo
编写本地yum仓库文件
# cd /etc/yum.repos.d/
创建一个以*.repo结尾的文件,名称任意
# vim local.repo
[local] [仓库标识名称]名称任意,一个文件中可有多个标识
name=local yum 仓库名称
baseurl=file:///mnt 仓库的路径,支持多种格式,file://本地路径,ftp://,http://或https://
gpgcheck=0 gpg密钥,值可以是0(代表不检测),1(代表检测)
如果是1,下方还要定义一个gpgkey=密钥连接
enabled=1 是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库
清除缓存
yum clean all
建立缓存
yum makecache
检测本地yum源是否可用
yum repolist all
网络yum源的配置
就是各种知名平台的yum源,例如说
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
搜狐源:http://mirrors.sohu.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
腾讯源、华为源…
可用通过百度来查找
例如:百度搜索 => 阿里云 mirror镜像源
一般像阿里腾讯的yum源官网都有现成的代码,只需要粘贴复制就可以完成操作
一般来说不外乎几步走
第一步:备份CentOS-Base.repo这个文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载wget -O
wget -O http://xxxxxxxx
第三步:清理缓存和建立缓存
yum clean all
yum makecache
扩展:EPEL源配置
什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
yum install epel-release -y
比如:会跑的小火车就是在epel源中
yum install sl -y
特定软件的YUM源配置
比如特殊的几个软件他们拥有yum仓库,如:Nginx,Mysql,Zabbix…
与网络yum源配置相同,可以在对应软件的官网上寻找
Nginx:http://www.nginx.org
MySQL:https://www.mysql.com/
Zabbix:https://www.zabbix.com/
同时,官网上有配置好的yum源配置,直接写入到文件中
# 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源仓库
为什么要缓存安装软件包,什么情况需要自建yum仓库
- 下次还需要安装相同版本的软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
1 如何缓存软件安装包
方式一:通过修改配置文件
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 # 0为下载的包会在安装后删除;1为保留
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
这个配置文件是YUM(Yellowdog Updater, Modified)的主配置文件,用于定义YUM在Linux系统上工作时的各种行为和设置。下面是对每个配置项的简单解释:
-
[main]
:这是配置文件中的一个节(section),包含了YUM的基本或主要配置。 -
cachedir=/var/cache/yum/$basearch/$releasever
:指定了YUM用来存储下载的rpm包及其元数据的缓存目录。$basearch
和$releasever
是变量,分别代表基础架构(如x86_64)和发行版版本,这样可以确保不同架构和版本的包分开存放。 -
keepcache=0
:设定是否保留缓存的rpm包和元数据。值为0表示不保留,默认情况下下载的包会在安装后被删除;如果设为1,则会保留这些文件。 -
debuglevel=2
:调试级别,范围是0到10,数字越大,输出的调试信息越详细。这里设置为2,意味着会提供适量的调试输出,适用于一般故障排查。 -
logfile=/var/log/yum.log
:指定YUM操作的日志文件位置。所有的安装、更新、删除等操作记录都会被写入此文件。 -
exactarch=1
:是否只安装与系统架构完全匹配的rpm包。值为1表示只安装精确匹配的包,有助于避免不必要的错误和提高效率。 -
obsoletes=1
:启用对废弃软件包的支持。当新的rpm包可以替代旧的、不再维护的包时,这个选项可以帮助自动处理这种替换关系。 -
gpgcheck=1
:是否检查rpm包的GPG签名。值为1表示开启检查,确保安装的软件来自可信源,未被篡改。 -
plugins=1
:启用YUM插件支持。YUM插件可以扩展YUM的功能,比如fastestmirror插件可以自动选择最快的镜像源。 -
installonly_limit=5
:限制能够同时安装(而非升级)的内核或其他标记为"installonly"的包的数量。这防止了系统中积累过多的内核版本。 -
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
:当用户报告问题时,指向的错误跟踪器URL。这个链接帮助用户直接向CentOS项目提交关于YUM的问题报告。 -
distroverpkg=centos-release
:定义了用于确定系统发行版版本的rpm包。在这个例子中,使用centos-release
包来确定CentOS的具体版本,这对于正确地定位和获取软件仓库的适当软件包至关重要。
方式二:把软件及依赖软件全部下载到某个路径
只下载不安装软件(只缓存):
yum install --downloadonly --downloaddir=保存路径 软件名称
案例:下载samba软件及依赖软件
mkdir /soft
yum install --downloadonly --downloaddir=/soft samba
3 自定义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