部署YUM仓库及NFS共享服务
一、YUM仓库服务
1. YUM概述
YUM(Yellow dog Updater Modified)
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
2. 部署YUM软件仓库
(1)准备安装源
①YUM仓库的种类
根据软件仓库的提供方式可分为:
- FTP服务:ftp://……
- HTTP服务:http://……
- 本地目录: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)软件包的查询命令
- 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
- 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.
- 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
- 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)查询软件包组
- 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 桌面
完成
- 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发布共享资源
-
安装nfs-utils、rpcbind软件包
rpm -q nfs-utils rpcbind
yum -y install nfs-utils rpcbind -
设置共享目录
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服务器也不检查其父目录的权限,这样可以提高效率
- 启动DNS服务程序
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -anpt | grep rpcbind #查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111
- 查看本机发布的NFS共享目录
showmount -e
3. 在客户端访问NFS共享
- 安装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服务器共享目录
- 手动挂载NFS共享目录
mkdir /myshare
mount 192.168.88.88:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df -hT
- 设置自动挂载
vim /etc/fstab
192.168.88.88:/opt/wwwroot /myshare nfs defaults,_netdev 0 0
_netdev:表示挂载设备需要网络
- 强制卸载NFS
如果服务局端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df -h命令卡死的现象。这个时候直接使用umount命令时无法直接卸载的,需要加上-lf选项才能卸载
umount -lf /myshare