yum配置及仓库搭建

news/2024/10/10 2:23:14

yum实现

YUM 是一个在 Linux 系统中用于管理软件包的工具,可以在服务器和客户端之间跨网络使用。在这种系统中,服务器上通常会存储软件包(RPM 包)和相应的元数据(repodata 文件夹中的内容)。

  • RPM 包:这些是实际的软件包文件,它们包含了应用程序、库文件、配置文件等。这些包被存储在服务器的特定目录中,供客户端下载和安装。

  • 元数据:这些数据提供了关于软件包的详细信息,比如软件包的名称、版本、描述、依赖关系等。repodata 文件夹中的内容包括了目录信息、软件包的依赖关系、软件包的位置等。这些元数据被客户端用于确定需要下载哪些软件包以及它们之间的依赖关系。

当客户端执行 YUM 命令时,它会连接到服务器并请求更新软件包信息。服务器会提供最新的元数据,客户端使用这些信息确定要安装、更新或删除的软件包,并下载相应的 RPM 包。然后客户端会安装这些软件包,同时处理它们之间的依赖关系,确保系统中的软件包是正确的版本并且满足所有依赖关系。

仓库类型:

  • 光盘的仓库基本仓库

  • epel扩展仓库

yum配置文件

主配置文件

位置:/etc/yum.conf           //主配置文件
[root@localhost]#vim /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

仓库设置文件

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

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:876
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

可以直接在CentOS-Base.repo中修改baseurl改变yum源。

 日志文件

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

 yum命令

命令不加关键字加入关键词、软件包、软件包组
yum list 显示所有可用包 单个的可安装包
yum info 显示所有可用包的信息 单个具体的信息
yum search \ 模糊查找所有的相关信息
yum provides \ 精确查找,某个命令却不知道具体的包可以用此命令查找
yum grouplist 显示所有可用包组 显示具体的包组
yum groupinfo 显示所有的包组具体信息 显示具体的包组的具体信息
yum install \ 安装具体软件包
yum groupinstall \ 安装具体软件包组
yum update 所有软件升级 具体软件升级
yum group update 所有包组升级 具体包组升级
yum remove \ 卸载具体软件
yum groupremove \ 卸载具体包组软件
yum history 查看当前yum操作历史 \
yum history undo 加入序号卸载序号里安装的软件 \
yum history redo 加入序号重新执行序号里的操作 \

搭建yum仓库

软件仓库的提供方式

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

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

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

本地yum仓库

挂载光驱镜像文件

[root@localhost ~]# mount /dev/sr0 /mnt

新建.repo文件

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo
[base]
name=local
baseurl=file:///mnt
gpgcheck=0

清理缓存

[root@localhost ~]# yum clean all ; yum makecache 

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

和本地源同样将其他的,repo文件放到bak文件夹下。

新建ali.repo文件

[root@localhost yum.repos.d]# vim ali.repo 
[ali]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=0[epel]
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0[update]
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0

清理缓存

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

 服务端

  • 下载http服务
yum install httpd
  • 挂载光盘镜像到/var/www/html/centos7/
[root@localhost html]# mkdir centos7
[root@localhost html]# mount /dev/sr0 /var/www/html/centos7/
  • 重启httpd
[root@localhost ~]# systemctl restart httpd.service 
  • 放通防火墙
[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# firewall-cmd --reload 
success
  • 查看网页

 客户端

  • 配置.repo文件
[root@hx2 ~]# cd /etc/yum.repos.d/
[root@hx2 yum.repos.d]# vim http.repo
[http]
name=http
baseurl=http://192.168.146.150/centos7
gpgcheck=0
  • 清理缓存

 ftp方式内网环境搭建yum仓库

客户端和服务器和http的搭建方式几乎一样,只要在服务端开启ftp服务,改变yum源位置;在客户端开启ftp服务,改变.repo中baseurl即可。

服务端

  • 安装vsftpd

[root@localhost ~]# yum install vsftpd.x86_64 -y

  • 开启vsftpd
[root@localhost ~]# systemctl status vsftpd.
  • 放通防火墙和selinux
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp 
success
[root@localhost ~]# firewall-cmd --reload 
success
[root@localhost ~]# setenforce 0
  • 挂载光盘文件到ftp目录下
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7/

客户端

  • 安装ftp
[root@localhost ~]# yum install ftp
  • 放通防火墙和selinux
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp 
success
[root@localhost ~]# firewall-cmd --reload 
success
[root@localhost ~]# setenforce 0
  •  ftp登录服务端成功

  •  搭建yum仓库ftp.repo
[root@localhost yum.repos.d]# vim ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.146.146/centos7
gpgcheck=0
  • 清理缓存
[root@localhost yum.repos.d]# yum clean all ; yum makecache 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

P3193 [HNOI2008] GT考试 题解

P3193 [HNOI2008] GT考试 题解之前学矩阵乘的时候做的题,当时因为不会\(kmp\)搜索一稀里糊涂过去了,现在填个坑。头图 是\(Logos\)!P3193 [HNOI2008] GT考试 题链:洛谷 题库 题目大意: 求有多少个长度为\(n\)的数字串的子串中不包含给出的长度为\(m\)位的串,范围 \(n &l…

一些贪心的解题报告

一些贪心的解题报告 贪心题一般来说都是观察结论远简单于严谨证明,所以不会过多的去证明。 1.Tree compass 题目来源 codeforces div1 934 C https://codeforces.com/problemset/problem/1943/C 题面翻译 给定一棵节点数为\(n\)的树(\(1\le n \le 2\cdot 10^3\)),一开始节点都…

Ubuntu中CLion编译Geant4项目

围绕自带的/examples/basic/B1展开,其他项目相关操作类似。 成功安装Geant4后,首先验证B1示例能否正常运行,可以则进行下一步。 安装Clion。 进入B1示例,选择使用Clion打开目录中的CMakeLists.txt文件,以创建对应的项目(Project)。 进入项目后,直接Run该项目可能报如下…

Linux设置cp命令显示进度条

1、前言 实现原理: 重新安装cp、mv命令,显示进度条 测试环境:Centos7.6 查看当前系统下的coreutils工具包的版本 rpm -qa | grep -w coreutils当前版本8.22 2、下载coreutils安装包 不需要太新,8.32即可 wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz3、下…

浅拷贝与深拷贝

深拷贝,两个指针(PA,PB)指向同一块内存,PA变化,PB也跟着变化。 深拷贝,两个指针(PA,PB)指向不同内存,PA变化,PB不受影响。以Python写个demoimport copy# 原始列表 original_list = [[1, 2, 3], [4, 5, 6]]# 浅拷贝 shallow_copy = copy.copy(original_list)# 修改浅拷贝…

git 客户端使用

1.新建目录a,进入到a目录,鼠标右键Open git Bash here 2.克隆到本地:git clone git@124.221.230.131:/home/git/dataCollect.git 3.进入本地git仓库: cd dataCollect/ 4.查看分支:git branch 5.更新代码:git pull 6.进入本地git仓库,新建文件test.txt 7.提交代码到本地g…

overthewire - Bandit

随笔记 overthewire的密码会在一定周期更换。 Bandit Level 0 直接SSH连接2220端口 ssh -p 2220 bandit0@localhost 密码:bandit0ls 查看目录,看到readme,读取文件。 cat readme 获取bandit1密码 NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL Bandit Level 0 → Level 1 ls 查看目录下…

对C语言符号的一些冷门知识运用的剖析和总结

把概念和原理讲清楚、进阶、C语言符号符号 目录符号注释奇怪的注释C风格的注释无法嵌套一些特殊的注释注释的规则建议反斜杠\反斜杠有续行的作用,但要注意续行后不能添加空格回车也能起到换行的作用,那续行符的意义在哪?反斜杠的转义功能单引号和双引号字面值,字符串,字符,字…