命令记不住

登陆

Centos 自建软件源和同步 RPM 包

一、通过ISO镜像制作本地软件源

上传和本机操作系统一致的ISO镜像

0.添加repo文件

cat > /etc/yum.repos.d/cdrom-media.repo >>EOF
[cdrom-media]

name=cdrom-media
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release   #GPG-KEY路径
EOF

1.挂载镜像

# mount -t iso9660 -o loop /rhel-server-6.5-x86_64-dvd.iso  /mnt
# mount -o loop / CentOS-7-x86_64-Everything-2003.iso  /mnt

2.将镜像文件拷贝到本地目录

# cp -rp  /mnt/*   /media/cdrom/

3.重新生成仓库元数据文件

# cd /media/cdrom/  && rm -fr ./repodata/
# cd /media/cdrom/  && createrepo ./

4.更新本机yum缓冲

# yum clean all && yum makecache

5.添加yum软件组,通过组安装软件包集合

# yum grouplist

添加腾讯云comps.xml.gz和comps.xml

# https://mirrors.cloud.tencent.com/centos/7.9.2009/os/x86_64/repodata/a4e2b46586aa556c3b6f814dad5b16db5a669984d66b68e873586cd7c7253301-c7-x86_64-comps.xml.gz
# https://mirrors.cloud.tencent.com/centos/7.9.2009/os/x86_64/repodata/cca56f3cffa18f1e52302dbfcf2f0250a94c8a37acd8347ed6317cb52c8369dc-c7-x86_64-comps.xml

在repomd.xml中添加仓库元数据信息

<data type="group">
<checksum type="sha256">cca56f3cffa18f1e52302dbfcf2f0250a94c8a37acd8347ed6317cb52c8369dc</checksum>
<location href="repodata/cca56f3cffa18f1e52302dbfcf2f0250a94c8a37acd8347ed6317cb52c8369dc-c7-x86_64-comps.xml"/>
<timestamp>1604001780</timestamp>
<size>744670</size>
</data>
<data type="group_gz">
<checksum type="sha256">a4e2b46586aa556c3b6f814dad5b16db5a669984d66b68e873586cd7c7253301</checksum>
<open-checksum type="sha256">cca56f3cffa18f1e52302dbfcf2f0250a94c8a37acd8347ed6317cb52c8369dc</open-checksum>
<location href="repodata/a4e2b46586aa556c3b6f814dad5b16db5a669984d66b68e873586cd7c7253301-c7-x86_64-comps.xml.gz"/>
<timestamp>1604001780</timestamp>
<size>156763</size>
</data>

6.更新本机yum缓冲,查看yum软件组

# yum clean all && yum makecache && yum grouplist
...
Metadata Cache Created
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Installed Environment Groups:
   GNOME Desktop
   KDE Plasma Workspaces
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

done

二、制作内网yum软件源

1.使用ISO镜像和同步公有云提供的软件到本地目录,安装同步工具

# reposync
yum install yum-utils -y

2.创建同步目录

mkdir /repo

3.同步网络yum源到本地

reposync -r base -p /repo
# -r 同步yum源的名称
# -p 同步到那个目录下

4.生成rpm包的db文件

# createrepo /yum

5.添加repo文件

localnet.repo 
[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.6.253/centos/$releasever/os/$basearch
        http://192.168.7.251/centos/$releasever/os/$basearch
        http://192.168.5.22/centos/$releasever/os/$basearch
gpgcheck=0
enable=1

[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.6.253/centos/$releasever/updates/$basearch
        http://192.168.7.251/centos/$releasever/updates/$basearch
        http://192.168.5.22/centos/$releasever/updates/$basearch
gpgcheck=0
enable=1

[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.6.253/centos/$releasever/extras/$basearch
        http://192.168.7.251/centos/$releasever/extras/$basearch
        http://192.168.5.22/centos/$releasever/extras/$basearch
gpgcheck=0
enable=1

[epel]
name=CentOS-$releasever - Epel
baseurl=http://192.168.6.253/epel/$releasever/$basearch
        http://192.168.7.251/epel/$releasever/$basearch
        http://192.168.5.22/epel/$releasever/$basearch
gpgcheck=0
enable=1

6.更新yum缓冲

# yum clean all && yum makecache

done

三、缓冲RPM包到本地

1.创建缓存目录

# mkdir /yum

2.修改yum的配置文件/etc/yum.conf

vim etc/yum.conf
cachedir=/yum   #修改此参数,指定缓存的路径
keepcache=1     
#1代表安装对应的rpm包后,不清除对应软件包
#0代表安装对应的rpm包后,清除对应的软件包

3.安装软件包

#安装完成后,就会存放在/yum目录下
yum install -y 软件包及依赖包   

done

推荐阅读