系列文章目录
` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux-网络设置
2.Linux-DHCP服务、vsftp
3.Linux-DNS域名解析服务
4.Linux-远程访问及控制
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 系列文章目录
- 前言
- 一、YUM仓库服务
- 二、NFS共享存储服务
前言
本章大概内容有:
YUM仓库服务、NFS共享存储服务等
提示:以下是本篇文章正文内容,下面案例可供参考
一、YUM仓库服务
-
1.1 YUM概述
- YUM(Yellowdog Updater, Modified)是一个在Linux系统中广泛使用的软件包管理工具。
- 它主要用于自动解决RPM包之间的依赖关系,并从软件仓库中下载和安装软件包。
- YUM是一个命令行工具,它可以运行在所有的Red Hat Enterprise Linux(RHEL)变种以及基于Debian的系统中,如Ubuntu。
- _PS:_epel源–》扩展源
- epel一个第三方软件仓库。它由Fedora社区维护,提供了许多在官方仓库中没有的软件包。
-
1.2 软件仓库的提供方式-》【清华大学镜像站-https://mirrors.tuna.tsinghua.edu.cn/】
- FTP服务:ftp://…
- HTTP服务: http://…
- 本地目录:file://…
-
1.3 RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
-
1.4 Linux系统各家厂商用的安装源
- centos7和rhel7默认使用的是yum仓库源,软件包的结尾是“.rpm”
- centos8和rhel8可以使用dhf(是yum的衍生产品)
- Ubuntu debian使用的是apt软件包是以“.deb”结尾
-
1.5 yum命令的运用
| 命令 | 功能描述 |
| — | — |
| yum install | 安装一个新的或已有的包。 |
| yum update | 升级一个已安装的包。 |
| yum upgrade | 具体软件更新 |
| yum remove | 卸载一个包。 |
| yum groupinfo | 显示关于一个组的详细信息 |
| yum search | 在仓库中搜索一个包。 |
| yum info | 显示一个包的信息。 |
| yum list | 列出所有可安装的包,或所有已安装的包。 |
| yum list installed | 显示所有已经安装的包。 |
| yum list updates | 列出所有可以更新的包。 |
| yum check-update | 检查是否有可用的更新包。 |
| yum clean | 清理YUM缓存。 |
| yum clean packages | 清除缓存目录下的软件包。 |
| yum clean headers | 清除缓存目录下的 headers。 |
| yum clean, yum clean all ( yum clean packages; yum clean oldheaders) | 清除缓存目录下的包及旧的headers。 |
**PS:**使用-y
参数自动确认所有提示,使用-q
参数安静地执行命令,不显示进度和信息。
- 1.6 yum下载方式
- 方式一、
yum install --downloadonly mariadb ###仅下载
#下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下
- 方式二、
yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader 仅下载指定软件 包,参数 --destdir 是用来指定存放下载的安装包的目录
- 方法三、
- yum的缓存功能:默认情况下,yum会在安装完软件之后,自动清理掉安装包。但是也可以通过设置,让yum不清楚安装后的安装包。
vim /etc/yum.conf 将配置中的keepcache=o 修改为 keepcache=1
###此时下载好的软件包默认安置在:/var/cache/yum
- _**PS: **_yum相关的日志文件
/var/log/yum.log
- 1.7 yum 仓库源的三种搭建
- 搭建yum本地源的方式**_ _**http://t.csdnimg.cn/Mu63Q
- 本地源的地址可以修改成在线源
[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
- 搭建本地,在线混合yum仓库 #两个yum源的名字要做区分
[test1]
name=test1
baseurl=file:///mnt
gpgcheck=0
enabled=1
priority=1 #优先级,数字越小,优先级越高
[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
priority=2
- _1.8 搭建ftp yum仓库 _
- 准备两台虚拟机,一台用作服务端,提供下载库,一台作为客户端,建立yum仓库获取下载库的资源,并关闭两台虚拟机的防火墙
- 第一步:服务端安装 vsftpd服务
yum install -y vsftpd
- 第二步:服务端在/var/ftp/ 下创建一个文件,并且挂载
该步骤涉及到ftp原理,用户远程访问时的,根目录就在 /var/ftp上,所以在此创建挂载目录
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/cdrom /var/ftp/centos7/
[root@localhost ftp]# systemctl start vsftpd #开启服务
- 第三步:客户端搭建ftp yum仓库
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# mv *.repo ./repo.bak/
[root@localhost yum.repos.d]# vim local.repo
systemctl stop firewalld
setenforce 0
- 1.9 下载的方式创建阿里云:
yum install wget
搭建阿里云仓库
第一步:将我们创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,下载镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
直接使用即可
二、NFS共享存储服务
- 概述:
- NFS(Network FIle System)网络文件系统
- 依赖于RPC(远程过程调用)
- 需安装nfs-utils、rpcbind软件包
- 系统服务:nfs、rpcbind
- 共享配置文件: /etc/exports
- NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
- 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
- NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
- 所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
- NFS(Network FIle System)网络文件系统
- NFS 的配置文件
- NFS 的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
- 在文件服务器使用NFS发布共享资源
- 以下在服务器server上操作:- 1.安装 nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
- 2.设置共享目录
mkdir -p /opt/wwwroot
chmod 777 /opt/wwwroot
vim /etc/exports
/opt/wwwroot 192.168.233.0/24(rw,sync,no_root_squash)
#这里的192.168.223.0是网址,也可以改成设备名,不过需要加入到/dev/hosts目录中
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
/share *(rw,sync) ###将挂载点共享给客户端,后面的baseurl就可以用file
###以下将对上面出现的单词加以解释说明
客户机地址可以是主机名、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服务器也不检查其父目录的权限,这样可以提高效率。
- 3.启动NFS服务程序
#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind --now
systemctl enable nfs --now
grep rpcbind #查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111
- 4.查看本机发布的NFS共享目录
showmount -e
- 在客户机中访问NFS共享资源
- 以下是客户端操作- 5.安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind ###下载
systemctl start rpcbind
systemctl enable rpcbind --now
systemctl start nfs-utils
systemctl enable nfs-utils --now ###安装
showmount -e 10.0.0.10 ###查看 NFS 服务器端共享了哪些目录
- 6.手动挂载NFS共享目录
mkdir /myshare
mount 10.0.0.10:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df -Th
- 7.设置自动挂载
vim /etc/fstab
192.168.233.21:/opt/wwwroot /myshare nfs defaults,_netdev 0 0
###_netdev :表示挂载设备需要网络
- 8.强制卸载 NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
umount -lf /myshare