目录
一、yum仓库
1.yum概述
2.yum实现过程
3.yum配置文件
4.仓库配置文件
5.yum命令
二、nfs共享服务
1.nfs的基础知识
2.nfs搭建服务
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中到YUM软件仓库提供
要有安装包
1.光驱里自带,挂载提供软件包
2.网络下载到本地
3.直接通过网络下载
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum依赖于环境,依赖于服务端和客户端,允许跨网络
客户端:
配置文件
服务端:
RPM包(存放在包文件夹Packages中)
元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
最终形成两个文件夹Packages(包文件夹一般取名packages)和repodata(元数据文件夹)
仓库类型:
光盘的仓库(基本仓库)
epel 扩展仓库
yum主配置文件/etc/yum.conf
[root@localhost ~]#vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
~
cachedir=/var/cache/yum/$basearch/$releasever ——yum下载的RPM包的缓存目录, $basearch代表硬件架构,$releasever系统版本比如7
keepcache=0 ——是否保存缓存 0代表不保存 1代表保存
debuglevel=2 ——调试级别
logfile=/var/log/yum.log ——日志文件位置
exactarch=1 ——是否允许不同版本的rpm安装
obsoletes=1 ——update的参数,是否允许旧版本的运行
gpgcheck=1 ——证密钥,1表示验证
plugins=1 ——是否允许插件,1代表允许
installonly_limit=5 ——保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.phpproject_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#ls
CentOS-Base.repo CentOS-Media.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
CentOS-fasttrack.repo
[root@localhost yum.repos.d]#ll
总用量 28
-rw-r--r--. 1 root root 1664 8月 30 2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 8月 30 2017 CentOS-CR.repo
-rw-r--r--. 1 root root 649 8月 30 2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 8月 30 2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 8月 30 2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 8月 30 2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 8月 30 2017 CentOS-Vault.repo
命令 不加关键字 加入关键词、软件包、软件包组
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 \ 卸载具体包组软件
NFS属于NAS功能性能大于ftp等,因为NFS工作在内核而ftp是一个程序。
直连存储:DAS,存储和主机是直连的。
网络附加存储:NAS 给一个文件系统可以看到文件不能更改,主机和设备距离相对较远。
存储区域网络:SAN 主机和存储设备距离相对较远,提供空间相当于多了一块硬盘。
NFS端口不固定,依靠rpcbind,rpcbind端口固定111,NFS会把端口号告诉rpcbind,rpcbind相当于一个中转站,所以使用NFS时rpcbind服务必须正常。
NFS配置文件路径:/etc/exports
1.首先关闭防火墙
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
2.在服务端安装nfs服务并创建共享文件夹/share,/share中创建内容为‘123’的a.txt文件
服务端执行:
yum install -y nfs #安装nfs服务
mkdir /share #创建共享文件夹/share
cd /share #进入共享文件夹/share
echo '123'>a.txt #在/share文件夹中创建内容为123的a.txt文件
chmod 777 /share #给所有人share文件夹的读写执行权限
3..配置nfs配置文件将/share文件夹共享给所有人并给读权限
vim /etc/exports #打开nfs的配置文件
#配置文件内容:
/share *(rw,sync,no_root_squash) #注意权限和共享对象直接不能有空格
#共享文件绝对路径 *表示所有人,可写网段rw表示服务的读写权限,
sync表示同步内容,no_root_squash表示不压缩共享对象root用户权限,默认root用户在共享文件中创建文件夹的属主和属组为nfsnobody用户非root用户,权限被压缩