YUM仓库的部署以及NFS共享服务

一、YUM概述

YUM(Yellow dog Updater Modified)

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓库提供
    准备安装源

软件仓库的提供方式

​ FTP服务:ftp://…

​ http服务:http://…

​ 本地目录:file://…

RPM软件包的来源

​ CentOS发布的RPM包集合

​ 第三方组织发布的RPM包集合

​ 用户自定义的RPM包集合

构建CentOS 7 软件仓库 ===>ftp 形式

​ RPM包来自CentOS 7 DVD光盘

​ 通过FTP方式提供给客户机

[root@localhost ~]# mkdir -p /var/ftp/centos7       #创建目录
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7        #将光盘里面的软件包强制递归复制到创建的目录下面
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm       #安装vsftp
[root@localhost ~]# systemctl start vsftpd           #开启服务
[root@localhost ~]# systemctl enable vsftpd             #开机自启

在软件仓库中加入非官方RPM包组

​ 包括存在依赖关系的所有RPM包
​ 使用createrepo工具建立仓库数据文件

[root@localhost ~]# mkdir /var/ftp/other      #创建索引目录
[root@localhost ~]# cd /var/ftp/other      #进到索引目录下(非官方的RPM要先放入该目录)
[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./   #部署软件包里面的索引

二、访问YUM仓库

为客户机指定YUM仓库位置
​ 配置文件:/etc/yum.repos.d/centos7.repo

[root@localhost ~]#  vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.6
baseurl=ftp://192.168.4.254/centos7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG_KEY_CentOS-7
[other]
name=other
baseurl=ftp://192.168.4.254/other
enabled=1
gpgcheck=0

三、本地YUM仓库

直接以CentOS 7 光盘作软件仓库
​ 将CentOS 7 光盘放入光盘
​ 挂载镜像到仓库位置,URL地址为 file:///media/cdrom

[root@localhost ~]# vi /etc/yum.repos.d/local.repo
......
[local]
name=local
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

四、YUM工具概述

关于YUM命令

​ 由软件包yum-3.4.3-150.el7.centos.noarch提供
​ 用来访问YUM仓库,查询,下载及安装,卸载软件包

YUM的配置文件

​ 基本设置:/etc/yum.conf
​ 仓库设置:/etc/yum.repos.d/*.repo
​ 日志文件:/var/log/yum.log

YUM缓存目录

​ 存放下载的软件包、仓库信息等数据
位于/var/cache/yum/b a s e a r c h /$ basearch/$releasever
$basearsh #硬件架构,如x86_64
$releasever #os版本

[root@localhost ~]# yum clean all    #清理缓存数据
[root@localhost ~]# yum makecache    #创建缓存

五、软件包查询

yum list [软件名] #查看软件列表

yum info [软件名] #查看软件包的详细信息

yum search <关键词> #搜索

yum whatprovides <关键词> #查看软件包里面的概要信息

示例

[root@localhost ~]# yum list    #查看列表信息
[root@localhost ~]# yum list httpd    #查看httpd列表信息
[root@localhost ~]# yum info vsftpd    #查看vsftpd列表信息
[root@localhost ~]# yum search gcc    #搜索gcc
[root@localhost ~]# yum whatprovides vim    #查看vim软件包里面的概要信息

六、查询软件包组

yum grouplist [包组名] #查看软件包组

yum groupinfo <包组名> #查看软件包组的详细信息

示例

[root@localhost ~]# yum grouplist    #查看软件包组列表信息
[root@localhost ~]# yum grouplist gnome-desktop    #查看桌面的软件包组
[root@localhost ~]# yum groupinfo gnome-desktop    #查看桌面的软件包组的详细信息

七、软件安装、升级

安装软件

yum install [软件名]
yum groupinstall <包组名>

升级软件

yum update

yum groupupdate

示例

[root@localhost ~]# yum -y install net-tools    #安装net-tools软件包
[root@localhost ~]# yum -y groupinstall gnome-desktop    #安装gnome-desktop软件包组
[root@localhost ~]# yum -y update    #即更新软件包,同时也更新系统内核
[root@localhost ~]# yum upgrade    #只更新软件包
[root@localhost ~]# yum install <软件包>    #安装软件包
[root@localhost ~]# yum remove <软件包>    #卸载软件包
[root@localhost ~]# yum list    #查看软件列表
[root@localhost ~]# yum clean all    #清空缓存
[root@localhost ~]# yum info <软件包>    #查看软件包详细信息
[root@localhost ~]# yum whatprovides <文件或目录>    #查看文件或者目录归属于哪个软件包

八、软件卸载

yum remove <软件名>
yum groupremove <包组名>

示例

[root@localhost ~]# yum -y remove autofs
[root@localhost ~]# yu -y groupremove gnome-desktop

九、YUM实操

本地YUM源实操

[root@localhost ~]# mount /dev/cdrom /mnt    #挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /etc/yum.repos.d/    #进入该目录
[root@localhost yum.repos.d]# mkdir backup    #创建一个备份目录
[root@localhost yum.repos.d]# mv C* backup/    #将当前目录下的文件移动到backup目录下
[root@localhost yum.repos.d]# vi local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: local
Other repos take up 207 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum list    #更新一下

YUM源实操测试访问ftp

服务端的设置

[root@localhost ~]# yum -y install vsftpd    #安装一下vsftpd
[root@localhost ~]# cd /var/ftp/    #进入该目录
[root@localhost ftp]# ls    #查看下
pub
[root@localhost ftp]# mkdir centos7    #创建一个目录
[root@localhost ftp]# ll    #查看一下
总用量 0
drwxr-xr-x. 2 root root 6 7月  10 22:37 centos7
drwxr-xr-x. 2 root root 6 4月   1 12:55 pub
[root@localhost ftp]# mount /dev/cdrom /mnt    #挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# cp -rf /mnt/* /var/ftp/centos7/    #将光盘里面的内容全部拷贝到之前创建的目录下
[root@localhost ftp]# ls    #查看
centos7  pub
[root@localhost ftp]# ls centos7/    #查看目录centos7
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost ftp]# setenforce 0    #关闭核心防护
[root@localhost ftp]# systemctl stop firewalld    #关闭防火墙
[root@localhost ftp]# mkdir other     #创建other目录
[root@localhost ftp]# createrepo -g /mnt/repodata/repomd.xml /var/ftp/other/    #创建索引
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost ftp]# systemctl start vsftpd    #开启vsftp服务
[root@localhost ftp]# systemctl status vsftpd     #查看vsftp状态

客户端的设置

[root@localhost ~]# yum -y install ftp     #安装一下ftp
[root@localhost ~]# setenforce 0    #关闭核心防护
[root@localhost ~]# systemctl stop firewalld    #关闭防火墙
[root@localhost ~]# ftp 20.0.0.20    #ftp连接一下服务器的IP
Connected to 20.0.0.20 (20.0.0.20).
220 (vsFTPd 3.0.2)
Name (20.0.0.20:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
 ftp> ls    #查看一下
227 Entering Passive Mode (20,0,0,20,144,253).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Jul 10 14:38 centos7
drwxr-xr-x    3 0        0              22 Jul 10 14:42 other
drwxr-xr-x    2 0        0               6 Apr 01 04:55 pub
226 Directory send OK.
[root@localhost ~]# cd /etc/yum.repos.d/    #进入该目录
[root@localhost yum.repos.d]# ll    #查看一下
总用量 36
-rw-r--r--. 1 root root 1664 4月   8 06:01 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 4月   8 06:01 CentOS-CR.repo
-rw-r--r--. 1 root root  649 4月   8 06:01 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 4月   8 06:01 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 4月   8 06:01 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 4月   8 06:01 CentOS-Sources.repo
-rw-r--r--. 1 root root 7577 4月   8 06:01 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 4月   8 06:01 CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# ll
总用量 0
drwxr-xr-x. 2 root root 220 7月  10 22:44 backup
[root@localhost yum.repos.d]# vi ftp.repo    #必须是.repo结尾的文件
[base]
name=base
baseurl=ftp://20.0.0.20/centos7 
enabled=1
gpgcheck=1
gpgkey=ftp://20.0.0.20/centos7/RPM-GPG-KEY-CentOS-7
[other]
name=other
baseurl=ftp://20.0.0.20/other
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum -y install httpd    #安装一下测试一下

十、NFS共享存储服务

NFS(Network File System)网络文件系统

  • ​ 依赖于RPC(远端过程调用)
  • 需安装nfs-utils、rpcbind软件包
  • 系统服务:nfs、rpcbind
  • 共享配置文件:/etc/exports
  • ​nfs-utils ===>网络文件系统
    rpcbind ===>远程过程调用

十一、使用NFS发布共享资源

安装nfs-utils、rpcbind软件包

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind

设置共享目录

[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot	192.168.7.0/24(rw,sync,no_root_squash) ===>该网段的用户都可以访问该目录
/var/ftp/pub	192.168.4.11(ro)192.168.4.110(rw) ===>该目录192.168.4.11只能读 192.168.4.110可以读写

启动NFS服务程序

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs

查看本机发布的NFS共享目录

[root@localhost ~]# netstat -anpt | grep rpc
tcp	0	0 0.0.0.0:20048	0.0.0.0:*	LISTEN	10508/rpc.mountd
tcp	0	0 0.0.0.0:52732	0.0.0.0:*	LISTEN	10495/rpc.statd
tcp	0	0 0		::::20048	::::*			LISTEN	10508/rpc.mountd
tcp	0	0 0		::::47669	::::*			LISTEN	10508/rpc.mountd
[root@localhost ~]# showmount -e ===>查看挂载情况
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.11

在客户机中访问NFS共享资源

1.安装rpcbind软件包,并启动rpcbind服务
[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# showmount -e 192.168.7.250
Export list for 192.168.7.250:
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11
2.手动挂载NFS共享目录

临时挂载

[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab
192.168.7.250:/opt/wwwroot /var/www/html nfs4
rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,photo=tcp,port=0,
​	timeo=600,retrans=2,sec=sys,clientaddr=192.168.7.21,local_lock=none,
	addr=192.168.7.250 0 0
[root@localhost ~]# vi /var/www/html/index.html
Real Web Server Document

fstab自动挂载设置(永久挂载)

[root@localhost ~]# vi /etc/fstab
......
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0

强制卸载NFS

[root@localhost ~]# umount /mnt
umount:/mnt:device is busy
[root@localhost ~]# umount -lf /mnt   #强制卸载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值