yum仓库和NFS文件共享服务

news2024/11/23 0:47:54

一、yum仓库简介:

1.yum仓库简介:

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。

yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

2.yum实现过程:

1.要有安装包

安装包:  光驱里自带       挂载提供软件包

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

2.yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

客户端的配置文件:

baseurl=地址   一定要写到到   这两个文件夹 repodata  packages  的上级目录 

最终形成两个文件夹Packages (包文件夹一般取名packages)和  repodata(元数据文件夹)

仓库类型:

- 光盘的仓库基本仓库   比较常用的
- epel扩展仓库             比较新   

3.如何实现安装服务:

元信息是一个文件 里面记录了安装包的路径  安装包的依赖关系

  1. 客户端根据配置文件找到服务端
  2. 客户端将元信息下载到本地仓库(元信息:安装包的位置,以及安装的依赖关系)
  3. 根据元信息去下载对应的安装包到本地后,然后安装
  4. 安装完成后再删除安装包

二、yum配置文件及命令:

1.yum配置文件:

1.1主配置文件:

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

1.2仓库设置文件:

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

1.3日志文件:

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

2.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加入序号重新执行序号里的操作\

2.1查询:

2.1.1 yum list [软件名]

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

#包含httpd 的软件包

2.1.2 yum info [软件名]:

显示安装包详细信息,详情如下

 2.1.3 yum search <关键词>

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

2.1.4 yum provides <关键词>:

  你知道某个命令却不知道具体的包可以用此命令查找

2.1.5 yum grouplist [包组名]:

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

2.1.6  yum groupinfo  <包组名>:

不加包组名显示全部

 

2.2 yum安装升级:

2.2.1 yum install [软件名]:

安装软件包,如例子yum install安装http服务

2.2.2  yum groupinstall <包组名>:

包组安装同yum install

2.2.3  yum update:

更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。

但是首先你要有更新的包组库否则也无法更新。

2.2.4 yum groupupdate:

组包更新和单个安装包更新

2.3 软件卸载:

2.3.1 yum remove <软件名>:

卸载已安装的软件必须加软件名

 

2.3.2  yum groupremove <包组名>:

同软件包卸载不做赘述

2.3.3 yum history:

查看历史的使用记录

2.3.4 yum history undo

加入序号卸载序号里安装的软件

可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除

如果后悔卸载可以使用两种方式

yum history redo 4 (重新安装一遍)

yum history undo 4 (反悔卸载等于重新安装一遍)

三、搭建仓库的方式:

软件仓库的提供方式:

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

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

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

1.搭建本地yum仓库

  1.  首先将光驱中的镜像文件进行挂载
  2.  切换到yum.repo.d 目录下,将自带的仓库移走,因为多个开启仓库文件可能会造成冲突
  3.  新建yum仓库文件
  4.  测试

yum仓库配置

测试查看

 2.搭建阿里云仓库:

 

#小火车
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a


#牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello
 

 3.ftp方式搭建云仓库:

 服务端:

安装软件

开启服务

挂载

客户端:

客户端:

检验

4.http 方式搭建:

服务端:

下载

开启服务

挂载

客户端:

校验:

四、网络文件服务——NFS:

1.NFS简介:

NFS(Network File System 网络文件服务)

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。

通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

不支持默认windows

特点:

采用TCP/IP传输网络文件

安全性低

简单易操作

适合局域网环境

2.NFS原理:

NFS 它是文件系统,是操作系统内核来管理的

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。  

通过rpcbind远程功能调用

systemctl start nfs——启动nfs服务

nfs-ustils——nfs主包

3. NFS软件介绍:

软件包:nfs-utils(包括服务器端和客户端)

相关软件包:rpcbind(必须)

nfs端口号不固定 RPC端口号111

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

  • rpc.lockd 非必要,管理文件锁,避免同时写出错

  • rpc.statd 非必要,检查文件一致性,可修复文件

日志:/var/lib/nfs/

4. NFS配置文件:

/etc/exports——主配置文件

/etc/exports.d/*.exports

exportfs -v ——显示本机服务端的共享目录

exportfs -r ——重新加载配置文件

文件格式—— 共享目录 主机(权限)

软件名   —— nfs-utils

依赖软件 —— rpcbind

重启服务 ——systemctl restart nfs

重新加载配置—— exportfs -r

显示当前配置 ——exportfs -v

客户端显示服务端——ip showmount -e 服务端ip地址

临时挂载 ——mount 服务端ip:共享目录 挂载点

永久挂载 vim /etc/fstab 服务端ip:共享目录 挂载点 文件系统类型(nfs) 权限 _netdev 0 0

5. NFS共享配置文件格式:

文件格式:

共享目录       可以访问的主机地址(权限)

/share            *()

实验:

服务端配置:

 

 客户端配置:


 检验: 

服务端新建文件:

切换到客户端查看文件是否有:

 6.NFS权限配置:

在服务端给客户端添加权限:

在客户端 检验:

 

服务端查看

因为客户端使用root用户访问时,映射为服务端的匿名用户

 创建文件属主为root用户 ​​

修改配置文件: 

 

rw    —— 表示允许读写,ro  表示为只读
sync   —— 表示同步写入到内存与硬盘中
no_root_squash    —— 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
root_squash   ——  表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
all_squash    ——所有访问用户都映射为匿名用户或用户组
async    ——将数据先保存在内存缓冲区中,必要时才写入磁盘
subtree_check(默认)   —— 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check    ——即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
anonuid和anongid   —— 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

7.工作环境:

7.1误将 rpm 软件删除:

进入急救模式

1 继续

切根

7.2 自行打包后建立元数据:

mount /dev/sr0 /mnt/
cp  /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
mkdir test
mv tree-1.6.0-10.el7.x86_64.rpm  test/
cd test
mkdir packages
mv tree-1.6.0-10.el7.x86_64.rpm packages/
createrepo -v test
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/

vim tree.repo
[tree]
name=tree
baseurl=file:///data/test
gpgcheck=0

yum clean all
yum makecache
yum install tree -y

7.3 epel源 本地:

[root@localhost ~]#yum install epel-release
#安装epel源    生成epel仓库文件
[root@localhost ~]# reposync -r epel -p /root/
#下载同步epel源  根据epel仓库文件去找目录

[root@localhost ~]# yum -y install createrepo
#安装建立元数据命令
[root@localhost ~]# createrepo -v /root/epel
#建立元数据    软件目录  依赖关系  
[root@localhost ~]# ls
anaconda-ks.cfg  epel
[root@localhost ~]# cd epel/
[root@localhost epel]# ls
#查看元数据

7.4 离线安装软件

 

8.扩展:

8.1exportfs  用于管理NFS导出的文件系统 

选项:

选项说明
-v查看本机所有NFS共享
-r重读配置文件,并共享目录
-a输出本机所有的共享
-au停止本机所有共享

8.2showmount  显示NFS服务器加载的信息:

-e显示服务器上所有的共享目录

 8.3 mount.nfs:NFS 相关的挂载选项

fg         #(默认)前台挂载
bg       #后台挂载
hard    #(默认)持续请求
soft     #非持续请求
intr     #和hard配合,请求可中断
rsize  #和wsize 一次读和写数据最大字节数,rsize=32768
_netdev  #无网络连接不挂载
vers     #指定版本,客户端centos8默认4.2 ,centos7默认4.1 centos6默认4.0

mount -o  临时挂载

在 /etc/fstab 里面开机挂载

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

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

相关文章

Vue2中CesiumV1.113.0加载离线地图

Vue2中CesiumV1.113.0加载离线地图&#xff0c;本文以天地图为例。 1.使用nodejs获取天地图 新建nodejsdownmap项目文件夹&#xff0c;初始化项目 npm init -y src/index.js // An highlighted block var Bagpipe require(bagpipe) var fs require("fs"); var r…

【python应用】—利用python构造邮件、解析邮件、发送邮件、接收邮件(email、smtplib、imaplib模块)

文章目录 一、前言1、邮件构成二、email模块1、email模块的Message类Message类常用方法2、email.mine模块:构建电子邮件信息MIMEBase类实现3、email.parser模块:解析电子邮件信息4、email.header模块:丰富、解析邮件头5、email.utils模块:其他工具6、email.iterators模块:…

小程序学习-21

目前小程序分包大小有以下限制&#xff1a; 整个小程序所有分包大小不超过 20M单个分包/主包大小不能超过 2M 独立分包&#xff1a;"independent": true

若依前后台分离vue项目放开前台页面拦截配置

若依前后台分离vue项目放开前台页面拦截配置 使用场景某些页面不需要权限就能直接访问的页面 , 例如做个单点登录之类的。这里只需要修改2处即可 ssologin.vue代码 <template> </template> <script> export default {name: "SsoLogin",data() {r…

Python + Selenium —— ActionChains动作链!

当你需要执行复杂的操作时&#xff0c;比如将一个元素按住拖动到另一个元素上去&#xff0c;需要移动鼠标然后点击并按下键盘某个按键等等。 当然&#xff0c;在 Web 页面上&#xff0c;这种操作好像比较少。 但是&#xff0c;如果遇到了怎么办呢&#xff1f;这就需要用到 Ac…

JAVAEE初阶 网络编程(三)

TCP回显服务器 一. TCP的API二. TCP回显服务器的代码分析三. TCP回显服务器代码中存在的问题四. TCP回显服务器代码五. TCP客户端的代码六.TCP为基准的回显服务器的执行流程 一. TCP的API 二. TCP回显服务器的代码分析 这的clientSocket并不是表示用户端的层面东西&#xff0c;…

Git--基本操作介绍(2)

Git 常用的是以下 6 个命令&#xff1a;git clone、git push、git add 、git commit、git checkout、git pull. 说明&#xff1a; workspace&#xff1a;工作区staging area&#xff1a;暂存区/缓存区local repository&#xff1a;版本库或本地仓库remote repository&#xf…

Leetcode—25.K 个一组翻转链表【困难】

2023每日刷题&#xff08;八十二&#xff09; Leetcode—25.K 个一组翻转链表 算法思想 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val…

论文精读--ResNet

ResNet论文 撑起计算机视觉半边天的ResNet【论文精读】_哔哩哔哩_bilibili Abstract Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used pre…

代码随想录算法训练营第四十二天|01背包问题、01背包问题(滚动数组)、416. 分割等和子集

题目&#xff1a;01背包问题 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:背包问题 题目链接&#xff1a;卡码题目链接 图释&#xff1a; //二维dp数组实现 #include <bits/stdc.h> using namespace std;int n, bagweight;// bagweight代表行李箱空…

​​快速排序(四)——挖坑法,前后指针法与非递归

目录 ​一.前言 二.挖坑法 三.前后指针法 四.递归优化 五.非递归 六.结语 一.前言 本文我们接着上篇文章的重点快排&#xff0c;现在继续讲解对快排优化的挖坑法&#xff0c;前后指针法以及非递归方法&#xff0c;下面是上篇文章快排链接&#xff1a;https://mp.csdn.net…

如何用AirServer进行手机投屏?,Airserver 永久激活注册码

AirServer一款投屏神器&#xff0c;可以帮你轻松地将iPhone、iPad投屏到Mac。是不是经常看到游戏主播用AirServer投屏&#xff1f;此外&#xff0c;AirServer也是视频Up主必备工具之一&#xff01;用来录制演示教程不错。除了实现单个手机投屏到电脑或荧幕。如果你有多画面投屏…

Python - 【Socket】消息粘包处理demo(一)

一. 前言 在网络编程中&#xff0c;粘包是指TCP协议在传输过程中&#xff0c;多条数据被合并成一条数据发送或者一条数据被拆分成多个数据发送的现象。 二. 粘包问题的常规处理方法&#xff1a; 使用固定长度的包头 可以在发送数据前先发送一个固定长度的包头&#xff0c;包…

实现单链表的增删改查

实现单链表的增删改查的功能&#xff1a;头部插入删除/尾部插入删除&#xff0c;查找&#xff0c;在指定位置之前插入数据&#xff0c;删除pos节点&#xff0c;在指定位置之后插入数据&#xff0c;删除pos之后的节点&#xff0c;销毁链表。 SListNode.h #pragma once #includ…

美,英,法,德、意大利和西班牙的geojson,以及区域json

美&#xff0c;英&#xff0c;法&#xff0c;德、意大利和西班牙的geojson文件 json地址 https://pan.baidu.com/s/1nio1bV_j-jAEVqgEHXWsNw?pwdqwer#list/path/GEOJSON 感谢大佬提供的 大佬连接 大佬的知乎原地址 国内geojson获取工具地址 http://da![在这里插入图片描述](h…

【wu-framework-parent 1.2.2-JDK17-SNAPSHOT 新版本中的 ACW】

版本: 1.2.2-JDK17-SNAPSHOT 项目地址&#xff1a;https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-intergration/wu-smart-acw 演示地址&#xff1a;http://124.222.48.62:30193/wu-smart-acw-ui/index.html admin/admin docker启动 dock…

智能控制箱解决方案

一、建设背景 在数字时代的浪潮中&#xff0c;智能化的管理和操作已经成为各行业的共同追求。唯众物联网智能控制箱&#xff0c;是一款功能性强、使用安装简单的智能网络传输、温湿度监测、门锁控制综合系统。系统由I/O网络模块、传感器、管理后端、移动端APP组成&#xff0c;辅…

docker-compose搭建redis哨兵模式

文件存放如下图&#xff1a; docker-compose.yml文件内容如下&#xff1a; version: 3.3 services:master:image: redis:3.2.12restart: alwayscontainer_name: redis-mastercommand: redis-server /usr/local/redis/conf/redis.confports:- 6380:6380volumes:- /root/redis/…

【源码】医院绩效管理系统,针对医、护、技、药、管不同岗位,可设置不同的核算方法、核算参数

医院绩效管理系统源码 医院绩效管理系统以国家医院绩效管理考核政策法规为依据&#xff0c;结合医院管理实践&#xff0c;以经济管理指标为核心&#xff0c;医疗质量、安全、效率、效益管理为重点&#xff0c;特别强调持续改进&#xff08;PDCA&#xff09;管理理念。实现医院绩…

从专线到云桥通SD-WAN企业组网开通速度对比

云桥通SD-WAN企业组网和专线是企业在建立和管理广域网连接时广泛采用的两种技术和解决方案。 云桥通SD-WAN企业组网基于软件定义网络技术&#xff0c;通过引入虚拟化、智能路由和网络功能虚拟化等技术&#xff0c;实现对多种网络连接的集中管理和控制。云桥通SD-WAN企业组网能够…