目录
基于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用户,权限被压缩