部署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 update

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共享服务的更多相关文章

  1. 部署yum仓库以及NFS共享服务

    目录: 一.YUM概述 二.准备安装源 三.访问YUM仓库 四.本地YUM仓库 五.YUM工具概述 六.软件包查询.安装.卸载 七.NFS共享 一.YUM概述 YUM(Yellow dog Updat ...

  2. 懂得分享 Linux 配置NFS共享服务

    部署YUM仓库及NFS共享服务一.YUM概述    YUM (Yellow dog Updater Modified)二.准备安装源    ① 软件仓库的提供方式    ② RPM软件包的来源    ...

  3. 部署YUM源仓库与NFS共享存储服务

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.YUM YUM (Yellow dog Updater Modified) ●基于RPM包构建的软件更新机制 ●可以自动解决依赖关系 ●所有 ...

  4. Linux网络服务第四章部署yum仓库

    第四章部署yum仓库服务 1.笔记 systemctl start 命令 :重启 systemctl enable 命令 :开机自启动 netstat -anput | grep 命令:查看是否开启 ...

  5. 自动化部署必备技能—部署yum仓库、定制rpm包

    部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 ...

  6. NFS共享服务

    一.网络文件系统共享服务 NFS( Network File System,网络文件系统 )是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发,通过使用NFS协议,客户机可以像访问本地 ...

  7. 配置samba和NFS共享服务

                            配置samba和NFS共享服务 1案例1:配置SMB文件夹共享 1.1问题 本例要求在虚拟机server0上发布两个共享文件夹,具体要求如下: 此服务器 ...

  8. Linux网络服务第五章NFS共享服务

    1.笔记 NFS一般用在局域网中,网络文件系统c/s格式 服务端s:设置一个共享目录 客户端c:挂载使用这个共享目录 rpc:111远程过程调用机制 Showmount -e:查看共享目录信息 def ...

  9. 部署YUM仓库 (最近睡眠质量很差,你什么时候搬过来住)

    部署YUM仓库 1.YUM概述 YUM(Yellow dog Updater Modified) 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件由集中的YUM软件仓库提供 2.主备安装 ...

随机推荐

  1. Java高效开发-SSH+Wireshark+tcpdump组合拳

    目标 实现抓取远程服务器的数据包在wireshark中展示,不需要频繁使用tcpdump抓包后保存为cap数据包,在进行从服务器下载进行解析: 工具 1.ssh win10默认没有开启ssh服务端的, ...

  2. strict weak ordering导致公司级故障

    大家好,我是雨乐! 前段时间,某个同事找我倾诉,说是因为strict weak ordering导致程序coredump,给公司造成数百万损失,最终评级故障为P0级,年终奖都有点不保了,听完不禁一阵唏 ...

  3. SpringBoot集成jasperreport实现打印功能

    1.jaspersoft studio工具下载地址 下载直通车 2.工具使用方法查看以下链接 工具使用 3.将工具编译后的.jasper文件放到SpringBoot项目的resources/templ ...

  4. python 字典 分别根据值或键进行排序的方法

    最近经常遇到根据字母出现的频率进行排序的题目 我的思路一般是借用字典统计字母出现的频率 然后对字典按照值进行排序 但是每次按照值进行排序时 都会忘记排序方法 在此记录一下,以加深印象 字典原始值如下: ...

  5. django中写入数据时给密码加密

    方法一.在自定义的form表单中重写save方法: 方法二.使用信号量来实现 1. 在应用的模块下新建signal.py文件 2.编写回调函数,内容如下: 3. 在应用的app.py文件中的ready ...

  6. Flask + flask_sqlalchemy + jq 完成书籍展示、新增、删除功能

    后端代码 from flask import Flask, render_template, request, jsonify from flask_wtf.csrf import CSRFProte ...

  7. centos7 查看卸载软件

    rpm -e xxx查不到就用下面的 # 查询软件列表# rpm -qa | grep 软件名rpm -qa | grep maxscale # 卸载软件# sudo yum remove 软件名su ...

  8. java 封装 总结

    1.前言 老是被问什么是java 封装...很基础的一个问题 ,其实我们一直在写的东西但不知道怎么称呼. 比如 在entity实体类 里面老用到的 getter 和 setter 方法其实就是封装的方 ...

  9. Go语言系列之依赖管理

    依赖管理 为什么需要依赖管理? 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个版本的代码.如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解 ...

  10. 函数实现将 DataFrame 数据直接划分为测试集训练集

     虽然 Scikit-Learn 有可以划分数据集的函数 train_test_split ,但在有些特殊情况我们只希望它将 DataFrame 数据直接划分为 train, test 而不是像 tr ...