[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 //主配置文件

[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

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 (软件名)

yum search (关键字)

yum info (软件名)

yum provides (关键字)

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

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

yum history
yum history redo 5

三、搭建yum仓库

3.1 搭建本地yum仓库

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

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

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

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

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

vim local.repo

 第四步:清理缓存和建立元数据

yum clean all && yum makecache

 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

3.3 ftp方式搭建云仓库

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

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

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

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

 3.4 http方式搭载云仓库

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

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

 

 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

卸载之前安装的软件 

 重新安装

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

 

重启就可以选择内核

 

 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(安装肯定失败,根据提示安装对应依赖包再尝试)

 

 

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

安装直接用yum装就行 

总结:

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值