1.部署yum软件仓库
1.简介
借助于 YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管理员在维护大量Linux 服务器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中, 构建一台“源”服务器可以大大缓解软件安装、升级等对 Internet 的依赖
2.实操步骤
需要环境
一台CentOS7min1 和 一台 CentOS7min2
1.准备软件仓库目录
[root@bogon ~]# ls
anaconda-ks.cfg CentOS-7-x86_64-DVD-2207-02.iso 上传镜像文件(这个镜像文件需要手动上传Xshell工具上传)
[root@bogon ~]# mount CentOS-7-x86_64-DVD-2207-02.iso /media/cdrom/ 挂载
mount: /dev/loop0 写保护,将以只读方式挂载
[root@bogon ~]# ls /media/cdrom/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@bogon ~]#
[root@bogon ~]# cd /etc/yum.repos.d/ 切换目录
[root@bogon yum.repos.d]# vi CentOS-Base.repo 修改配置文件
enabled=1 //启用此软件仓库
gpgcheck=0 //验证软件包的签名
2.安装并启用 vsftpd 服务
[root@bogon yum.repos.d]# yum -y install vsftpd 安装软件包
[root@bogon yum.repos.d]# systemctl start vsftpd 启动服务
[root@bogon yum.repos.d]# systemctl enable vsftpd 设置开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@bogon yum.repos.d]# ls /var/ftp/
pub
[root@bogon yum.repos.d]# mkdir /var/ftp/centos7 创建一个目录
[root@bogon yum.repos.d]# ls /media/cdrom/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@bogon yum.repos.d]# cp -r /media/cdrom/* /var/ftp/centos7/ 然后将 CentOS 7 光盘中的所有数据复制到该目录下
3.CentoOS7 min2
[root@bogon ~]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# ls
bak CentOS-Base.repo
[root@bogon yum.repos.d]# rm -rf CentOS-Base.repo
[root@bogon yum.repos.d]# ls
bak
[root@bogon yum.repos.d]# vi ftp.repo
[root@bogon yum.repos.d]# cat ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.73.139/centos7
gpgcheck=0
enabled=1
[root@bogon yum.repos.d]# yum clean all 清理缓存
[root@bogon yum.repos.d]# yum makecache 重建缓存
[root@bogon yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
ftp ftp 4,070
repolist: 4,070
[root@bogon yum.repos.d]#
3.yum相关的命令
命令
yum repolist 列出所有的可用源
yum list 列出yum仓库的软件包
yum info 软件包 查询软件包的描述信息
yum whatproviodes 命令 查询某个命令属于那个软件包
yum -y install 软件包 安装软件包
yum -y remove 软件包 卸载安装软件包
yum -y update 跟新系统
yum groupinfo "" 用于显示特定软件组的详细信息
yum groupinfo "" 查询指定组的信息
yum groupinfo "" 查询指定组的信息
yum groupinstall "" 安装指定组
yum groupmomve "" 删除指定组
2.NFS共享储存服务
NFS(Network File System)共享储存服务是一种基于网络的文件系统协议,它允许网络中的计算机之间通过TCP/IP网络共享资源
1. NFS的定义
- NFS是由SUN公司研制的UNIX表示层协议,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
- NFS也是NAS存储设备必然支持的一种协议。
- NFS是基于UDP/IP协议的应用,实现主要通过RPC(Remote Procedure Call,远端过程调用)机制。
- RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。
2. NFS的工作原理
- 当用户发送请求通过用户进程访问NFS客户端时,会根据不同的请求来使用不同的函数对数据进行处理。
- NFS客户端通过TCP/IP协议的方式将请求传递给NFS服务端。
- NFS服务端接收到请求后,会先调用portmap进程进行端口映射。
- rpc.nfsd进程用于判断NFS客户端是否拥有权限链接NFS服务端。
- Rpc.mount进程判断客户端是否有对应的权限进行验证。
- idmap进程实现用户映射和压缩。
- 最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,再由内核驱动硬件。
3. NFS的特点
- 允许网络中的计算机之间通过TCP/IP网络共享资源。
- 本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
- 适用于Linux与Unix之间实现文件共享,但不能实现Linux与Windows间的文件共享功能。
- nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上。
- NFS服务只能基于IP进行认证。
4. NFS的应用场景
- 多个机器共享一台CDROM或其他设备,这在多台机器中安装软件时更加便宜与方便。
- 在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录,用户无论在哪台工作站上登录,总能得到相同的home目录。
- 不同客户端可在NFS上观看影视文件,节省本地空间。
- 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。
5. NFS的配置与安装
- 在服务端,需要安装nfs-utils和rpcbind软件包,前者用于NFS共享发布和访问,后者用于RPC支持。
- 配置NFS服务,修改/etc/exports文件,指定共享目录、允许访问NFS服务端的网段和权限。
- 创建共享目录,并修改其属主和属组为nfs的匿名用户。
- 关闭防火墙和selinux,启动服务并加入开机自启。
- 在客户端,需要安装nfs软件包,并使用mount命令将NFS服务端共享的目录挂载到本地目录。
6.实操步骤
1. 安装并启动 rpcbind
[root@bogon ~]# yum -y install nfs-utils rpcbind 装 nfs-utils、rpcbind 软件包
[root@bogon ~]# systemctl start nfs rpcbind 重启服务
[root@bogon ~]# systemctl enable nfs rpcbind 设置开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@bogon ~]# vi /etc/exports
[root@bogon ~]# cat /etc/exports
/opt 192.168.73.0/24(rw,sync,no_root_squash) 设置共享目录
其中客户机地址可以是主机名、IP 地址、网段地址,允许使用*、?通配符;权限选项中的 rw 表示允许读写(ro 为只读),
sync 表示同步写入,
no_root_squash 表示当客户机以root身份访问时赋予本地 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)。
[root@bogon ~]# systemctl restart nfs rpcbind 重新启动 NFS 服务程序
[root@bogon ~]#
centos7 min2
[root@bogon ~]# yum -y install nfs-utils rpcbind 装 nfs-utils、rpcbind 软件包
[root@bogon ~]# systemctl start nfs rpcbind
[root@bogon ~]# showmount -e 192.168.73.139 查看本机发布的 NFS 共享目录
Export list for 192.168.73.139:
/opt 192.168.73.0/24
[root@bogon ~]#
[root@bogon ~]# mkdir /kgc
[root@bogon ~]# mount 192.168.73.139:/opt/ /kgc/ 临时挂载
[root@bogon ~]# df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 498M 0 498M 0% /dev
tmpfs tmpfs 510M 0 510M 0% /dev/shm
tmpfs tmpfs 510M 8.1M 502M 2% /run
tmpfs tmpfs 510M 0 510M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 54G 1.7G 53G 4% /
/dev/sda1 xfs 1.1G 146M 918M 14% /boot
/dev/mapper/centos-home xfs 51G 34M 51G 1% /home
tmpfs tmpfs 102M 0 102M 0% /run/user/0
192.168.73.139:/opt nfs4 54G 12G 43G 22% /kgc
[root@bogon ~]#
[root@bogon ~]# vi /etc/fstab 永久挂载
192.168.73.139:/opt /kgc nfs defaults,_netdev 0 0
[root@bogon ~]# cat /etc/fstab
验证
min2
[root@bogon ~]# ls /kgc/
kg65.txt
min1
[root@bogon ~]# ls /opt/
kg65.txt