你会Centos7配置yum源?

配置本地yum源

注意:下载镜像后需校验ISO镜像的完整性和正确性 1.使用sha256sum命令校验ISO镜像的完整性和正确性,具体操作如下: a.在下载 CentOS 7.9 ISO 镜像文件和官方提供的 sha256sum.txt 文件后,将两个文件保存到同一个目录下。 b.打开终端或命令行工具,进入到该目录下 c.执行以下命令来生成 sha256 校验值

shell 复制代码
sha256sum CentOS-7-x86_64-DVD-2009.iso

执行后会返回一串 sha256 校验值,如下所示

shell 复制代码
e3e7a60d2a0517d12dd16f4bb797893cc4d4f4c422d4e27d78a88af93d50b56e  CentOS-7-x86_64-DVD-2009.iso

d.将生成的校验值与官方提供的 sha256sum.txt 文件中对应的校验值进行比对,如果一致则说明镜像文件下载完整且正确。 值得注意的是,在比对校验值时,应该只取 sha256sum.txt 文件中对应 ISO 镜像的校验值,而不是将整个 sha256sum.txt 文件与生成的校验值做比对。 2.将ISO镜像上传到服务器 3.挂载ISO镜像

shell 复制代码
mount -o loop CentOS-7-x86_64-DVD-2009.iso /mnt

参数说明:

  • -o:mount 命令的一个参数,是 Option 的首字母,后面跟的是 mount 命令的选项
  • loop:把一个文件当成硬盘分区挂载到目录
  • ro:采用只读方式挂载 默认
  • rw:采用读写方式挂载
  • iocharset:指定访问文件系统所用的字符集

例如,如果要挂载一个文件名为 data.iso 的 ISO 镜像文件,并且想以只读方式挂载,可以使用以下命令

shell 复制代码
mount -o ro,loop data.iso /mnt/iso

这将把 data.iso 文件以只读方式挂载到 /mnt/iso 目录下。同样,如果想以读写方式挂载并指定字符集为 UTF-8,可以使用以下命令:

shell 复制代码
mount -o rw,loop,iocharset=utf8 data.iso /mnt/iso

需要注意的是,这些选项的使用要根据具体情况进行选择,使用不当可能会导致数据丢失等问题。 3.备份源配置文件

shell 复制代码
# 创建用于备份原系统的镜像配置文件的目录
mkdir /etc/yum.repos.d/bak

# 将原有的源配置文件移动到刚刚创建的bak目录
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

4.创建源配置文件

shell 复制代码
vi /etc/yum.repos.d/localdvd.repo

# 编辑内容如下:
[localdvd]
name=localdvd
baseurl=file:///mnt/
gpgcheck=0
enable=1

参数说明:

  • name:本地yum源的名称
  • baseurl:本地yum源目录路径
  • gpgcheck:是否检查GPG签名 1检查 0不检查
  • enable:是否启用本地yum源 1启用 0禁用

5.生成Yum的软件包缓存 用于生成Yum的软件包缓存,以提高yum命令的运行速度。它会下载并解析所有可用的仓库配置文件,并将包信息存储在本地缓存中,供后续的yum命令使用。 -y参数表示在安装软件包时自动回答"yes"以避免询问。在运行yum makecache时使用该参数可以避免在缓存生成过程中出现提示信息并等待用户确认。

shell 复制代码
# 清除yum缓存
yum clean all

# 生成缓存
yum makecache -y

配置阿里yum源

1.备份原有的YUM源配置文件: 在替换YUM源之前,建议备份您当前的YUM源配置文件,以防需要恢复时使用。

shell 复制代码
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下载阿里云的CentOS 7 YUM源配置文件: 使用wgetcurl下载阿里云的CentOS 7 YUM源配置文件。这里我们使用wget

shell 复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

如果您的系统没有安装wget,可以使用以下命令安装:

shell 复制代码
yum install -y wget

或者,您可以使用curl下载配置文件:

shell 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3.清除YUM缓存: 更换YUM源后,需要清除YUM缓存,然后重新生成缓存。

shell 复制代码
sudo yum clean all
sudo yum makecache

自制离线yum源镜像

什么是yum源

yum是在ReddHat中的一个包管理器。基于RPM包管理,能够从指定服务器自动下载RPM包并安装,可以自动处理依赖关系,能够一次安装所有依赖的软件包,无需一次一次的下载安装。yum源就是存放rpm包以及依赖关系的服务器,一般公共网络的yum源:163、souhu、阿里、中国科技大学、清华等。

yum源标识(repo id)

  • base:之操作系统镜像源,包含了ISO镜像内的所有软件包
  • updates:包含了系统更新,升级的软件包
  • extras:扩充的软件包合集
  • epel:为"红帽系"的错做系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux
  • 自定义repo id 以K8S yum源为例,repo id本地可以随意定义,主要是看baseurl连接的源,当多个repo id重复时,会以最后加载的为准

自制离线yum

实验服务器IP为:10.0.0.28

1.安装所需软件

shell 复制代码
# createrepo:用于生成yum源各软件之间的依赖索引
# yum-utils:安装后可使用yumdownloader命令下载所需如软件包
# reposync:Reposync用于将远程yum存储同步到本地,使用yum检索包的目录
yum install -y wget yum-utils createrepo

2.配置yum源 以阿里Centos7的yum源为例

shell 复制代码
# 配置yum源 以阿里Centos7的yum源为例
rm -rf /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

3.开始全量拉取yum源

shell 复制代码
# 查看已经配好的网络源id
yum repolist

# 按照源id将网络源拉取到本地
reposync -r base -p /data/yum/
reposync -r epel -p /data/yum/
reposync -r extras -p /data/yum/
reposync -r updates -p /data/yum/
reposync -r kubernetes -p /data/yum/
reposync -r docker-ce-stable -p /data/yum/

# 生成repodata索引依赖
createrepo /data/yum/base
createrepo /data/yum/epel
createrepo /data/yum/extras
createrepo /data/yum/updates
createrepo /data/yum/kubernetes
createrepo /data/yum/docker-ce-stable

4.本地yum测试

shell 复制代码
# 在Packages同级目录中可以看到生成的repodata目录
# 使用测试
# 备份/etc/yum.repo.d/中的其他文件,手动添加
[Centos7-base]
name=centos-base
baseurl=file:///opt/base/base
gpgcheck=0
enabled=1

#其他repo id按照同样格式书写
[kubernetes] 
name=k8s
baseurl=http://192.168.12.12/yum/kubernetes
......
# 注意:baseurl可以使用file、ftp或http,目录路径要写到Package和repodata目录

# 测试
yum repolist

5.配置为内网公共yum源

shell 复制代码
# 将本地的rpm包和依赖包压缩打包,放入内网环境,这样其他服务器也可以通过添加自定义repo文件连接yum源仓库了

# 安装nginx使其他机器也可以使用
yum install -y nginx
systemctl enable --now nginx
# 配置文件如下 /etc/nginx/default.d/yum.conf
location / {
    root /data/yum;
    index index.html;
    autoindex on;
}
# 使配置文件生效
systemctl reload nginx

# 其他机器修改yum源地址
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak

#  编辑内容如下 /etc/yum.repos.d/private-yum.repo
[base]
name=CentOS-Base
baseurl=http://10.0.0.28/base/
gpgcheck=0
enabled=1

[updates]
name=CentOS-Updates
baseurl=http://10.0.0.28/updates/
gpgcheck=0
enabled=1

[extras]
name=CentOS-Extras
baseurl=http://10.0.0.28/extras
gpgcheck=0
enabled=1

[epel]
name=CentOS-Contrib
baseurl=http://10.0.0.28/epel
gpgcheck=0
enabled=1

[docker-ce-stable]
name=CentOS-docker-ce-stable
baseurl=http://10.0.0.28/docker-ce-stable
gpgcheck=0
enabled=1

[kubernetes]
name=CentOS-docker-ce-stable
baseurl=http://10.0.0.28/kubernetes
gpgcheck=0
enabled=1

# 使yum源生效
yum clean all
yum makecache
相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush44 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩4 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言