文章目录
YUM
yum概述
YUM (Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的YUM软件仓库提供
优势:能自动帮我们解决软件包的依赖关系
系统 | 软件后缀 | 工具 |
---|---|---|
RHEL、CentOS | .rpm | yum |
Ubuntu、Debian | .deb | apt |
yum软件源类型
-
软件仓库的提供方式
- FTP服务: ftp://…
- HTTP服务: http://…
- 本地目录: file://…
-
RPM软件包的来
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
软件仓库提供方式 | 格式 | 对象 | 优点 |
---|---|---|---|
本地源 | baseurl=file:// | 一对一 | 安装快,但软件少,版本低 |
FTP源 | ftp:// | 一对多 | 安装快,但软件少,版本低 |
在线源 | http://或https:// | 一对多 | 软件数量多,版本新,但安装前需要更新缓存,安装速度较慢 |
yum源设置
本地yum源
mount /dev/sr0 /mnt #挂载光盘镜像
df -hT
cd /etc/yum.repos.d/ #进入yum仓库配置目录
mkdir repo.bak
mv *.repo repo.bak/ #备份目录中的源文件
vim local.repo #创建本地yum源配置文件
##配置文件的内容
[local]
name=local
baseurl=file:///mnt #file://固定格式 /mnt软件包目录
enabled=1 #设置开机自启
gpgcheck=0 #关闭密钥检查
#gpgkey= #设置密钥验证
yum clean all && yum makecache ##删除原有缓存,并进行更新
FTP源
systemctl stop firewalld
setenforce 0 ##关闭防火墙
mount /dev/sr0 /mnt #挂载镜像文件
df -hT
cd /mnt/Packages #进入软件的包
ls vsftpd*
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm #安装FTP软件
systemctl start vsftpd #启动FTP,默认匿名访问
cd /var/ftp/ #匿名用户默认访问目录
mkdir ftpmirror #创建目录
umount /mnt #解挂镜像文件
mount /dev/sr0 /var/ftp/ftpmirror #重新挂载
df -hT
cd /etc/yum.repo.d/
mkdir repo.bak ##创建备份目录
mv *.repo repo.bak/ ##备份文件
vim ftp.repo ##创建FTP源文件
##ftp.repo配置文件中的配置
[ftp]
name=ftp
baseurl=ftp://192.168.242.66/ftpmirror
enabled=1 #开机自启
gpgcheck=1 #开启数字签名检查
gpgkey=ftp://192.168.242.66/ftpmirror/RPM-GPG-KEY-CentOS-7
##指定k数字签名文件文件
##这个是FTP服务器中匿名用户默认访问的文件目录
##192.168.242.66 #就是服务器IP
/ #就是默认访问目录 /var/ftp/
yum clean all ##清理和重建缓存
yum makecache
yum -y install httpd ##安装一个软件试试
##客户端验证
systemctl stop firewalld
setenforce 0 ##关闭防火墙
cd /etc/yum.repos.d/ #进入yum仓库配置目录
mkdir repo.bak
mv *.repo repo.bak/ #备份目录中的源文件
##确保此时客户端任何yum源
##在服务器端运行
scp ftp.repo 192.168.242.67:`pwd`
##将服务端的FTP源直接上传到客户端
##客户端
yum clean all && yum makecache ##重新建立缓存
yum -y install httpd ##安装一个软件试试效果
在线源
systemctl stop firewalld
setenforce 0
cd /etc/yum.repo.d/
vim CentOS-Base.repo ##这个文件就是Linux中默认的在线源文件,其中使用的是CentOS官方的yum仓库
#3文件中的
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
##这个地址可以更改或者直接下载国内的镜像文件,传到这个目录中,覆盖同名文件
##例如
http://mirrors.163.com/.help/centos.html
http://mirrors.163.com/.help/CentOS7-Base-163.repo
##这个是网易163镜像文件
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
##在目录下下载镜像文件
yum clean all && yum makecache ##清理并重新建立缓存
yum -y install tomcat ##下载一个软件试试
一些有用的国内的yum源,根据它们的帮助文档设置国内yum在线源
网易163yum源
中科大yum源
阿里云yum源
清华大学yum源
浙江大学yum源
同时设置使用两种yum源
systemctl stop firewalld
setebforce 0
##设置两种yum源需要先安装一个yum插件
yum -y install yum-plugin-priorities ##安装插件
mv CentOS7-Base-163.repo repo.bak/ ##备份在线yum源文件
mv repo.bak/ftp.repo ./ ##使用FTP源作为案例,移除FTP源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
##下载在线yum镜像的扩展镜像 epel
vim ftp.repo ##修改配置文件
###修改完配置文件后,启用插件
vim /etc/yum/pluginconf.d/priorities.conf
enabled = 1
获取yum安装的软件包
方法一–通过缓存的方式获取
yum 安装软件后默认清除缓存
cd /var/cache/yum/x86_64/7/ ##yum安装的缓存目录
vim /etc/yum.conf ##yum配置文件
cachedir=/var/cache/yum/$basearch/$releasever
##yum缓存保存目录
keepcache=0 ##是否保存缓存,0 不保存 ,1 保存
cachedir=/opt/yumcache
keepcache=1
cd /opt/
mkdir yumcache
yum install -y mariadb mariadb-server ##安装一个软件试试
find /opt/yumcache -name "*.rpm" ##就能在缓存目录中找到软件包
方法二
没有设置yum运行缓存的情况下,获取安装包
yum -y install --downloadonly tomcat --downloaddir=/opt/pkg
--downloadonly ##不安装软件包,只下载软件
--downloaddir=/opt/pkg ##设置软件下载目录
方法三
yumdownloader --destdir=/opt/packages httpd --resolve
--destdir=/opt/packages ##指定下载目录
--resolve ###用于下载软件的依赖包
将软件包创建成yum仓库
使用createrepo工具建立仓库数据文件
createrepo 软件包目录 创建软件包依赖关系索引表
createrepo yumcache/ ###将软件包做成yun源
repodata ##软件目录中的这个软件就是软件之间的依赖关系索引表
NFS共享服务
NFS (Network File System)网络文件系统
- 依赖于RPC (远端过程调用)
- 需安装nfs-utils、 rpcbind软件包
- 系统服务: nfs(2049)、 rpcbind(111)
- 共享配置文件: /etc/exports
- rpcbind先启动,后启动NFS
rpcbind先启动,后启动NFS
NFS 共享存储服务
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制, 且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装 nfs—utils、rpcbind 软件包来提供 NFS共享服务,前者用于NFS 共享发布和访问,后者用于RPC支持。
NFS 的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
NFS实验
systemctl stop firewalld ##关闭防火墙
setenforce 0
yum -y install nfs-utils rpcbind ##安装NFS需要的软件
systemctl start rpcbind ##启动服务,启动有顺序
systemctl start nfs
##NFS服务端
##创建共享目录
vim /etc/exports ##修改共享配置文件
/opt/nfsshare 192.168.242.0/24(rw)
##共享的目录 共享给哪些主机或网段 权限
/opt/packages 192.168.242.67(rw) 192.168.242.68(ro)
systemctl restart nfs ##修改完共享配置后,重启服务
showmount -e ##查看本地的共享目录的状态
##客户端或者被共享的用户
showmount -e 192.168.242.66
##命令加共享主机的IP地址能够显示被共享的目录
mount -t nfs 192.168.242.66:/opt/nfsshare /opt/
##挂载共享目录到本地目录上
共享配置文件中的权限说明
/opt/nfsshare 192.168.242.0/24(rw)
##在配置文件中我们只设置了读写权限
sync ##表示同步写入到内存与硬盘
async ##将数据先保存在内存缓冲区中,必要时才写入磁盘。
ro ##readonly 只读
rw ##客户端可以在共享文件中允许读写
no_root_squash ##使创建的文件时不降权
squash ##降权
##权限说明
在共享配置文件中
/opt/nfsshare 192.168.242.0/24(rw) ## 这个是添加共享目录的,在设置了读写权限后,默认为squash 权限,即为降权,
/opt/nfsshare 192.168.242.0/24(ro,no_root_squash) ##设置共享文件为 只读权限,不对root用户降权,即使文件权限为777,全部权限,也没法创建文件
ro ##readonly 只读
no_root_squash ##root用户不降权,只针对root用户
选项
all_squash
##所有访问用户都映射为匿名用户或用户组。
asyne
##将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check (默认)
##若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_ subtree_ check
##即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
anonuid=xxx
##指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
##指定NEs服务器/etc/group文件中匿名用户的GID
NFS重启中的注意事项
当服务端配置文件修改后,重启服务前,最号解挂客户端的目录,防止卡死
##重启后,客户端卡死,可以
umount /data -lf ##强制解挂
##或者在修改完配置文件后,不重启服务,选择在线发布
exports -arv ##在线刷新
## mount 是临时挂载,要实现永久挂载,修改配置文件
vim /etc/fstab ##修改配置文件
192.168.242.66:/opt/ /data nfs defaults,_netdev 0 0
## 添加选项 应为使用了 网络 ,需要_netdev 选项