作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维,讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:
Linux基础软件-软件安装
Linux基础软件-yum(一)
Linux基础软件-yum(二)(本章节)
Linux基础软件-ntp
Linux基础软件-chrony
Linux基础软件-dns(一)
Linux基础软件-dns(二)
Linux基础软件-nfs
Linux基础软件-lvm
Linux基础软件-Selinux&库文件&swap
上一节,我们讲的无论是阿里源,epel源还是单独的Docker和Mysql源,本质上都是要依赖互联网的,如果不具有网络能力,我们能否搭建一个本地源呢?
本小节就主要讲的就是在没有网络情况下,如何搭建本地源。
本地源
下面是在CentOS等基于RPM的Linux发行版中配置本地Yum源的步骤:
1.挂载安装介质:
首先,你需要将你的CentOS安装光盘(或ISO文件)挂载到某个目录,比如/mnt/cdrom。你可以使用以下命令来挂载:
#目前基本没有光盘了
mount /dev/cdrom /mnt/cdrom
选择本地iso,如果要选最全面的包,就要选最大的包,这里我只选了个折中的包,最大的包有差不多10G。
#挂载本地iso,提前准备好了目录和iso文件。
[root@localhost mnt]# mount -o loop /mnt/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom
mount: /dev/loop0 写保护,将以只读方式挂载
[root@localhost mnt]# df -h |grep cdrom
/dev/loop0 4.4G 4.4G 0 100% /mnt/cdrom
2.创建.repo文件:
接下来,你需要在/etc/yum.repos.d/目录下创建一个新的.repo文件,比如myrepo.repo。你可以使用文本编辑器来创建和编辑这个文件。在这个文件中,你需要指定你的本地Yum源的名称、描述、路径等信息。一个例子如下:
[myrepo]
name=My Repository
baseurl=file:///mnt/cdrom // 需要和上面挂载的路径一致
enabled=1
gpgcheck=0
这个为了方便验证要成功,最好把网络关掉,然后把其他repo文件都移走,才能避免干扰。
在这里,baseurl指定了你的本地Yum源的路径(即你的安装介质的挂载点)。enabled=1表示这个Yum源是启用的。gpgcheck=0表示不进行GPG签名检查。
3.清除Yum缓存:
你需要使用以下命令来清除Yum的缓存:
yum clean all
yum makecache
4.测试本地Yum源:
最后,你可以使用以下命令来测试你的本地Yum源是否正常工作:
yum list
#由于内容太多,所以下面的图,我只取了部分包。
如果你看到了你的安装介质中的软件包,那么你的本地Yum源就已经配置成功了。
局域网源
刚才的操作虽然可以用,但是它只局限于单机使用,如果是局域网环境,我们能不能找1台服务器来作为yum源,其他服务器都从这个服务器来读取下载包呢?
1.准备一台服务器:
首先,你需要准备一台可以作为Yum服务器的机器,它需要有一定的硬盘空间来存放软件包,同时需要安装HTTP或FTP服务器软件,用于提供网络访问。
2.挂载并复制软件包:
然后,把CentOS的安装光盘挂载到这台服务器上,我们就借用上小节的/mnt/cdrom目录。把所有文件复制到一个目录下,例如/mnt/centos7。
因为iso或者光盘是只读的,而配置源会产生文件,所以需要复制出来单独的目录,而不能复用原来的只读目录。
3.安装createrepo:
接下来,安装createrepo工具,这个工具可以创建Yum源需要的元数据信息:
yum install -y createrepo
4.创建Yum源元数据:
然后在存放软件包的目录下创建Yum源的元数据:
createrepo /mnt/centos7
5.配置HTTP或FTP服务器:
根据你的实际情况,配置HTTP或FTP服务器,使其可以提供对/mnt/centos7目录的访问。由于这里还没有讲web服务器,所以过程就略过。
6.在客户端配置Yum源:
最后,在局域网内的其他机器上,你需要修改/etc/yum.repos.d/目录下的.repo文件,将baseurl设置为你的Yum服务器的地址,为了避免干扰,需要把其他repo文件移走。
[mylocal]
name=My Repository
baseurl=http://192.168.31.100/
enabled=1
gpgcheck=0
7.运行yum clean all
和yum list
命令:如果能列出软件包,说明Yum源已经配置成功。
总结
-
我们可以搭建本地iso源或者局域网源来满足yum命令的使用。
-
前面2个源,我们依赖的都是iso文件,但是这里的iso文件都是比较老的,我们可以通过去同步公网源来保持数据的及时性。
-
这里搭建的都是centos7的iso,那么能否搭建支持多个源的服务器呢?当然是可以的,这里需要稍微调整下目录即可。
-
如果yum源对应的服务器,不能上网,我们又该怎么办呢?
-
我们如何才能把服务器的源同步下来呢?总不能一个一个的下载把,这里其实有个rsync协议可以直接源里面指定的目录文件都下载下来,这个后期会单独讲这个命令。
关注微信公众号《运维小路》获取更多内容。