linux部署yum仓库

news2024/9/25 3:19:51

一. Yum概述

1.yum简介

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

  • 可以自动解决依赖关系

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

2.yum工作原理

c/s模式

  • 客户端根据配置文件找到yum仓库服务器的位置

  • 服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置) #相当于软件安装目录

  • 客户端下载后,在元数据包中的查找到目标,发送请求

  • 服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装

二. yum配置文件

1.yum主配置文件

[root@Root1 ~]# vim /etc/yum.conf 
  1 [main]
  2 cachedir=/var/cache/yum/$basearch/$releasever
  3 keepcache=0
  4 debuglevel=2
  5 logfile=/var/log/yum.log
  6 exactarch=1
  7 obsoletes=1
  8 gpgcheck=1
  9 plugins=1
 10 installonly_limit=5
 11 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs    .centos.org/bug_report_page.php?category=yum
 12 distroverpkg=centos-release
​
​
#2行:yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
#3行:是否保存缓存  0代表不保存,1代表保存
#4行:调试级别了解即可
#5行:日志文件位置
#6行:是否允许不同版本的rpm安装
#7行:update 的一个参数是否可以允许旧版本的运行
#8行:验证秘钥
#9行:是否允许插件,1代表可以
#10行:保存几个内核,5代表5个

2.yum仓库设置文件

[root@Root1 ~]# cd /etc/yum.repos.d/
[root@Root1 yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo
​
#yum.repos.d目录下均为仓库设置文件

3.配置文件主要格式

1 [local]                       #描述信息
2 name=local                    #描述信息
3 baseurl=file:///mnt           #提供仓库的路径,这里是本地源,也可以是存放源的网站,比如阿里云,各大高校的源网址
4 gpgcheck=0                    #是否开启校验,这里为0,代表关闭校验

4.软件仓库的提供方式

  • FTP服务

baseurl=ftp://ip地址/地址内的路径

  • HTTP服务

baseurl=http://域名或者ip地址/地址里的路径

  • 本地目录

baseurl=file://绝对路径

三. yum命令

1.安装

[root@Root1 /]# yum -y install ftp 
.
.
.
已安装:
  ftp.x86_64 0:0.17-67.el7                    

2.更新

[root@Root1 /]# yum -y install ftp 
.
.
.
软件包 ftp-0.17-67.el7.x86_64 已安装并且是最新版本
​

3.查询

  • 显示可用的安装包——yum list

[root@Root1 /]# yum list [软件名] 
[root@Root1 /]# yum list ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
已安装的软件包
ftp.x86_64                              0.17-67.el7                               @base
  • 显示安装包详情——yum info

[root@Root1 /]# yum info [软件名] 
[root@Root1 /]# yum info ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
已安装的软件包
名称    :ftp
架构    :x86_64
版本    :0.17
发布    :67.el7
大小    :96 k
源    :installed
来自源:base
简介    : The standard UNIX FTP (File Transfer Protocol) client
网址    :ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
协议    : BSD with advertising
描述    : The ftp package provides the standard UNIX command-line FTP (File
         : Transfer Protocol) client.  FTP is a widely used protocol for
         : transferring files over the Internet and for archiving files.
         : 
         : If your system is on a network, you should install ftp in order to do
         : file transfers.
​
  • 根据关键字查找软件安装包——yum search

[root@Root1 /]# yum search vsf
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
================================== N/S matched: vsf ===================================
vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon
vsftpd.x86_64 : Very Secure Ftp Daemon
​
  名称和简介匹配 only,使用“search all”试试。
​
  • 根据命令名查找对应的软件包——yum provides

[root@Root1 /]# yum provides ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
ftp-0.17-67.el7.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
源    :base
​
​
​
ftp-0.17-67.el7.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
源    :@base
  • 查询安装包组——yum grouplist

yum grouplist  [包组名] #安装包组的查询 不加包组名 就是显示所有
  • 查询安装包组的详细信息——yum groupinfo

yum groupinfo  <包组名> #显示包组的详细信息
​
​
#yum groupinfo Minimal Install #最小化安装包组的详细信息
  • 查看yum的历史使用记录——yum history

yum history
已加载插件:fastestmirror, langpacks
ID     | 登录用户                 | 日期和时间       | 操作           | 变更数 
-------------------------------------------------------------------------------
     4 | root <root>              | 2024-05-05 14:49 | Install        |    1   
     3 | root <root>              | 2024-05-05 14:48 | Install        |    1   
     2 | root <root>              | 2024-04-30 09:09 | I, O, U        |  978 EE
     1 | 系统 <空>                | 2024-03-28 09:37 | Install        | 1372   
history list
​

4.卸载

  • 卸载已安装的软件——yum remove

[root@Root1 /]# yum remove tree                                 #移除tree软件
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 删除
--> 解决依赖关系完成
​
依赖关系解决
​
=======================================================================================
 Package          架构               版本                      源                 大小
=======================================================================================
正在删除:
 tree             x86_64             1.6.0-10.el7              @base              87 k
​
事务概要
=======================================================================================
移除  1 软件包
​
安装大小:87 k
是否继续?[y/N]:y                                                #二次确认
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : tree-1.6.0-10.el7.x86_64                                           1/1 
  验证中      : tree-1.6.0-10.el7.x86_64                                           1/1 
​
删除:
  tree.x86_64 0:1.6.0-10.el7                                    #成功移除                                  
​
完毕!
​
  • 删除和恢复所有的依赖——yum history undo

yum history
已加载插件:fastestmirror, langpacks
ID     | 登录用户                 | 日期和时间       | 操作           | 变更数 
-------------------------------------------------------------------------------
     4 | root <root>              | 2024-05-05 14:49 | Install        |    1   
     3 | root <root>              | 2024-05-05 14:48 | Install        |    1   
     2 | root <root>              | 2024-04-30 09:09 | I, O, U        |  978 EE
     1 | 系统 <空>                | 2024-03-28 09:37 | Install        | 1372   
history list
​
​
​
yum history undo n          
yum history redo n
#n为历史记录中的ID  

  • 只下载不安装——yum install --downloadonly [软件名] --downloaddir [指定rpm包存放路径]

当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机

四. yum仓库搭建

1.搭建本地yum仓库

  • 挂载

[root@Root1 /]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
​
  • 备份yum网络

[root@Root1 yum.repos.d]# mkdir bak
[root@Root1 yum.repos.d]# mv *.repo bak
[root@Root1 yum.repos.d]# ls
bak
​
  • 新建配置文件

[root@Root1 yum.repos.d]# vim local.repo
1 [local]                       #描述信息
2 name=local                    #描述信息
3 baseurl=file:///mnt           #提供仓库的路径,这里是本地源,也可以是存放源的网站,比如阿里云,各大高校的源网址
4 gpgcheck=0                    #是否开启校验,这里为0,代表关闭校验
  • 清除yum缓存

yum clean all
  • 建立本地源

yum makecache
  • 安装软件查看源的变化

[root@Root1 yum.repos.d]# yum -y install tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
​
依赖关系解决
​
=======================================================================================
 Package          架构               版本                      源                 大小
=======================================================================================
正在安装:
 tree             x86_64             1.6.0-10.el7              local              46 k              #源已变成local
​
事务概要
=======================================================================================
安装  1 软件包
​
总下载量:46 k
安装大小:87 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : tree-1.6.0-10.el7.x86_64                                           1/1 
  验证中      : tree-1.6.0-10.el7.x86_64                                           1/1 
​
已安装:
  tree.x86_64 0:1.6.0-10.el7                                                           
​
完毕!
​

2.使用http搭建yum仓库

  • 配置服务端

[root@localhost ~]# yum -y install httpd                                            #安装httpd服务程序
​
[root@localhost ~]# systemctl disable firewalld                                     #关闭防火墙
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
​
[root@localhost ~]# setenforce 0                                                    #降低限制权限
​
[root@localhost ~]# mount /dev/sr0 /var/www/html                                    #挂载
mount: /dev/sr0 写保护,将以只读方式挂载                
​
[root@localhost ~]# systemctl start httpd                                           #启动http服务
[root@localhost ~]# systemctl status httpd                                          #查看http服务状态是否正常
​
  • 配置客户端

[root@localhost ~]# systemctl disable firewalld                                     #关闭防火墙
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
​
[root@localhost ~]# setenforce 0                                                    #降低限制权限
​
[root@Root2 ~]# cd /etc/yum.repos.d/                                                #进入配置文件路径                           
[root@Root2 yum.repos.d]# mkdir bak                                                 #备份repo配置文件
[root@Root2 yum.repos.d]# mv *.repo bak                                             #移动repo配置文件至bak中
​
​
[root@Root2 yum.repos.d]# vim http.repo                                             #创建http的yum仓库配置文件
[http]
name=http
baseurl=http://192.168.20.90
gpgcheck=0
​
:wq                                                                                 #保存退出
​
[root@Root2 yum.repos.d]# yum clean all                                             #清除网络源缓存
[root@Root2 yum.repos.d]# yum makecache                                             #建立元数据缓存
[root@Root2 yum.repos.d]# yum -y install tree                                       #安装tree软件
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
​
依赖关系解决
​
=======================================================================================
 Package          架构               版本                       源                大小
=======================================================================================
正在安装:
 tree             x86_64             1.6.0-10.el7               http              46 k          #源已变为http
​
事务概要
=======================================================================================
安装  1 软件包
​
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm                                    |  46 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : tree-1.6.0-10.el7.x86_64                                           1/1 
  验证中      : tree-1.6.0-10.el7.x86_64                                           1/1 
​
已安装:
  tree.x86_64 0:1.6.0-10.el7                                                         #安装完成  
​
完毕!
​
​

3.使用FTP搭建yum仓库

  • 服务端配置

[root@localhost ~]# systemctl disable firewalld                 #关闭防火墙
[root@localhost ~]# setenforce 0                                #降低限制权限
​
[root@localhost ~]# yum -y install vsftpd                       #安装ftp服务端软件:vsftpd
​
[root@localhost ~]# cd /var/ftp                                 #进入ftp目录
[root@localhost ftp]# mkdir test                                #创建文件保存目录test
​
[root@localhost ftp]# mount /dev/sr0 /var/ftp/test              #挂载到ftp服务的文件保存路径
​
[root@localhost ~]# systemctl start vsftpd                      #开启vsftp服务
[root@localhost ~]# systemctl status vsftpd                     #查看vsftp服务状态是否正常
​
[root@Root2 ~]# cd /etc/yum.repos.d/                            #进入配置文件路径                           
[root@Root2 yum.repos.d]# mkdir bak                             #备份repo配置文件
[root@Root2 yum.repos.d]# mv *.repo bak                         #移动repo配置文件至bak中
​
[root@Root2 yum.repos.d]# vim ftp.repo                          #创建ftp的yum仓库配置文件
[ftp]
name=ftp
baseurl=ftp://192.168.20.90/test
gpgcheck=0
​
:wq                                                             #保存退出
​
[root@Root2 yum.repos.d]# yum clean all                         #清除网络源缓存
[root@Root2 yum.repos.d]# yum makecache                         #建立元数据缓存
​
[root@Root2 yum.repos.d]# yum -y install tree                   #安装任意程序,这里以tree为例
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
​
依赖关系解决
​
=======================================================================================
 Package          架构               版本                        源               大小
=======================================================================================
正在安装:
 tree             x86_64             1.6.0-10.el7                ftp              46 k      #源已变为ftp
​
事务概要
=======================================================================================
安装  1 软件包
​
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm                                    |  46 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : tree-1.6.0-10.el7.x86_64                                           1/1 
  验证中      : tree-1.6.0-10.el7.x86_64                                           1/1 
​
已安装:
  tree.x86_64 0:1.6.0-10.el7                                            #安装完成                  
​
完毕!
​

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

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

相关文章

leecode每日一练

打家劫舍 我一开始的思路也是dp&#xff0c;但是转移方程想错了&#xff0c;这个题目转移方程应该是dp[i] max(dp[i-2]nums[i],dp[i-1]) class Solution { public:int rob(vector<int>& nums) {int len nums.size();vector<int> dp(len);int ans 0;if(len&g…

56.基于SSM实现的在线教育网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用Java的SSM框架作为开发技术&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SSM的在线教育网站的设计与实现管理工作系统化、规范…

【MySQL】第一次作业

【MySQL】第一次作业 1、在官网下载安装包2、解压安装包&#xff0c;创建一个dev_soft文件夹&#xff0c;解压到里面。3、创建一个数据库db_classes4、创建一行表db_hero5、将四大名著中的常见人物插入这个英雄表 写一篇博客&#xff0c;在window系统安装MySQL将本机的MySQL一定…

【华为】路由综合实验(OSPF+BGP基础)

【华为】路由综合实验 实验需求拓扑配置AR1AR2AR3AR4AR5PC1PC2 查看通信OSPF邻居OSPF路由表 BGPBGP邻居BGP 路由表 配置文档 实验需求 ① 自行规划IP地址 ② 在区域1里面 启用OSPF ③ 在区域1和区域2 启用BGP&#xff0c;使AR4和AR3成为eBGP&#xff0c;AR4和AR5成为iBGP对等体…

06.Git远程仓库

Git远程仓库 #仓库种类&#xff0c;举例说明 github gitlab gitee #以这个仓库为例子操作登录码云 https://gitee.com/projects/new 创建仓库 选择ssh方式 需要配置ssh公钥 在系统上获取公钥输入命令&#xff1a;ssh-keygen 查看文件&#xff0c;复制公钥信息内…

8.表格标签

为什么使用表格 表格简单通用表格结构稳定 表格的基本结构 单元格 行列跨行n为要跨的行数跨列n为要跨的列数 首先&#xff0c;我们做一个最基本的3x4表格&#xff0c;只用到了上述1.2.3三个标签&#xff0c;其中table标签里面的border是表格的边框线&#xff0c;代码和效果…

【DISC交流模型】项目管理必会的思维分析工具11

如何提升自己的领导力&#xff1f;我们可以根据DiSC模型&#xff0c;有针对性提升自我领导力 DISC模型是一种描述性格、行为风格倾向性的理论&#xff0c;也被称为“人类行为语言”。这一模型最初是由美国心理学家威廉莫尔顿马斯顿在20世纪初提出的&#xff0c;并在其1928年…

模电·静态工作点稳定的必要性

静态工作点稳定的必要性 静态工作点不但决定了电路是否会产生失真&#xff0c;而且还影响着电压放大倍数、输入电阻等动态参数。实际上&#xff0c;电源电压的波动、元件的老化以及因温度变化所引起晶体管参数的变化&#xff0c;都会造成静态工作点的不稳定&#xff0c;从而使动…

五一假期后,必读的10篇大模型论文

1.同时预测多个 token&#xff1a;更好更快的大型语言模型 目前&#xff0c;GPT 和 Llama 等大型语言模型&#xff08;LLMs&#xff09;都是通过下一个 token 预测损失来训练的。 在这项工作中&#xff0c;来自 Meta FAIR 的研究团队认为&#xff0c;训练语言模型同时预测多个…

【C语言】解决不同场景字符串问题:巧妙运用字符串函数

&#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;C笔记专栏&#xff1a; C笔记 &#x1f308;喜欢的诗句:无人扶我青云志 我自踏雪至山巅 文章目录 一、字符函数1.1 字符分类函数1.1.1 islower1.1.2 isupper 1.…

jetbra.zip教程 激活JetBrains全家桶Idea、pyCharm…亲测有效

本教程基于Windows系统 1、下载jetbra.zip 1.1、地址&#xff1a;https://3.jetbra.in/ 1.2、点击随便一个可用站点 1.3、找到左上角蓝色部分&#xff0c;点击下载 1.4、注意软件卡片上右上角支持的版本 1.5、不要关闭网页&#xff0c;留着&#xff0c;要等会用到 2、下载对应…

数据结构===二叉树

文章目录 概要二叉树的概念分类存储遍历前序中序后序 小结 概要 简单写下二叉树都有哪些内容&#xff0c;这篇文章要写什么 二叉树的概念分类&#xff0c;都有哪些二叉树遍历 对一个数据结构&#xff0c;最先入手的都是定义&#xff0c;然后才会有哪些分类&#xff0c;对二叉…

环保设备在线监控系统

随着环保意识的日益提升&#xff0c;对环境污染的监控与管理成为了我们不可忽视的重要任务。在这个背景下&#xff0c;HiWoo Cloud平台凭借其强大的环保设备在线监控系统&#xff0c;为环保事业注入了新的活力&#xff0c;助力我们共同迈向绿色未来。 一、环保设备在线监控系统…

速锐得深入研究比亚迪E5电控系统及BCU数据及DBC控制策略

新能源汽车中比亚迪作为世界品牌的佼佼者&#xff0c;其E5车型凭借出色的电控系统成为了市场上的一颗璀璨明星。比亚迪E5电控系统不仅体现了技术的先进性&#xff0c;更是智能化、高效率的代名词&#xff0c;它如同一位智慧的指挥官&#xff0c;精确地掌控着汽车的每一个动作&a…

iOS 获取相册标题时不显示中文

一、解决方案 设置info.plist中的Localization native development region 为 China即可 二、图片展示

vue3+vite+axios+ElementPlus+ElLoading简易封装

1.安装按需加载element-plus需要的依赖包 pnpm install element-pluspnpm install axios# 按需自动导入 pnpm install -D unplugin-vue-components unplugin-auto-import# 自动导入element-plus样式 pnpm install -D vite-plugin-style-import2.修改jsconfig.json {"com…

[贪心] 区间选点问题

905. 区间选点 - AcWing题库 思路&#xff1a;就是将所有区间按照右端点排序&#xff0c; 然后选取一些区间的右端点 代码&#xff1a; #include <iostream> #include <algorithm> #include <vector> using namespace std; const int N 100010;typedef p…

银行函证工作操作指引

银行函证工作操作指引 根据《关于加快推进银行函证规范化、集约化、数字化建设的通知》&#xff08;财会〔2022〕39号&#xff09;等文件要求&#xff0c;中国注册会计师协会和中国银行业协会制定了《银行函证工作操作指引》&#xff0c;对银行函证工作中的具体事项予以进一步明…

一款AI工作流项目:phidatahq/phidata

一款AI工作流项目&#xff1a;phidatahq/phidata 构建和测试功能强大的 AI 工作流程。该项目提供了一个工作流平台,可以结合大型语言模型(LLM)和各种工具,扩展模型的实用性和应用范围。[1][4][5] 开发各种 AI 助手应用,如客服聊天机器人、数据分析工具、研究助手等。phidata 提…

API接口接入电商平台通过商品链接URL、商品ID抓取淘宝taobao评论数据key接入示例

要接入淘宝taobao评论数据&#xff0c;你需要先注册一个API账号并获取相应的ApiKey和ApiSecret。接下来&#xff0c;你可以使用Python的requests库来调用API接口。 以下是一个示例代码&#xff1a; # coding:utf-8 """ Compatible for python2.x and python3.…