Linux部署YUM仓库服务(不要听着励志的话做着颓废的人)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux部署YUM仓库服务(不要听着励志的话做着颓废的人)

目录




一、yum仓库简介


1.1 简介


1.2 yum实现过程


二、yum配置文件及命令


2.1 yum配置文件


2.2 仓库设置文件


2.3 日志文件


2.4 yum常见命令


2.5 命令详解


2.5.1  yum list [软件名]


2.5.2  yum info [软件名]


2.5.3 yum search <关键词>


2.5.4 yum whatprovides <关键词>


2.5.5 yum grouplist [包组名]


2.5.6  yum install [软件名]


2.5.7 yum remove <软件名>


2.5.8 yum groupinstall <包组名>


2.5.9 yum history


三、搭建仓库的方式


3.1 搭建本地yum仓库


3.2  http方式外网环境搭建yum仓库(搭建阿里云仓库)


3.3 http方式内网环境搭建yum仓库


3.4 ftp方式搭建yum仓库


四、总结


一、yum仓库简介



1.1 简介


基于RPM包构建的软件更新机制

可以自动解决依赖关系

所有软件包由集中的YUM软件仓库提供

c/s架构

       linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。


       yum软件仓库中的rpm软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的


image.png


1.2 yum实现过程


       先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。


二、yum配置文件及命令



2.1 yum配置文件


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


[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log           // 日志文件位置
exactarch=1                    //是否允许不同版本的rpm安装
obsoletes=1                 //update 的一个参数是否可以允许旧版本的运行  
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表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的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量


2.2 仓库设置文件


位置:/etc/yum.repos.d/*.repo   //yum仓库文件位置


默认的yum仓库 是centos官方的yum源,需要联网才可以使用


[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak               CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo    CentOS-Media.repo


2.3 日志文件


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


[root@localhost ~]# cat /var/log/yum.log
Feb 18 10:12:12 Installed: tree-1.6.0-10.el7.x86_64
Feb 18 10:33:10 Installed: 12:dhcp-4.2.5-68.el7.centos.x86_64
Feb 20 08:46:40 Installed: tree-1.6.0-10.el7.x86_64


2.4 yum常见命令


命令

作用

yum repolist all 列出所有仓库
yum list all 列出仓库中所有软件包
yum info 软件包名称  查看软件包信息
yum install 软件包名称 安装软件包
yum reinstall 软件包名称 重新安装软件包
yum update 软件包名称 升级软件包
yum remove 软件包名称 卸载软件包
yum clean all 清除所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 查看系统中已经安装的软件包组
yum groupinstall 软件包组 安装指定的软件包组
yum groupremove 软件包组 移除指定的软件包组

yum groupinfo 软件包组

查询指定的软件包组信息
yum history 查看当前yum操作历史
yum history undo 加入序号卸载序号里安装的软件
yum history redo 加入序号重新执行序号里的操作



2.5 命令详解


2.5.1  yum list [软件名]


显示可用的安装包,如不加软件名是显示所有的可用包


image.png


2.5.2  yum info [软件名]


显示安装包详细信息,如不加软件名是显示所有包的详细信息


image.png


2.5.3 yum search <关键词>


根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来


image.png


2.5.4 yum whatprovides <关键词>


查找只知道命令而不知道具体的包


image.png


2.5.5 yum grouplist [包组名]


安装包组的查询,不加包组名就是显示所有


image.png


2.5.6  yum install [软件名]


安装软件包,如安装http服务


image.png


2.5.7 yum remove <软件名>


卸载已安装的软件


image.png


2.5.8 yum groupinstall <包组名>


包组安装同yum install


#若系统是最小化安装没有桌面,而想要安装执行这条命令
yum groupinstall gnome desktop
#如无法使用请先升级
yum -y upgrade
#再安装
yum -y groups install "GNOME Desktop"
#GNOME Desktop 是桌面组

1.此时我有台最小化安装的机子


image.png


2.升级,一共有四百多个包


image.png


3.安装,共有1090个包

image.png

image.png

image.png


4.在虚拟机输入startx后跳转黑屏,这时我们重启再输入init 5就可以进入了

image.png

image.png

image.png


2.5.9 yum history


查看历史的使用记录


image.png


我们通常在写yum命令的时候加上-y表示 “是否继续?[y/N]”中的y


三、搭建仓库的方式



FTP服务:ftp://ip地址/站点里路径

HTTP服务:http://域名或者ip地址/站点里的路径

本地仓库:file://绝对路径 (file:///mnt 此处第三个/为根目录)


3.1 搭建本地yum仓库


查看我的另一篇博客


搭建本地yum仓库


若要永久挂载需要在/etc/fstab文件中写入下面的信息


[root@localhost ~]# vim /etc/fstab

image.png


小贴士


当没有网而又没有搭建本地yum仓库的情况下,可以使用下面这条命令,但是只下载需要的包没有建立依赖关系


[root@localhost ]#yum -y install --downloadonly --downloaddir=/data/bind  bind


#downloadonly只下载


#downloaddir指定下载的目录,目录如果不存在,会自动创建


3.2  http方式外网环境搭建yum仓库(搭建阿里云仓库)


国外云仓库比较慢,可以使用阿里云仓库代替


CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/ 
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/ 
#华为云
https://repo.huaweicloud.com/centos/$releasever/ 
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
#releasever表示版本
EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

image.png


[root@localhost yum.repos.d]# yum clean all && yum makecache
[root@localhost yum.repos.d]# yum list all

image.png


3.3 http方式内网环境搭建yum仓库


搭建方法与ftp类似


setenforce 0
systemctl stop firewalld.service
#两台机子关闭防火墙和selinux


服务端:192.168.109.131上的操作


yum install -y httpd
systemctl start httpd
cd /var/www/html/
mkdir centos7
ls
mount /dev/sr0 /var/www/html/centos7/
网页访问本机IP


客户端:192.168.109.132上的操作


cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
vim http.repo
#####################
[http]
name=centos
baseurl=http://192.168.109.131/centos7
gpgcheck=0
enabled=1
#######################
yum clean all &&yum makecache
yum list all
3.4 ftp方式搭建yum仓库
setenforce 0
systemctl stop firewalld.service
#两台机子关闭防火墙和selinux


3.4 ftp方式搭建yum仓库

setenforce 0
systemctl stop firewalld.service
#两台机子关闭防火墙和selinux


服务端:192.168.109.131上的操作


image.png


[root@localhost ~]#systemctl start vsftpd

image.png


客户端:192.168.109.132上的操作

image.png

image.png


baseurl=ftp://192.168.109.131/centos7  
#指名从服务器端的centos7目录中读取
#ftp的根目录就是/var/ftp

image.png


[root@localhost yum.repos.d]# yum list all
#显示所有列表

image.png


四、总结



搭建yum仓库方式


1.FTP服务

2.HTTP服务

3.本地仓库


rpm软件包的来源


1.centos发布的rpm包的集合

2.第三方组织发布的rpm包集合

3.用户自定义的rpm包集合

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
510 57
|
2月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
206 41
|
2月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
273 17
|
2月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
84 18
|
2月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
100 10
|
1月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
66 0
|
1月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
68 0
|
5月前
|
监控 Linux
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
138 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
5月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
465 25