yum是基于红帽系统的rpm软件包的更强大的安装工具,其英文名称(yellow dog update modify),yum与rpm相比,前者安装更简单,能自动解决依赖关系,以及提供了更多的功能。接下来,就yum简单的介绍以及关于yum仓库的创建做一个介绍:
yum配置文件的介绍/etc/yum.conf
标识1:yum下载包的缓存目录,可以将联网的软件包放到本地。
标识2:是否开启缓存功能。
标识3:调试级别,记录日志的等级。
标识4:日志文件位置。
标识5:是否允许不同版本的安装,架构一致性
标识6:update的一个参数,是否允许旧版本的运行
标识7:验证密钥
标识8:是否允许插件
标识9:最大几个内核处理安装 标识
10:错误报告 标识
11:发行版本可以,cat看一下 该文件
比较重要的就标识1和2,用yum安装软件包的时候,是否将软件下载到本地。
yum使用的相关命令
-
下面列出了常用的命令,详情可参看man手册
-
yum list 显示所有可用包
-
yum info 显示可用包的信息
-
yum search 模糊查找相关信息 ,用于查找软件包。
-
yum whatprovides 精确查找,一般用于查找命令在那个软件包,但只能针对本地的仓库源文件进行查找,在我的测试下皆是如此,不知道什么原因。
-
yum grouplist 显示所有可用包组 当安装的包数量很多,但都属于同一个系统时,比如桌面,可列出再用yum install “软件包组名称”
-
yum groupinfo 显示所有的包组具体信息
-
yum install 安装具体软件包
-
yum update 软件升级
-
yum remove 卸载具体软件
-
yum history 查看当前yum操作历史
-
yum history undo 加入序号卸载序号里安装的软件
-
yum history redo 加入序号重新执行序号里的操作
-
yum源仓库的搭建
yum仓库主要由两部分组成:packages与repodate,前者储存了软件包,后者储存了软件包的依赖关系等等。
再说yum仓库搭建之前,还有必要的一点需要说明,关于packages的获取与创建repodate文件,可以在系统上安装createrepo用于创建仓库数据文件;安装yum-utils用于同步互联网中的yum仓库数据文件,具体使用如下:
[root@localhost my1]# yum repolist 列出源仓库信息,重点是标识
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
c7-media CentOS-7 - Media 4,070
repolist: 4,070
[root@localhost my1]# reposync c7-media 输入上一步中获取到的标识
(1/4070): 389-ds-base-libs-1.3.10.2-6.el7.x86_64.rpm | 713 kB 00:00:00
(2/4070): 389-ds-base-1.3.10.2-6.el7.x86_64.rpm
...
...
[root@localhost my1]# ls 同步完毕后可以查看已经出现了的仓库文件
c7-media
[root@localhost my1]# createrepo /root/my1 创建仓库数据文件 指定路径到packages即可
Spawning worker 0 with 327 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost my1]# ls 可以看到已经出现
c7-media repodata
到这一步,自己的源仓库已经创建出来,接下来就需要将该仓库共享出去以方便其他客户端的使用,
通常用三种方式来搭建服务器,分别为:ftp搭建;http搭建;nfs搭建
用ftp的方式搭建yum源仓库——该方法适合局域网内部搭建
搭建前奏:要添加防火墙策略或者关闭,并关闭内核安全机制(setenforce 0 临时关闭)实际环境需要永久关闭,配置文件/etc/selinux/config。按照注释修改即可,非常简单不多介绍。
服务端需要安装:vsftpd,该软件包提供了ftp的服务。
安装完毕后在/var/ftp/下创建一个提供yum源仓库的目录,使用上一标题的方法搭建源仓库。最后启用两个服务。
客户端:需要安装vsftpd,安装完毕后将/etc/yum.repo.d/下的文件的访问路径修改即可,如下:
[c7-media]
name=CentOS-$releasever - Media
baseurl=ftp://服务器IP地址/仓库目录 修改该条即可
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
需要注意的是ftp的根目录为/var/ftp,因此该仓库的目录实际上是从/var/ftp/开始,不要真正的从全部文件的根分区开始写。
到这里ftp的yum源仓库已经搭建完毕,可以进行下载测试了。
http的方式搭建:适合用于互联网中的仓库搭建(当然有更好的方式,谨以此为例)
服务端需要安装httpd软件:
在http的根目录/var/www/html/下创建源仓库共享目录,然后搭建源仓库,然后在客户端修改仓库配置为文件/etc/yum.repo.d/下的,将ftp改为http即可。
NFS搭建yum源仓库:适用于对源仓库安全性要求不高的场景。
该服务可以将其他不同主机上的储存资源,通过网络的方式提供给本地主机。
服务端需要安装:nfs-utils与rpcbind,同样的前者提供了nfs的服务,后者提供了服务的连接。
同样的创建共享目录,并添加策略或关闭防火墙,和关闭内核安全机制。需要注意因为是共享文件,如果要让别人也使用则需要修改权限,至少其他人拥有读写的权限,chmod -R 777 共享目录。——权限的分配需要谨慎考虑!!!
创建完毕后打开/etc/exports添加如下语句:
/share 192.168.10.0/24(rw,sync,no_root_squash)
以空格分隔 第一部分为共享目录路径;第二部分允许那个网段访问;(权限,同步,无root权限)
修改完毕后保存退出,创建目录并挂载,需要注意挂载设备为:服务器IP地址:共享目录路径。
到此用NFS的方式提供源仓库也已经完毕,只需要将源仓库目录拷贝到nfs共享目录即可。
需要注意的是同步(sync)与异步(async)的区别:
具体的区别可以查相关资料,在这只提一点,当访问频次不高,数量不大时用同步,访问频次高,数量多时用异步,避免硬盘等储存介质的压力过大。
最后关于yum仓库的搭建已经介绍完毕,如有任何疑问欢迎下方留言,看到会及时回复。