[Linux] yum仓库相关

一、yum仓库

1.1 yum简介

yum 是一种基于 RPM 软件包(Red-Hat Package Manager 的缩写)的软件更新机制,可自动解决软件包之间的依赖关系。这就解决了日常工作中花费大量时间寻找安装包的问题。 为什么会出现依赖 linux 本身就有简化系统的优势,因为在安装操作系统时,你并没有为安装软件编译所有的库和包 在安装操作系统时,会显示软件包依赖关系。 通过存储库和客户端,yum 可以安装在两台机器上,因为 yum 可以存储在两台机器上,即整个 yum 由两部分组成,所以 yum 可以安装在两台机器上。因此,yum 可以存储在两台服务器上。它也可以托管在一台服务器上。它可以由官方服务提供,也可以由第三方(如国内的阿里云或搜狐云)或非营利组织(如学校)提供。官方来源通常是国外的,下载速度肯定有限,手动换成国内云可以大大提高下载速度。

1.2 如何实现安装

首先客户端发送下载软件请求,会根据文件配置找到仓库位置,然后从服务端下载元信息,客户端会根据元信息找到软件的具体位置,最后从服务端下载到客户端。

二、yum配置文件及使用命令

2.1 主配置文件

文件位置:/etc/yum.conf //主配置文件

[Linux] yum仓库相关_第1张图片

[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch表示系统架构 $releasever表示系统版本
keepcache=0  //是否保留缓存,0代表不保存1代表保存
debuglevel=2   //调试级别
logfile=/var/log/yum.log  //日志文件位置
exactarch=1  //是否允许不同版本的RPM包安装
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
          

 2.2 日志文件

文件位置:/var/log/yum.log

[Linux] yum仓库相关_第2张图片

2.3 仓库设置文件

位置:/etc/yum.repos.d

2.4 yum命令

命令 解释
yum list 显示所有可用包,包名支持通配符
yum info 显示包的信息
yum search ftp 模糊查找,查找包含"ftp"字符的所有安装包
yum provides ftp 精确查找,查找这个命令来自哪个包
yum history 查看yum的所有操作
yum history undo 反悔卸载已经安装的软件(配合序号使用)
yum history redo 重新执行安装软件步骤(配合序号使用)
2.4.1 查询
yum list (软件名)

[Linux] yum仓库相关_第3张图片

yum search (关键字)

[Linux] yum仓库相关_第4张图片

yum info (软件名)

[Linux] yum仓库相关_第5张图片

yum provides (关键字)

[Linux] yum仓库相关_第6张图片

2.4.2 安装与升级
yum -y install (软件名)

[Linux] yum仓库相关_第7张图片

2.4.3 卸载 
yum remove (软件名)  卸载已安装的软件必须加软件名

[Linux] yum仓库相关_第8张图片

yum history
yum history redo 5

[Linux] yum仓库相关_第9张图片

三、搭建yum仓库

3.1 搭建本地yum仓库

第一步:关闭防火墙 核心防护,挂载光盘 

systemctl stop firewalld
setenforce 0
mount /dev/sr0   /mnt

第二步:切换到主配置文件夹,创建一个备份文件夹,把官方源移动到备份文件夹中

cd /etc/yum.repos.d
mkdir bak
mv *.repo bak

[Linux] yum仓库相关_第10张图片

第三步:创建一个本地仓库文件

vim local.repo

[Linux] yum仓库相关_第11张图片 第四步:清理缓存和建立元数据

yum clean all && yum makecache

[Linux] yum仓库相关_第12张图片

 3.2 搭建网络源仓库(阿里 华为 腾讯 清华源等)

    和搭建本地源一样的步骤

systemctl stop firewalld
setenforce 0
mount /dev/sr0   /mnt
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim wangluo.repo
yum clean all && yum makecache

[Linux] yum仓库相关_第13张图片

[Linux] yum仓库相关_第14张图片

[Linux] yum仓库相关_第15张图片

3.3 ftp方式搭建云仓库

第一步:服务端安装vstfp服务

服务端
yum -y install vsftpd
systemctl start vstfpd
mkdir kunkun
mount /dev/sr0  /var/ftp/kunkun

第二步:服务端切换到 ftp目录下新建一个kunkun目录  

[Linux] yum仓库相关_第16张图片

客户端
systemctl  stop firewalld
setenforce 0
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim ftp.repo
yum clean all && yum makecache

[Linux] yum仓库相关_第17张图片

[Linux] yum仓库相关_第18张图片 3.4 http方式搭载云仓库

服务端
systemctl stop firewalld
setenforce 0
yum -y install httpd
systemctl start httpd
mount /dev/sr0 /var/www/html

[Linux] yum仓库相关_第19张图片

客户端
systemctl  stop firewalld
setenforce 0
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim http.repo
yum clean all && yum makecache

[Linux] yum仓库相关_第20张图片

 [Linux] yum仓库相关_第21张图片

[Linux] yum仓库相关_第22张图片 3.5 自建元信息

mount /dev/sr0 /mnt
mkdir /data
mkdir /data/test
mkdir /data/test/packages
mv /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm  /data/test
cd /data/test
mv /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm  packages
cd ..
createrepo -v test
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim tree.repo
yum clean all
yum makecache
yum install tree -y

[Linux] yum仓库相关_第23张图片

[Linux] yum仓库相关_第24张图片

卸载之前安装的软件 

[Linux] yum仓库相关_第25张图片 重新安装[Linux] yum仓库相关_第26张图片

[Linux] yum仓库相关_第27张图片

3.6 升级内核

yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
//生成仓库文件
//内核库默认关闭打开就可以了
yum repolist all
vim elrepo.repo
yum list *kernel*
yum install kernel-lt.x86_64 -y

[Linux] yum仓库相关_第28张图片

[Linux] yum仓库相关_第29张图片 [Linux] yum仓库相关_第30张图片

[Linux] yum仓库相关_第31张图片[Linux] yum仓库相关_第32张图片

重启就可以选择内核

[Linux] yum仓库相关_第33张图片 [Linux] yum仓库相关_第34张图片

[Linux] yum仓库相关_第35张图片 3.7 离线安装软件

思路:先在一台可以联网的主机下载软件依赖包放在指定目录,打包,在无网环境想要安装只需解包安装相应的包即可

mkdir /data
yum install nginx --downloadonly --downloaddir=/data/
--downloadonly  #只下载相关包默认至某一目录
--downloaddir=绝对目录路径  #下载到某一目录  
cd /data
ls
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
cd /data
yum -y install nginx(安装肯定失败,根据提示安装对应依赖包再尝试)

[Linux] yum仓库相关_第36张图片

[Linux] yum仓库相关_第37张图片 [Linux] yum仓库相关_第38张图片

[Linux] yum仓库相关_第39张图片 [Linux] yum仓库相关_第40张图片

去创建的目录查看不是最小化安装会少包,我这里就是) 

安装直接用yum装就行 

总结:

1. 学会部署yum仓库的方式,可以进行不同场景的运用

2. 本地yum源和在线源可以安装在同一个repo文件中,设置好优先级,就可以正常使用

你可能感兴趣的:(Linux,linux,github,git)