yum工作原理
yum依赖于环境,依赖于服务端和客户端,允许跨网络。
Yum实现过程:
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。 服务器(RPM包和元数据缺一不可):
- RPM包 (存放在包文件夹Packages中)
- 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
[root@localhost ~]# mount /dev/sr0 /mnt //将光盘挂载到/mnt/目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /mnt //查看光盘内的包文件夹和元数据文件夹
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
yum客户端配置
yum客户端配置文件
/etc/yum.conf #为所有仓库提供公共配置
/etc/yum.repos.d/*.repo #每个仓库的配置文件
yum主配置文件
位置:/etc/yum.conf
[root@localhost ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别(0-10),默认为2
logfile=/var/log/yum.log
exactarch=1
obsoletes=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
yum仓库配置文件
2.2.1 仓库配置文件说明
位置:/etc/yum.repos.d/*.repo
系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost ~]# vim cs.repo //yum仓库配置文件格式
[cs]
name=cs
baseurl=file:///mnt
enabled=1
gpgcheck=0 //是否验证公钥,0表示无需验证
yum软件仓库类型
# 本地源 一对一 安装快 软件数量少 版本低
本地目录 file://
# FTP源 一对多 安装快 软件数量少 版本低
FTP服务 ftp://
# 在线源 一对多 安装慢 软件数量多 版本新
http://
https://
yum命令详解
| 命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
|---|---|---|
| yum list | 显示所有可用包 | 单个的可安装包 |
| yum info | 显示所有可用包的信息 | 单个具体的信息 |
| yum search | \ | 模糊查找所有的相关信息 |
| yum whatprovides | \ | 精确查找 |
| yum install | \ | 安装具体软件包 |
| yum remove | \ | 卸载具体软件 |
yum仓库搭建方式
软件仓库的提供方式:
- 本地目录:file://绝对路径
- FTP服务:ftp://ip地址/站点里的路径
- HTTP服务:http://域名或者ip地址/站点里的路径
搭建本地yum仓库
搭建步骤:
步骤1、挂载光盘(/dev/sr0或/dev/cdrom都可以,/dev/cdrom是/dev/sr0的软链接)
[root@localhost ~]# mount /dev/sr0 /mnt/ //将光盘挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th //查看挂载是否成功
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 37G 3.9G 34G 11% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 44K 183M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
步骤2、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。
[root@localhost ~]# cd /etc/yum.repos.d/ //切换至/etc/yum.repos.d/目录
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir bak //创建一个名为bak的新目录
[root@localhost yum.repos.d]# mv *.repo bak/ //将yum仓库中以.repo结尾的文件移动到bak中
[root@localhost yum.repos.d]# ls
bak
步骤3、新建yum仓库文件。
[root@localhost yum.repos.d]# vim cs.repo //新建yum仓库文件
[cs]
name=cs //设置名称
baseurl=file:///mnt //设置链接地址,file://是固定格式,指向/mnt
enable=1 //开启此yum源
gpgcheck=0 //无需验证公钥
步骤4、清理缓存并安装软件。
[root@localhost yum.repos.d]# yum clean all //清理yum缓存
[root@localhost yum.repos.d]# yum makecache //重新建立元数据
[root@localhost yum.repos.d]# yum list //查看可安装的软件列表
[root@localhost yum.repos.d]# yum install dhcp -y //yum安装dhcp测试是否成功
搭建阿里云仓库(http方式外网环境)
默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替。
操作步骤:
步骤1、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
步骤2、新建阿里云仓库。
[root@localhost yum.repos.d]# vim aly.repo
[aly]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=0
[epel] //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
步骤3、清理缓存并安装软件。
[root@localhost yum.repos.d]# yum clean all //清理yum缓存
[root@localhost yum.repos.d]# yum makecache //重新建立元数据
[root@localhost yum.repos.d]# yum list //查看可安装的软件列表
[root@localhost yum.repos.d]# yum install tree -y //yum安装tree测试是否成功
使用命令方式生成仓库文件
命令格式:
wget -O /etc/yum.repos.d/name.repo(自定义以repo结尾的文件名) 源路径
wget 命令配置阿里云仓库:
wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Cento
NFS
简介
NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
NFS的特点:
- 采用TCP/IP传输网络文件
- 安全性低
- 简单易操作
- 适合局域网环境
NFS共享存储服务的操作步骤
实验环境:
服务端:192.168.177.150
客户端:192.168.177.152
实验步骤:
1、服务端设置:
1.关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2.安装nfs-utils和rpcbind软件包
[root@localhost ~]# yum install nfs-utils rpcbind -y
3.新建共享目录,在目录内创建文件
[root@localhost ~]# mkdir /share
[root@localhost ~]# touch /share/1.txt
4.编辑nfs配置文件
[root@localhost ~]# vim /etc/exports
/share 192.168.72.0/24
5.启动两个服务,查看详细的nfs信息
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e //查看本机发布的NFS共享目录
Export list for localhost.localdomain:
/share 192.168.177.0/24
[root@localhost ~]# exportfs -v //查看NFS共享目录的详细信息
/share 192.168.177.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
2、客户端设置:
1.检查nfs-utils和rpcbind两个软件是否已安装。
[root@localhost ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@localhost ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.48.el7.x86_64
2.将服务端的共享目录/share,挂载到本地的/mnt目录下。
[root@localhost ~]# mount 192.168.177.20:/share /mnt
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 39G 4.9G 34G 13% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 19G 37M 19G 1% /home
tmpfs tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
192.168.177.20:/share nfs4 37G 4.6G 33G 13% /mnt
3.查看共享目录内的文件
[root@localhost ~]# ls /mnt/
1.txt
3、测试在服务端的共享目录中新建文件f2,观察客户端能否查看到
1.服务端,在/share目录中新建文件f2
[root@localhost ~]# cd /share/
[root@localhost share]# touch 222
[root@localhost share]# ls
1.txt 222
2.客户端,查看共享目录挂载点内的文件
[root@localhost ~]# ls /mnt/
1.txt 222
本文介绍了YUM的工作原理、客户端配置、仓库搭建方法,包括本地仓库和阿里云仓库的配置。同时,讲解了NFS服务,包括其特点和在CentOS 7中设置NFS共享服务的步骤。通过这些内容,读者可以掌握如何在Linux环境中管理和共享软件资源。
997

被折叠的 条评论
为什么被折叠?



