部署YUM仓库及NFS共享服务

目录

前言

一、构建YUM软件仓库

    1、YUM的概念

    2、配置本地源仓库

    3、配置ftp源

    4、配置网络源

    5、使用yum工具管理软件包

二、FTP

    1、FTP概念

    2、设置匿名用户访问的FTP服务(最大权限)

    3、设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用                 户家目录)

三、NFS共享服务

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

    2、特点

    3、步骤

总结


前言

        作为运维人员,在工作中往往要与大规模的服务器群接触,因此在安装程序上借助于YUM软件仓库,在共享数据存储上使用NFS协议,是最合适的,可以避免给管理员带来额外的维护开销,减轻管理员的工作,而且效率更高。

一、构建YUM软件仓库

    1、YUM的概念

       借助于YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并

解决rpm包之间的依赖关系,而无须管理员逐个、手工地去安装每个rpm包,使管理员在维护大量

Linux服务器时更加轻松自如。特别是在拥有大量Linux主机的本地网络中,构建一台"源"服务器可

以大大缓解软件安装、升级等对Internet的依赖。

        软件仓库的提供方式

             FTP服务:ftp://......

             HTTP服务:http:// ......

             本地目录:file://......

         RPM软件包的来源
             CentOS发布的RPM包集合

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

              用户自定义的RPM包集合

    2、配置本地源仓库

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                      ###检查安装

    3、配置ftp源

       3-1、服务器配置

             主要思路:(1)安装vsftpd服务端软件(2)创建并制作yum远程ftp站点的源(3)启动ftp服务

yum -y install vsftpd
mkdir /var/ftp/centos7       #创建挂盘挂载目录
mount /dev/sr0 /mnt           #镜像挂载
cp -rf /mnt/* /var/ftp/centos7/ &
mkdir /var/ftp/other         #创建目录repodata数据文件
cd /var/ftp/other/
createrepo -g /media/cdrom/repodata/repomd.xml ./  #工具建立仓库数据文件
systemctl start vsftpd       
systemctl is-enabled vsftpd    #查看系统是否开机自启动
systemctl enabled vsftpd       #开机自启动

       3-2、客户端配置

             主要思路:(1)创建远程yum源的配置文件  (2) yum安装软件验证结果

yum install ftp -y
cd /etc/yum.repos.d/
ls
mkdir repo.bak
mv CentOS-* repo.bak/
ls
vim /etc/yum.repos.d/ftp.repo
  [ftp]                                 #仓库类别
  name=ftp                              #仓库名称(说明)
  baseurl=ftp://192.168.10.20/cetnos7   #URL访问路径
  enabled=1                             #启用此软件仓
  gpgcheck=1(或=0 注:在这里不使用验证)   #验证软件包的签名
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Cent0S-7  //GPG公钥文件的位置
  
  [other]
  name=ftp
  baseurl=ftp://192.168.10.20/other
  enabled=1                             #启用此软件仓库
  gpgcheck=0                            #验证软件包的签名
yum clean all
yum makecache

       4、配置网络源

           4-1、centos7 清华源

vim CentoS7-Base-tsinghua.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centosl$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7

           4-2、163 yum源

下载链接: wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

vim CentOS7-Base-163.repo    #编辑163 yum网络源
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOs-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/release=$releaseveraarch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=extras 
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-Centos-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

           4-3、阿里源

下载地址: wget http://mirrors.aliyun.com/repo/Centos-7.repo

vim Centos7-Base-aliyun.repo    #编辑阿里云yum 网络源
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releaseverlos/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-Centos-7

#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centosl$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centosl$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http: / /mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOs-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=Centos-$releasever - Contrib - mirrors.aliyun. com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


       5、使用yum工具管理软件包

yum常用的操作命令:

yum -y install 软件名      #安装、升级软件包,"-y"选项表示自动确认
yum -y remove 软件名       #卸载软件包,可自动解决其依赖关系
yum -y update 软件名       #升级软件包
yum list                  #查询软件包列表
yum list installed        #查询系统中已安装的软件包
yum list available        #查询仓库中尚未安装的软件包
yum list updates          #查询可以升级版本的软件包

案列搜索RPM包(两种方法)
yum search vim
yum list | grep "vim"

yum info 软件名            #查询软件包的描述信息
yum info httpd
yum search [all] 关键词    #根据某个关键词来查找相关的软件包
yum search all httpd
yum whatprovides 命令      #查询命令属于哪个软件包
yum whatprovides netstat

下载RPM包而不安装
# yum install 包名-y --downloadonly
# yum reinstall -y bash --downloadonly      #下载已安装过的rpm包
# yum install 包名 -y --downloadonly --downloaddir=/tmp/   #下载RPM包到指定目录

yum history查看历史记录来找到它所依赖的包,然后删除,
如:yum history list 列出最近的历史
yum history info id 列出某次的详细信息,
yum history undo id 撤销某次更改
yum history help    查看帮助

二、FTP

    1、FTP概念

       FTP (File Transfer Protocol:文件传输协议)作用:Internet 上用来传送文件的协议。

       VSFTP全称(very secure FTP),也是FTP

       VSFTP模式:C/S模式

       FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

       20端口用于建立数据连接,并传输文件数据

       21端口用于建立控制连接,并传输FTP控制命令FTP数据连接分为主动模式和被动模式

       主动模式:服务器主动发起数据连接

       被动模式:服务器被动等待数据连接

yum install -y vsftpd 
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak

     2、设置匿名用户访问的FTP服务(最大权限)

#修改配置文件
vim /etc/vsftpd/vsftpd.conf
 anonymous enable=YES     #开启匿名用户访问。默认已开启
 write_enable=YES         #开放服务器的写权限(若要上传,必须开启)。默认已开启 
 anon_umask=022           #设置匿名用户所上传数据的权限掩码(反掩码)。
 anon_upload_enable=YES   #允许匿名用户.上传文件。默认已注释,需取消注释
 anon_mkdir_write_enable=YES    #允许匿名用户创建(上传)目录。默认已注释,需取消注释 
 anon_other_write_enable =YES   #允许删除、重命名、覆盖等操作。需添加
 chmod 777 /var/ftp/pub/        #为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用 
                                 户上传数据
systemctl restart vsftpd   #重启
如果出现错误,输入vim /var/log/messages或tail -f /var/log/messages命令,查看日志文件,找到错误原因。



#开启服务,关闭防火墙和增强型安全功能
  systemctl start vsftpd
  systemctl stop firewalld
  setenforce o
#匿名访问测试
  在windows系统打开开始菜单,输入cmd命令打开命令提示符
  #建立ftp连接
   ftp 192.168.80.10
  #匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
   ftp> pwd  #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
   ftp> ls   #查看当前目录
   ftp> cd pub #切换到pub目录
   ftp> get 文件名  #下载文件到当前windows本地目录
   ftp> put 文件名  #上传文件到ftp目录
   ftp> quit        #退出

     3、设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登             录的根目录为本地用户的家目录)

#修改配置文件

vim /etc/vsftpd/vsftpd.conf
 local_enable=Yes   #启用本地用户
 anonymous_enable=NO  #关闭匿名用户访问
 write_enable=YES  #开放服务器的写权限(若要上传,必须开启)
 local_umask=077  #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
 chroot_local_user=YES  #将访问禁锢在用户的宿主目录中
 allow_writeable_chroot=YES  #允许被限制的用户主目录具有写权限

 #anon mkdir write enable=YES  注释
 #anon_other_write_enable=YES  注释


systemctl restart vsftpd   重启服务

vim letc/vsftpd/vsftpd.conf
  userlist_enable=YEs#启用user_list用户列表文件
  userlist_deny=NO  #设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁 
                     用

三、NFS共享服务

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

       依赖于RPC (远端过程调用)

       需安装nfs-utils、rpcbind软件包

       系统服务: nfs、rpcbind

       共享配置文件:/etc/exports

       NFS 服务的实现依赖于RPC (Rembte Process Call,远端过程调用)机制,以完成远程到本

地的映射过程。在CentOS 7系统中,需要安装nfs-utils、rpcbind 软件包来提供NFS 共享服务,

前者用于NFS 共享发布和访问,后者用于RPC支持。手动加载NFS共享服务时,应该先启

rpcbind再启动nfs
       nfs端口号2049
       RPC端口号111

     2、特点

        采用TCP/IP传输网络文件

        安全性低

       简单易操作

       适合局域网环境

     3、步骤

        安装nfs和rpcbind软件

        修改配置文件设置共享

       创建共享目录

        开启服务

        客户端验证共享目录可访问

rpm -q rpcbind nfs-utils
yum install -y nfs-utils rpcbind
rpcinfo -p localhost   #查看localhost的详细信息
vim /etc/exports  #NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)
 /opt/web 192.168.10.0/24 (rw, sync,no_root_squash)  #/opt/web权限是192.168.10.0/24所有 
                                                     网段,都可以可读可写,同步且不验证父目录

 常用选项:
  rw              表示允许读写  
  ro              表示为只读  
  sync            表示同步写入到内存与硬盘中
  no_root_squash  表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那 
                  么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限
  root_squash     表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
 其它常用选项:
  all_squash      所有访问用户都映射为匿名用户或用户组
  async           将数据先保存在内存缓冲区中,必要时才写入磁盘,速度快但会丢失数据
  subtree_check(默认)  若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
  no _subtree_check   即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

systemctl start rpcbind   //需要先启动rpc服务,因为nfs要向rpc注册端口
systemctl start nfs
systemctl enable rpcbind    rpcbind开机自启动
systemctl enable nfs
详细过程:

服务端:IP是192.168.10.20
yum install -y nfs-utils rpcbind
systemctl start rpcbind   #需要先启动rpc服务,因为nfs要向rpc注册端口
systemctl start nfs
netstat -anup | grep rpc
rpcinfo -p localhost     #查看nfs向rpc注册的端口信息
vim /etc/exports    #NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)
 /opt/web 192.168.10.0/24(rw,sync,no_root_squash)  #/opt/web权限是192.168.10.0/24(网段 
                                   根据实际情况)所有网段,都可以可读可写,同步且不验证父目录

systemctl restart rpcbind     #重启
systemctl restart nfs         #重启
exportfs -v
mkdir /opt/web
showmount -e localhost

客户端:IP是192.168.10.21
yum install -y nfs-utils rpcbind
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
showmount -e 192.168.10.20    #客户端验证共享
yum install -y httpd
mount -t nfs 192.168.10.20:/opt/web /var/www/html/  #将共享目录挂载到网页目录
df -h
vim /etc/fstab #这条命令可以永久挂载,这里暂时不用
cd /var/www/html/
echo "this is kk" >> /var/www/html/index.html
systemctl restart httpd   #启动web服务
接下来可以在浏览器上输入192.168.10.21,可以得到this is kk
在服务端上输入cd /opt/web/然后再输入cat index.html,会出现this is kk



umount -lf /var/www/ html      #加lf参数可以强制卸载

总结

        可以说yum仓库和NFS服务目前在面对大规模的服务器群时有着极大的优势,减轻了管理员的负担。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值