yum仓库
Linux一开始用编译安装对软件进行安装,但是非常麻烦
后来出现了rpm(rpm -ivh 包名),rpm会提示所需要的依赖包,但依赖包的安装还是需要用户自行手动安装,还不够完美
于是yum诞生了,yum是Linux安装软件的一种方式,基于rpm安装的一种升级。yum会自动解决依赖关系(自动下载依赖包),yum安装必须要有 库 ,库里的包都是rpm格式的包。
yum库有两种:
本地仓库:一般由光盘镜像提供
在线仓库:由第三方提供
实验一:本地仓库配置
- 首先进入/etc/yum.repos.d,所有的仓库配置文件都在这。然后创建一个 local.repo,名字可以自己取,但必须以 .repo 的后缀结尾。
- 先将需要作为仓库源的镜像文件进行挂载
- 接着对local.repos这个文件进行如下配置
- 保存退出后用 yum clean all && yum makecache 刷新一下。&&前表示清除之前的缓存,&&后表示建立新的yum源缓存,创建yum源的元数据(所有的安装包的位置以及安装包之间的依赖关系都保存在元数据中),我把/etc/yum.repos.d这个目录下的其他源都删除了,所以看起来东西很少。
- 测试一下,yum -y install tree
测试完毕,没问题。
实验二:在线仓库配置
- 依然是在/etc/yum.repos.d/目录下,直接wget 在线源的地址,这里我用的是阿里云的在线仓库:wget http://mirrors.aliyun.com/repo/Centos-7.repo
- 同样使用yum clean all && yum makecache命令重新加载一下
- 测试一下,yum -y install tree
测试完毕,没问题
yum常用命令总结:
-
yum list:显示所有的可用包,也可以跟包名从而显示具体的包
-
yum info:显示所有可用包的详细信息,也可以跟包名从而显示指定包的详细信息
-
yum search:模糊查找相关信息,后面要跟包名
-
yum whatprovides:精确查找,后面要跟包名
-
yum install -y:安装,且不需要人工确认
-
yum remove -y:卸载,且不需要人工确认
-
yum history:查看yum操作的历史
yum在服务器中的位置
默认配置文件:/etc/yum.conf
默认日志文件:/var/log/yum.log
实验三:用http安装yum源
- 假设A做服务器,A上的本地仓库作为服务器上的仓库提供给客户机B使用。
首先检查A和B上是否安装了httpd,没有就yum安装一下 - 进入/var/www/html/目录,创建一个httpd目录,不叫httpd也可以
- 将镜像文件挂载到刚刚创建的目录上
- 进入/etc/yum.repos.d/目录下,新建一个httpd.repo文件,并进行如下配置,这里有三个“httpd”,第一个是标签,必须和这个文件名保持一致,第二个是描述名,随便写,第三个是必须和/var/www/html/目录下我们新建的那个httpd目录名保持一致
- 保存退出后再重启服务(systemctl restart httpd)并且yum clean all && yum makecache
- 打开客户机B,在客户机的/etc/yum.repos.d/目录下同样新建一个httpd.repo文件,内容如下
- 同样保存退出,再yum clean all && yum makecache
- 测试:在客户机上上进行下载
测试完毕,可以下载
实验四:用ftp安装yum源
- 步骤与实验三类似,依然是A作为服务器,B作为客户机,先安装vsftpd,A,B都要
- 创建仓库目录,这次是在/var/ftp/目录下
- 挂载
- 在/etc/yum.repos.d/目录下新建文件夹
- 配置文件
- 重启服务并且yum clean all && yum makecache
- 在客户机B上重复上面4-6步
- 测试:正常下载
实验五:混合仓库源:本地源和在线源混合在一起(在一个配置文件)
- 先将本地镜像挂载
- 进入/etc/yum.repos.d/目录下新建文件fixed.repo,并进行配置
- yum clean all && yum makecache
- 测试,没问题
NFS共享
NFS:network file system,在计算机网络上共享文件的协议,允许不同的计算机之间通过网络共享文件和目录。
服务端和客户端:服务端要把共享文件发布出来,客户端要获取到共享的目录。客户端在访问这个目录时,跟访问本地文件一样,双方之间可以进行同步。
NFS在Linux上的工作原理:
服务器将指定的一个(或多个)目录标记为共享目录
服务端要授予客户端访问权限,客户端可以通过NFS协议发送请求到服务器,获取并且对共享目录或文件进行操作
NFS的两个依赖软件:
nfs-utils:提供共享服务
rpcbind:提供网络服务(远程共享调用)
实验六:NFS共享存储
- 检查是否以及安装rpcbind以及nfs-utils
- 先创建需要发布共享的目录,假设为/opt/s_share,创建该目录,顺便在里面创建一个文件
- 配置/etc/exports这个文件,vim /etc/exports,具体配置如下
/opt/s_share:是发布共享的目录
192.168.188.0/24:是允许访问的客户机的IP地址
rw:表示可以进行读写
sync:表示会同步写入到内存与硬盘中
no_root_squash:客户机如果以 root用户的身份访问共享目录,那么将会获得和服务机root用户一样的权限 - 启动!一定要按顺序启动:先rpcbind,再nfs,最后用 showmount -e 查看一下NFS共享服务的开启情况
- 打开客户机,先检查是否安装了rpcbind以及nfs-utils
- 按顺序启动,并showmount -e查看已被客户端加载的NFS共享目录
如果报错,先考虑是不是防火墙没关 - 在客户机上创建一个用于挂载服务器共享目录的目录,并挂载
- 测试:在sp(客户机)上的/opt/c_share目录下可以看到之前在loz(服务器)上的/opt/s_share目录下创建的readme.txt文件,并可以正常读取,同时sp在/opt/c_share目录下写入一个sayhello.txt,在/opt/s_share目录下也可以由loz正常读取。测试成功。
- 永久挂载:对/etc/fstab/文件进行修改
_netdev类型表示挂载需要网络,网络启动后才会自动挂载
重启测试一下,没问题