部署YUM仓库及NFS共享服务
2021/7/11 7:05:48
本文主要是介绍部署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
这篇关于部署YUM仓库及NFS共享服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02Java管理系统项目实战入门教程
- 2024-11-02Java监控系统项目实战教程
- 2024-11-02Java就业项目项目实战:从入门到初级工程师的必备技能
- 2024-11-02Java全端项目实战入门教程
- 2024-11-02Java全栈项目实战:从入门到初级应用
- 2024-11-02Java日志系统项目实战:初学者完全指南
- 2024-11-02Java微服务系统项目实战入门教程
- 2024-11-02Java微服务项目实战:新手入门指南
- 2024-11-02Java项目实战:新手入门教程
- 2024-11-02Java小程序项目实战:从入门到简单应用