部署YUM仓库及NFS共享服务

2021/7/11 7:05:48

本文主要是介绍部署YUM仓库及NFS共享服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、YUM仓库服务

1. YUM概述

YUM(Yellow dog Updater Modified)
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供

2. 部署YUM软件仓库

(1)准备安装源

①YUM仓库的种类

根据软件仓库的提供方式可分为:

  1. FTP服务:ftp://……
  2. HTTP服务:http://……
  3. 本地目录:file://…
②RPM软件包的来源

CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合

③构建CentOS 7软件仓库

RPM包来自CentOS 7 DVD光盘
通过FTP方式提供给客户机

mkdir -p /var/ftp/centos7
cp -rf /media/cdrom/* /var/ftp/centos7
rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enable vsftpd

在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件

mkdir /var/ftp/other
cd /var/ftp/other
createrepo -g /media/cdrom/repodata/repomd.xml ./

(2)访问YUM仓库

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

vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.3
baseurl=ftp://192.168.88.88/centos7
enabled=1
gpgcheck=1
gpgkey=file:///rpm-gpg/RPM-GPG-KEY-CentOS-7
[other]
name=Other RPM Packages
baseurl=ftp://192.168.88.88/other
enabled=1
gpgcheck=0

3. 使用YUM工具管理软件包

(1)关于YUM命令

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

(2)YUM的配置文件

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

(3)YUM缓存目录

存放下载的软件包、仓库信息等数据
位于/var/cache/yum/x86_64/7
注:x86_64为本机硬件架构,7为OS版本,需根据实际情况修改目录
通常建立新的仓库需要使用“yum clean all”清除旧yum缓存,并使用“yum makecache”创建新yum缓存

(4)软件包的查询命令

  1. yum list [软件名]
[root@localhost x86_64]# yum list httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
已安装的软件包
httpd.x86_64                          2.4.6-67.el7.centos                          @local 
可安装的软件包
httpd.x86_64                          2.4.6-97.el7.centos                          updates 
  1. yum info [软件名]
[root@localhost x86_64]# yum info vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
可安装的软件包
名称    :vsftpd
架构    :x86_64
版本    :3.0.2
发布    :29.el7_9
大小    :173 k
源    :updates/7/x86_64
简介    : Very Secure Ftp Daemon
网址    :https://security.appspot.com/vsftpd.html
协议    : GPLv2 with exceptions
描述    : vsftpd is a Very Secure FTP daemon. It was written completely from
         : scratch.
  1. yum search <关键词>
[root@localhost x86_64]# yum search sshd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
======================================= 匹配:sshd =======================================
fail2ban.noarch : Daemon to ban hosts that cause multiple authentication errors
gsi-openssh-server.x86_64 : SSH server daemon with GSI authentication
jsch.noarch : Pure Java implementation of SSH2
libnss-mysql.x86_64 : NSS library for MySQL
openssh-server.x86_64 : An open source SSH server daemon
  1. yum whatprovides <关键词>
[root@localhost x86_64]# yum whatprovides yum
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
yum-3.4.3-154.el7.centos.noarch : RPM package installer/updater/manager
源    :local


yum-3.4.3-168.el7.centos.noarch : RPM package installer/updater/manager
源    :base


yum-3.4.3-154.el7.centos.noarch : RPM package installer/updater/manager
源    :@anaconda

(5)查询软件包组

  1. yum grouplist [包组名]
[root@localhost x86_64]# yum grouplist gnome-desktop
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
可用的环境分组:
   GNOME 桌面
完成
  1. yum groupinfo <包组名>
[root@localhost x86_64]# yum groupinfo gnome-desktop
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com

环境分组:GNOME 桌面
环境 ID:gnome-desktop-environment
 描述:GNOME 是一个非常直观且用户友好的桌面环境。
必备组:
   +base
   +core
   +desktop-debugging
   +dial-up
   +directory-client
   +fonts
   +gnome-desktop
   +guest-agents
   +guest-desktop-agents
   +input-methods
   +internet-browser
   +java-platform
   +multimedia
   +network-file-system-client
   +networkmanager-submodules
   +print-client
   +x11
可选组:
   +backup-client
   +gnome-apps
   +internet-applications
   +legacy-x
   +office-suite
   +remote-desktop-clients
   +smart-card

组:GNOME
 组编号:gnome-desktop
 描述:GNOME 是一个非常直观且用户友好的桌面环境。
 必要的软件包:
    NetworkManager-libreswan-gnome
    PackageKit-command-not-found
    PackageKit-gtk3-module
    abrt-desktop
    at-spi2-atk
    at-spi2-core
    avahi
    baobab
    caribou
    caribou-gtk2-module
    caribou-gtk3-module
    cheese
    compat-cheese314
    control-center
    dconf
    empathy
    eog
    evince
    evince-nautilus
    file-roller
    file-roller-nautilus
    firewall-config
    firstboot
    fprintd-pam
    gdm
    gedit
    glib-networking
    gnome-bluetooth
    gnome-boxes
    gnome-calculator
    gnome-classic-session
    gnome-clocks
    gnome-color-manager
    gnome-contacts
    gnome-dictionary
    gnome-disk-utility
    gnome-font-viewer
    gnome-getting-started-docs
    gnome-icon-theme
    gnome-icon-theme-extras
    gnome-icon-theme-symbolic
    gnome-initial-setup
    gnome-packagekit
    gnome-packagekit-updater
    gnome-screenshot
    gnome-session
    gnome-session-xsession
    gnome-settings-daemon
    gnome-shell
    gnome-software
    gnome-system-log
    gnome-system-monitor
    gnome-terminal
    gnome-terminal-nautilus
    gnome-themes-standard
    gnome-tweak-tool
    gnome-user-docs
    gnome-weather
    gucharmap
    gvfs-afc
    gvfs-afp
    gvfs-archive
    gvfs-fuse
    gvfs-goa
    gvfs-gphoto2
    gvfs-mtp
    gvfs-smb
    initial-setup-gui
    libcanberra-gtk2
    libcanberra-gtk3
    libproxy-mozjs
    librsvg2
    libsane-hpaio
    metacity
    mousetweaks
    nautilus
    nautilus-sendto
    nm-connection-editor
    orca
   +redhat-access-gui
    sane-backends-drivers-scanners
    seahorse
    setroubleshoot
    sushi
    totem
    totem-nautilus
    vinagre
    vino
    xdg-user-dirs-gtk
    yelp
 默认的软件包:
   +qgnomeplatform
    xdg-desktop-portal-gtk
 可选的软件包:
   alacarte
   dconf-editor
   dvgrab
   fonts-tweak-tool
   gconf-editor
   gedit-plugins
   gnome-shell-browser-plugin
   gnote
   libappindicator-gtk3
   seahorse-nautilus
   seahorse-sharing
   vim-X11
   xguest

4. 软件安装、升级

(1)安装软件

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

(2)升级软件

yum uodate
yum groupupdate

(3)卸载软件

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

二、NFS共享存储服务

1. NFS概述

NFS(Network File System)网络文件系统是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议,但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。


NFS服务的实现依赖于RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
共享配置文件:/etc/exports

2. 使用NFS发布共享资源

  1. 安装nfs-utils、rpcbind软件包
    rpm -q nfs-utils rpcbind
    yum -y install nfs-utils rpcbind

  2. 设置共享目录

mkdir -p /opt/wwwroot
chmod 777/opt/wwwroot
vim /etc/exports
/opt/wwwroot 192.168.80.0/24(rw,sync,no_root_squash)
/var/ftp/pub 192.168.88.188(ro) 192.168.88.111(rw)
/share *(rw,sync)

客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符
“rw”表示允许读写,“ro”表示为只读
sync:表示同步写入到内存与硬盘中
no_root_squash:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
root_squash:表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
其它常用选项:
all_squash:所有访问用户都映射为匿名用户或用户组
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check:即使输出目录是一个子目录,,nfs服务器也不检查其父目录的权限,这样可以提高效率

  1. 启动DNS服务程序
    手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -anpt | grep rpcbind    #查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111
  1. 查看本机发布的NFS共享目录
    showmount -e

3. 在客户端访问NFS共享

  1. 安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl ennbale rpcbind
showmount -e 192.168.88.88    #查看NFS服务器共享目录
  1. 手动挂载NFS共享目录
mkdir /myshare
mount 192.168.88.88:/opt/wwwroot /myshare
mount     #确认挂载结果,也可以使用df -hT
  1. 设置自动挂载
vim /etc/fstab
192.168.88.88:/opt/wwwroot /myshare nfs defaults,_netdev 0 0

_netdev:表示挂载设备需要网络

 

  1. 强制卸载NFS
    如果服务局端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df -h命令卡死的现象。这个时候直接使用umount命令时无法直接卸载的,需要加上-lf选项才能卸载
    umount -lf /myshare


这篇关于部署YUM仓库及NFS共享服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程