YUM简介
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器)
要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。
1.2 yum工作原理
yum依赖于环境,依赖于服务端和客户端,允许跨网络。
Yum基于C/S模式:
- yum 服务器存放rpm包和相关包的元数据
- yum客户端访问yum服务器进行安装或查询等
Yum实现过程:
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
服务器(RPM包和元数据缺一不可):
- RPM包 (存放在包文件夹Packages中)
- 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
本地仓库类型:
- 光盘的仓库(基本仓库)
- epel 扩展仓库
yum客户端配置
/etc/yum.conf #为所有仓库提供公共配置
/etc/yum.repos.d/*.repo #每个仓库的配置文件
yum主配置文件 (位置:/etc/yum.conf)
yum仓库配置文件
位置:/etc/yum.repos.d/*.repo
系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。
baseurl 指向的路径
日志文件
位置:/var/log/yum.log
yum命令详解
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
yum list | 显示所有可用包 | 单个的可安装包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 |
yum search | 模糊查找所有的相关信息 | |
yum whatprovides | 精确查找 | |
yum install | 安装具体软件包 | |
yum update | 所有软件升级,更新内核 | 具体软件升级 |
yum upgrade | 只更新软件包,但不更新内核 | 具体软件更新 |
yum remove | 卸载具体软件 | |
yum history | 查看当前yum操作历史 | |
yum history info | 加序号列出某次事务的详细信息 | |
yum history undo | 加序号卸载序号里安装的软件 | |
yum history redo | 加序号重新执行序号里的操作 |
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
yum grouplist | 显示所有可用包组 | 显示具体的包组 |
yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 |
yum groupinstall | 安装具体软件包组 | |
yum group update | 所有包组升级 | 具体包组升级 |
yum groupremove | 卸载具体包组软件 |
yum仓库搭建方式
软件仓库的提供方式:
- 本地目录:file://绝对路径
- FTP服务:ftp://ip地址/站点里的路径
- HTTP服务:http://域名或者ip地址/站点里的路径
搭建本地yum仓库
步骤1、挂载光盘(/dev/sr0或/dev/cdrom都可以,/dev/cdrom是/dev/sr0的软链接)
步骤2、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。
步骤3、新建yum仓库文件。
步骤4、清理缓存并安装软件。
搭建http方式云仓库(外网环境)
默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替。
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http方式搭建云仓库(内网环境)
服务端配置
步骤1、服务端安装hhtpd服务程序。
步骤2、服务端切换到/var/www/html/ 目录,新建子目录centos7,并将光驱挂载到centos7目录下(也可以将光驱中的所有软件包拷贝到该目录下)(/var/www/html/是web服务器的默认路径)
步骤3、服务端关闭防火墙和selinux,启动httpd服务。
服务端配置
步骤一:切换到/etc/yum.repos.d/目录,新建文件夹,将默认的yum仓库文件移动到该目录下。编写新的仓库文件
步骤二:清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包。
客户端配置
服务端配置
ftp方式搭建云仓库
服务端配置
步骤1、服务端安装vsftpd服务程序。
步骤2、服务端切换到 /var/ftp/ 目录下新建一个子目录centos,并将光驱挂载到centos目录下(也可以将光驱内的所有文件包复制到centos目录下)。
步骤3、服务端开启vsftpd服务,关闭防火墙和selinux。
客户端配置
客户端安装ftp程序,测试ftp服务是否正常。
yum仓库文件
清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包
服务端
客户端
混和云
在配置文件里指定两个不同的源,指定优先级prority,数字越小,优先级越高
如何解决包依赖关系?如何提取软件包资源?
要改成在线源
vim /etc/yum.conf 修改YUM配置文件
这样软件包就在/var/cache/yum里面
依赖关系元数据需要下载软件createrepo
cd /var/ftp/centos7/ 进入目录
createrepo -v ./ 下载依赖关系元数据
Linux网络服务之NFS
NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。
在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs
NFS优势:
节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。
软件包 (包括服务器端和客户端):
- nfs-utils (nfs端口号 2049/tcp)
- rpcbind (RPC端口号 111/tcp)
配置文件
配置文件位置:/etc/exports
一、主机:
1.通配符:表示使用*通配所有客户端
2.单个主机:ipv4,ipv6,FQDN
3.网段:两种掩码格式均支持(内网情况下) 172.18.0.0/255.255.0.0 172.18.0.0/16
二 常用参数:(默认参数:ro,sync,root_squash,no_all_squash)
1.读写权限
ro,rw 只读和读写
2.异步/同步
async:异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性 低 sync(1.0.0后为默认):同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
3.压缩权限
root_squash(默认):远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody。 no_root_squash :远程root映射成NFS服务器的root用户。 all_squash :所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody。 no_all_squash (默认):保留共享文件的UID和GID。 anonuid和anongid:指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用。
- no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限 (重要)
exportfs 命令可用于管理 nfs
exportfs -v : 查看本机所有nfs共享目录,及其详细信息
exportfs -r : 重新读取配置文件,重新加载配置
showmount -e : 查看本机发布的NFS共享目录
showmount -e 192.168.72.10 : 查看服务器192.168.72.10提供的共享目录
实验:
一台服务机,一台客户机,客户机通过NFS查看服务机上的文件
实验思路:
服务机安装软件,创建共享目录,编辑配置文件,启动服务
客户端直接把共享目录挂载到本地
vim /etc/exports 编辑配置文件
开启服务,要先开启RPC,再开启nfs服务,(nfs要向RPC注册端口号)
服务端要开启rpc和nfs服务,客户段只需要开启nfs服务
查看本机NFS共享目录
先启动rpcbind 在启动nfs 顺序不能错
查看upd端口
检查注册的端口信息
客户机配置
nfs共享目录权限问题:
客户机想修改文件内容显示权限不够
服务机修改文件权限
客户机这时可以修改文件内容了,因为在客户机中,是以nfs程序用户打开的,属于other权限,需要放开这个,就可以修改了
回到服务机
客户机是以程序用户登录的(nfsnobody),服务机只需要把目录改为nifnobody所有,客户机就可以在里面修改创建删除文件了
/opt/share 里面挂载的参数是rw 可读写,安装上面的操作没有问题。 如果挂载的参数是RO 只度,如果要可以读可写,则要修改配置文件/etc/exports