yum仓库及NFS共享

2021/10/6 7:14:38

本文主要是介绍yum仓库及NFS共享,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

yum仓库简介

yum 实现过程

yum配置文件及命令

主配置文件

仓库设置文件

日志文件

搭建本地yum仓库

搭建阿里云仓库:

 ftp方式搭建云仓库

NFS共享

NFS简介

NFS配置安装

安装nfs-utils、rpcbind软件包

​设置共享目录 

 常用选项

开启NFS服务程序

发布NFS共享目录 

 客户机中访问NFS共享资源

自动/手动挂载NFS共享目录 

​验证服务是否成功开启


yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

yum 实现过程

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

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:自定义变量

仓库设置文件

位置:/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

日志文件

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

[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件
Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64
Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:16 Installed: mailcap-2.1.41-2.el7.noarch
Jun 23 11:03:17 Installed: httpd-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:26 Installed: ftp-0.17-67.el7.x86_64
Jun 23 11:03:38 Installed: vsftpd-3.0.2-22.el7.x86_64

搭建本地yum仓库

mount /dev/sr0 /mnt   #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)
cd /etc/yum.repos.d/
mkdir repos.bak
mv *.repo repos.bak/
vim local.repo(输入下面5行命令)
   [local]                        #仓库类别
   name=local                     #仓库名称
   baseurl=file:///mnt           #指定URL 访问路径为光盘挂载目录
   enabled=1                      #开启此yum源,此为默认项,可省略
   gpgcheck=O                     #不验证软件包的签名
 
yum clean all && yum makecache    ##清理yum缓存并更新
yum repolist                      ###检查安装

搭建阿里云仓库:

 

 

下面是其他源 这里不一 一搭建了

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/


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/

 ftp方式搭建云仓库

服务端:192.168.159.101

客户端:192.168.159.100

服务端设置

 

 客户端设置

测试测试ftp服务是否正常

[root@localhost yum.repos.d]# ftp 192.168.159.101
Connected to 192.168.159.101 (192.168.159.101).
220 (vsFTPd 3.0.2)
Name (192.168.100.100:root): ftp                  //起名
331 Please specify the password.                  //输入密码为空直接回车
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls                                       //查看下是否正常

编写yum仓库文件

 测试是否yum可以正常使用

 

NFS共享

NFS简介

NFS(Network File System 网络文件服务) NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议 NAS存储:

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制, 以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务, 前者用于 NFS 共享发布和访问,后者用于 RPC 支持。 手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

 nfs端口号2049
 RPC端口号111

特点: 采用TCP/IP传输网络文件 安全性低 简单易操作 适合局域网环境

NFS配置安装


NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

NFS的配置文件在/etc/exports位置当中
格式为:共享目录的位置   客户机地址(权限选项)

注意:实验前关闭客户机 服务器的防火墙 以及setenforce 0

安装nfs-utils、rpcbind软件包

设置共享目录 

 

 常用选项

1.all_squash:所有访问用户都映射为匿名用户或用户组。
2.async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
3.subtree_ check (默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
4.no_subtree_check:即使输出目录是一一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
5.anonuid=xxx :指定NFS服 务器/etc/passwd文件中匿名用户的UID
6.anongid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的GID

开启NFS服务程序

发布NFS共享目录 

 客户机中访问NFS共享资源

 

自动/手动挂载NFS共享目录 

验证服务是否成功开启

 服务端查看

 



这篇关于yum仓库及NFS共享的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程