Tips:一些记录,一些笔记

2024/08/26
MONDAY
Politeness costs nothing and gains everything.
礼貌不用花一分钱,却能赢得一切。

01
为什么要搭建本地YUM源
比如,你需要配置的YUM源对应的版本已经结束了支持:
https://mirrors.tuna.tsinghua.edu.cn/news/#retire-el7-and-buster

具体怎么配置呢?
下面的篇幅中会详细介绍。
02
挂载对应Linux发行版的ISO镜像
通过光驱挂载:

然后,在操作系统中通过命令:
[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 3.9G 0 3.9G 0% devtmpfs 3.9G 0 3.9G 0% dev/shmtmpfs 3.9G 29M 3.9G 1% runtmpfs 3.9G 0 3.9G 0% sys/fs/cgroup/dev/mapper/centos-root 36G 11G 25G 31%/dev/sda1 1014M 172M 843M 17% boot/dev/mapper/centos-home 18G 38M 18G 1% hometmpfs 797M 12K 797M 1% run/user/42tmpfs 797M 0 797M 0% run/user/0[root@localhost ~]#[root@localhost ~]# mkdir mount_point[root@localhost ~]#[root@localhost ~]# ls -ltr dev/cdromlrwxrwxrwx. 1 root root 3 Aug 24 22:01 dev/cdrom -> sr0[root@localhost ~]#[root@localhost ~]# mount dev/cdrom mount_point/mount: dev/sr0 is write-protected, mounting read-only[root@localhost ~]#[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 3.9G 0 3.9G 0% devtmpfs 3.9G 0 3.9G 0% dev/shmtmpfs 3.9G 29M 3.9G 1% runtmpfs 3.9G 0 3.9G 0% sys/fs/cgroup/dev/mapper/centos-root 36G 11G 25G 31%/dev/sda1 1014M 172M 843M 17% boot/dev/mapper/centos-home 18G 38M 18G 1% hometmpfs 797M 12K 797M 1% run/user/42tmpfs 797M 0 797M 0% run/user/0/dev/sr0 4.4G 4.4G 0 100% mount_point[root@localhost ~]#[root@localhost ~]# cd mount_point/[root@localhost mount_point]# ls -ltrtotal 696-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r--. 21 root root 18009 Dec 10 2015 GPL-rw-rw-r--. 21 root root 227 Aug 30 2017 EULAdrwxr-xr-x. 2 root root 2048 Oct 27 2020 LiveOSdrwxr-xr-x. 3 root root 2048 Oct 27 2020 EFIdrwxr-xr-x. 3 root root 2048 Oct 27 2020 images-rw-r--r--. 3 root root 14 Oct 30 2020 CentOS_BuildTagdrwxr-xr-x. 2 root root 2048 Nov 3 2020 isolinuxdrwxr-xr-x. 2 root root 673792 Nov 4 2020 Packagesdrwxr-xr-x. 2 root root 4096 Nov 4 2020 repodata-r--r--r--. 1 root root 2883 Nov 4 2020 TRANS.TBL[root@localhost mount_point]#
可以看到,这样,就将我们需要的ISO镜像挂载到了本地。
在上面的情况中,如果你不是通过光驱加载的ISO镜像,只有一个ISO文件。
那么你可以通过下面的方式挂载:
mount -o loop xxxx.iso mount_point
03
备份YUM REPO
命令:
[root@localhost ~]# ls -ltr | grep backupdrwxr-xr-x. 2 root root 254 Aug 18 23:33 backup[root@localhost ~]#[root@localhost ~]# ls -ltr etc/yum.repos.d/total 20-rw-r--r--. 1 root root 1050 Oct 3 2017 epel-testing.repo-rw-r--r--. 1 root root 664 Aug 4 2022 epel.repo-rw-r--r--. 1 root root 2523 Aug 4 2022 CentOS-Base.repo-rw-r--r--. 1 root root 185 Aug 19 08:24 CentOS-SCLo-scl.repo-rw-r--r--. 1 root root 181 Aug 19 08:24 CentOS-SCLo-scl-rh.repo[root@localhost ~]#[root@localhost ~]# mv etc/yum.repos.d/* backup/mv: overwrite '/backup/CentOS-Base.repo'? y[root@localhost ~]#[root@localhost ~]# ls -ltr backup/total 60-rw-r--r--. 1 root root 1050 Oct 3 2017 epel-testing.repo-rw-r--r--. 1 root root 1192 Mar 31 2020 CentOS-SIG-ansible-29.repo-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo-rw-r--r--. 1 root root 664 Aug 4 2022 epel.repo-rw-r--r--. 1 root root 2523 Aug 4 2022 CentOS-Base.repo-rw-r--r--. 1 root root 185 Aug 19 08:24 CentOS-SCLo-scl.repo-rw-r--r--. 1 root root 181 Aug 19 08:24 CentOS-SCLo-scl-rh.repo[root@localhost ~]#
04
配置YUM REPO文件
配置:
[root@localhost ~]# cat etc/yum.repos.d/iso.repo[local-iso]name=local-isobaseurl=file:///mount_point/enabled=1gpgcheck=0[root@localhost ~]#
05
YUM清理缓存并刷新
命令:
[root@localhost ~]# yum clean metadataFailed to set locale, defaulting to CLoaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Cleaning repos: local-iso0 metadata files removed0 sqlite files removed0 metadata files removed[root@localhost ~]# yum clean allFailed to set locale, defaulting to CLoaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Cleaning repos: local-isoCleaning up list of fastest mirrorsOther repos take up 1.3 G of disk space (use --verbose for details)[root@localhost ~]#[root@localhost ~]# yum makecacheFailed to set locale, defaulting to CLoaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Determining fastest mirrorslocal-iso | 3.6 kB 00:00:00(1/4): local-iso/group_gz | 153 kB 00:00:00(2/4): local-iso/filelists_db | 3.3 MB 00:00:00(3/4): local-iso/other_db | 1.3 MB 00:00:00(4/4): local-iso/primary_db | 3.3 MB 00:00:00Metadata Cache Created[root@localhost ~]#[root@localhost ~]# yum repolistFailed to set locale, defaulting to CLoaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Loading mirror speeds from cached hostfilerepo id repo name statuslocal-iso local-iso 4070repolist: 4070[root@localhost ~]#
06
验证
通过「yum list」来验证一下前面的配置:
[root@localhost ~]# yum list available | tail -n 8Failed to set locale, defaulting to Cypserv.x86_64 2.31-12.el7 local-isoyum-plugin-aliases.noarch 1.1.31-54.el7_8 local-isoyum-plugin-changelog.noarch 1.1.31-54.el7_8 local-isoyum-plugin-tmprepo.noarch 1.1.31-54.el7_8 local-isoyum-plugin-verify.noarch 1.1.31-54.el7_8 local-isoyum-plugin-versionlock.noarch 1.1.31-54.el7_8 local-isozsh.x86_64 5.0.2-34.el7_8.2 local-isozziplib.x86_64 0.13.62-12.el7 local-iso[root@localhost ~]#
可以看到,现在的软件包全都来自于本地的ISO挂在的「local-iso」YUM源了。
07
局域网内通过Apache分发
安装Apache服务:
yum install -y httpd
在Apache的WEB服务的根目录中创建软链接:
[root@localhost ~]# ls -ltr /var/www/html/total 0[root@localhost ~]#[root@localhost ~]# ln -s /mount_point/ /var/www/html/centos-7[root@localhost ~]#[root@localhost ~]# ls -ltr /var/www/html/total 0lrwxrwxrwx. 1 root root 13 Aug 24 22:26 centos-7 -> /mount_point/[root@localhost ~]#
启动Apache服务:
[root@localhost ~]# systemctl enable httpdCreated symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.[root@localhost ~]# systemctl start httpd[root@localhost ~]#[root@localhost ~]# systemctl status httpd● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2024-08-24 22:28:04 CST; 4s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 87052 (httpd)Status: "Processing requests..."Tasks: 6CGroup: /system.slice/httpd.service├─87052 /usr/sbin/httpd -DFOREGROUND├─87055 /usr/sbin/httpd -DFOREGROUND├─87056 /usr/sbin/httpd -DFOREGROUND├─87057 /usr/sbin/httpd -DFOREGROUND├─87058 /usr/sbin/httpd -DFOREGROUND└─87059 /usr/sbin/httpd -DFOREGROUNDAug 24 22:28:04 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...Aug 24 22:28:04 localhost.localdomain httpd[87052]: AH00558: httpd: Could not reliably determine the...ageAug 24 22:28:04 localhost.localdomain systemd[1]: Started The Apache HTTP Server.Hint: Some lines were ellipsized, use -l to show in full.[root@localhost ~]#
查看监听端口:
[root@localhost ~]# netstat -tupln | grep httpdtcp6 0 0 :::80 :::* LISTEN 87052/httpd[root@localhost ~]#
这时候,在局域网内,都可以通过Apache HTTPD服务访问到YUM本地源了:

08
YUM源配置
这时候,可以将YUM源的配置文件修改为:
[root@localhost yum]# cat centos-7-local.repo[local-httpd-repo]name=local-httpd-repobaseurl=http://192.168.2.17/centos-7enabled=1gpgcheck=0[root@localhost yum]#
END
温馨提示
如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。
文章转载自Nephilim,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




