yum简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。
yum 实现过程
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
-
RPM包 (Packages文件夹中)
-
元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
客户端的配置文件中
baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
仓库类型:
-
光盘的仓库基本仓库 比较常用的
-
epel扩展仓库 比较新
yum配置文件
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=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# This is the default, if you make this bigger yum won't see if the metadata # is newer on the remote and so you'll "gain" the bandwidth of not having to # download the new metadata and "pay" for it by yum not having correct # information. # It is esp. important, to have correct metadata, for distributions like # Fedora which don't keep old packages around. If you don't like this checking # interupting your command line usage, it's much better to have something # manually check the metadata once an hour (yum-updatesd will do this). # metadata_expire=90m# PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d
常规设置
[main]
:表明接下来的配置项属于主(global)配置段。cachedir=/var/cache/yum/$basearch/$releasever
:设置缓存目录,$basearch
和$releasever
为变量,分别代表基础架构和发行版本。keepcache=0
:下载的包在安装后是否保留在缓存中,0表示不保留。debuglevel=2
:设置调试信息的级别,范围通常是0至10,数值越大,输出的调试信息越详细。logfile=/var/log/yum.log
:指定日志文件的路径。exactarch=1
:只开启与本机架构相符的软件包。obsoletes=1
:启用此选项让yum在更新软件包时考虑“淘汰”信息。gpgcheck=1
:启用GPG签名检查,确认软件包的完整性和来源。plugins=1
:启用插件支持。installonly_limit=5
:安装仅安装包时(如内核),保留的历史版本数量。附加信息
bugtracker_url
:当遇到问题需要报告时的链接。distroverpkg=centos-release
:用于确定发行版本的软件包名称。元数据过期时间(被注释)
metadata_expire=90m
:设置仓库元数据过期时间,此示例中设置为90分钟。当本地缓存的元数据旧于90分钟时,将自动检查更新。仓库目录(被注释)
- 指示可以将仓库配置文件放置于
/etc/yum.repos.d
目录下。
仓库设置文件
位置:/etc/yum.repos.d/*.repo //yum仓库文件位置
常见的YUM源地址常见的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/
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/
搭建本地yum仓库
mount /dev/sr0 /mnt cd /etc/yum.repos.d mkdir bak mv *.repo bak vim lb.repo [lb] #自定义仓库描述 name=lb #自定义仓库名 baseurl=file:///mnt #指明仓库位置 gpgcheck=0 #不验证安全性(若为1则验证)yum clean all #清理缓存 yum makecache #重新建立元数据 yum install tree -y #下载软件tree进行验证
http 方式搭建
下载httpd服务:
挂载到http可供访问的部分:客户端搭建yum仓库
元数据建立成功基本上就是可以用了:
ftp方式搭建云仓库
安装软件
创建要挂载的位置:
挂载并且重启服务:
客户端下载软件
验证是否可以正常用
建立仓库:
验证一下
存储和NFS共享
ftp的工作原理
主动模式
首先 客户机会随机产生一个端口号,主动去链接 服务器的tp21端口,如果服务器是主动模式那么服务器会主动开启 20端口和客户端相连,然后再传输数据
被动模式
首先 客户机会随机产生一个端口号,主动去链接 服务器的tcp21端口,如果服务器是被动模式,那么服务器会产生一个随机的端口号,被动等待客户机来连接后再发送数据。
ftp的端口号和协议
协议是tcp协议
端口号是20 数据端口
21 命令端口ftp服务端软件:vsftpd filezilla
ftp客户端:ftp
可以登录的用户
1:匿名用户:annonymous或者ftp
2:系统用户:在/etc/passwd中
3:虚拟用户:只可以用来登录ftp
存储类型分为三种
-
直连式存储:Direct-Attached Storage,简称DAS
-
网络附加存储:Network-Attached Storage,简称NAS
-
存储区域网络:Storage Area Network,简称SAN
NFS简介
NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限
由何而来:
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
有啥用:
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议
NFS 它是文件系统,是操作系统内核来管理的
NFS原理
NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。
NFS软件介绍
软件包:nfs-utils(包括服务器端和客户端)
相关软件包:rpcbind(必须)
NFS软件
NFS配置文件: /etc/exports
先创建一个文件夹并且给一下权限
写配置文件
看看配置文件对不对
往里面塞东西
刷新一下
去客户端看看机子配置文件能不能看,能看就直接挂载
直接进去看看能不能看到东西
NFS的永久挂载:
vim /etc/fstab
192.168.160.10:/share /mnt nfs, defaults 0 0