参考资料:Downloading RPM Packages with dependencies [ yumdownloader Vs yum-downloadonly Vs repoquery]
通过 yum install安装各种包,非常方便。
如果是的内部局域网内,无法使用各种仓库镜像,只能从互联网批量把所有的包同步下来,拷贝进内网,再建立仓库。
下面记录一下,把epel仓库、ius仓库、mysql 仓库、centos-7-x86-64-everything-1810设置为本地仓库的过程。
一、可以联网的Centos中操作
1.安装reposync命令。该命令来自于“yum-utils-1.1.31-45.el7.noarch”包,该包在base源中。
yum install yum-utils-1.1.31-45.el7.noarch
或者直接:
yum install yum-utils
2.安装createrepo命令。该命令来自“createrepo-0.9.9-28.el7.noarch”包,该包在base源中。内网的centos也需要安装此包
createrepo命令用于 同步到本地的包,重新生成repodata目录。
centos7 默认已经有此命令。
yum install createrepo-0.9.9-28.el7.noarch
3.把epel源中的rpm包下载到本地,ius源也一样的操作
# 能够直接使用epel 这个名字的前提是,已经
yum install epel-release
//大概需要下载1个多小时
reposync -r epel -p /root/
//不同同时运行这个命令,上面下载完毕,才能启动下面的命令,要不会报错:
//Error: /var/run/yum.pid 已被锁定,PID 为 19347 的另一个程序正在运行。
要下载 https://centos.pkgs.org/7/ius-x86_64/ius-release-2-1.el7.ius.noarch.rpm.html
yum install ius-release-2-1.el7.ius.noarch.rpm
reposync -r ius -p /root/
# 即在/etc/yum.repos.d/ 目录下,已经有了epel.repo,而且仓库的名字是[epel]
# 假如是安装mysql
首先
yum install mysql80-community-release-el8-1.noarch.rpm
本地/etc/yum.repos.d/下已经有了 mysql-community.repo 和 mysql-community-source.repo
通过查看上面两个文件,知道mysql的仓库名字有 [mysql80-community]
那么,同步mysql仓库的语句是:
reposync -r mysql80-community -p /root/
将epel源中的rpm包,下载到本地的/root/epel 目录下,大概需要一个多小时.
二、内网的Centos操作
1.把下载到本地的epel拷贝到内网的某目录下,比如/root/epel目录,制作本地仓库。
createrepo -v /root/epel
看到/root/epel目录下多了一个repodata目录,即表示完成
2.设置 /etc/yum.repos.d 目录下面的各种repo文件
比如 CentOS-Media.repo 的设置内容:
[CentOS-media]
name=CentOS-$releasever - Media
baseurl=file:///root/yum-centos7-ios/cdrom
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
epel.repo的设置内容:
[Myrepos-epel]
name=CentOS-$releasever
baseurl=file:///root/epel
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
ius.repo的设置内容:
[Myrepos-ius]
name=CentOS-$releasever
baseurl=file:///root/ius
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
设置完毕分别运行一下命令:
yum clean all
yum makecache
yum repolist
挂载ISO镜像文件作为仓库的方法
CentOS 7 镜像文件各个版本区别
CentOS 7 有6种版本的 ISO 镜像文件可供选择,每一种 ISO 镜像文件都可以引导安装 CentOS、修复 CentOS,除了 CentOS-7-x86_64-NetInstall-XXXX.iso 都包含安装文件 ,LiveGNOME、LiveKDE、NetInstall均不提供额外软件以供安装完成的系统挂载使用,其他则版本都有
软件数量上 Everything > DVD > Minimal。
多数时候选择DVD版,已安装好的系统需要额外软件,却又无法联网时,需要挂载Everything版(比DVD版软件更多)。
需要安装精简的系统,不需要安装时添加额外软件选择Minimal,LiveGNOME、LiveKDE用于体验 CentOS,优点可以不安装,可以直接加载启用。
6种 CentOS ISO 镜像文件
CentOS-7-x86_64-DVD-XXXX.iso(约4G)
CentOS-7-x86_64-Everything-XXXX.iso(约8G)
CentOS-7-x86_64-LiveGNOME-XXXX.iso(约1G)
CentOS-7-x86_64-LiveKDE-XXXX.iso(约2G)
CentOS-7-x86_64-Minimal-XXXX.iso(约800M)
CentOS-7-x86_64-NetInstall-XXXX.iso(约400M)
挂接操作系统ISO镜像操作方法:----不建议把ISO放到tem文件夹,因为系统会定期清理这个文件夹里面的文件。
把iso镜像文件挂载到 /mnt/cdrom目录下
mkdir /mnt/cdrom
mount -o loop /media/...iso /mnt/cdrom
编辑/etc/fstab文件,在最后一行添加:
/tem/****.iso /mnt/cdrom iso9660 loop 0 0