Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
    • 普通用户提权
    • 基础权限
    • 特殊权限
    • 文件特殊属性
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

      • rpm
      • yum
      • 搭建yum仓库
        • 搭建本地yum仓库
        • 搭建企业yum仓库
          • 服务端操作
          • 同步阿里源
          • 下载第三方源的软件包
          • 配置Nginx
          • 客户端操作
    • 磁盘管理

    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
  • 软件包管理
Brc
2021-05-31
目录

搭建yum仓库

# 搭建本地yum仓库

很多时候刚安装的linux系统不能联网,但需要安装相应环境的软件包。这时候我们就可以利用光盘制作一个本地yum仓库。

  1. 挂载镜像

    [root@web ~]# mount /dev/cdrom /mnt
    
    1
  2. 备份原有仓库

    [root@web ~]# gzip /etc/yum.repos.d/*
    
    1
  3. 使用yum-config-manager命令可快速添加一个本地仓库

    [root@web ~]# yum install yum-utils -y
    [root@web ~]# yum-config-manager --add-repo="file:///mnt"
    
    1
    2
  4. 当然我们也可以直接去编辑一个.repo文件,将仓库信息存储至该文件

    [root@web ~]# vim /etc/yum.repos.d/cdrom.repo
    # 仓库名称
    [cdrom]
    # 仓库描述信息
    name=This is local cdrom
    # 仓库url地址,可以是file:// ftp:// http://等协议
    baseurl=file:///mnt
    # 是否使用该Yum源(0代表禁用,1代表激活)
    enabled=1
    # 是否验证软件签名(0代表禁用,1代表激活)
    gpgcheck=0
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
  5. 生成缓存信息、然后使用yum安装软件测试

    [root@web ~]# yum makecache
    [root@web ~]# yum install lrzsz-y
    
    1
    2

# 搭建企业yum仓库

还有很多时候不仅仅是一台机器无法上网,而是很多机器都无法上网,但都有联网下载软件的需求,这个时候我们需要构建一个企业级的yum仓库,为多台客户端提供服务。

image-20210708221355606

# 服务端操作

# 同步阿里源

  1. 关闭iptables防火墙、与selinux

    [root@yum_server ~]# systemctl stop firewalld
    [root@yum_server ~]# setenforce 0
    
    1
    2
  2. 获取阿里yum源仓库

    [root@yum_server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo
    
    1
  3. repolist验证

    # 使用yum repolist验证CentOS-Base.repo文件是否生效,同时获取repoid
    [root@yum_server ~]# yum repolist
    
    1
    2
    • 这里的repoid有4个分别为base、epel、extras、updates;
    • 在.repo文件中[serverid]就是repoid;
  • serverid解释:用于区别各个不同的repository,必须有一个独一无二的名称。若重复后面的会覆盖前面的。
  1. 安装repository的管理工具yum-utils和createrepo命令的包

    [root@yum_server ~]# yum -y install yum-utils createrepo
    
    1
  2. 创建保存文件的目录

    [root@yum_server ~]# mkdir -p /data/repository/yum/
    
    1
  3. 同步repo文件中的包文件

    # 会自动创建以repoid命名的目录
    # -p:下载包的路径:默认为当前目录
    # -n:仅下载最新软件包
    # --repoid=REPOID:指定repoid来查询,可以指定多个次(默认全部启用)
    [root@yum_server ~]# reposync -p /data/repository/yum/
    [root@yum_server ~]# reposync -n --repoid=base --repoid=epel --repoid=extras --repoid=updates -p /data/repository/yum/
    
    1
    2
    3
    4
    5
    6
  4. 建立索引

    # createrepo命令用于创建yum源(软件仓库),为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据
    [root@yum_server ~]# createrepo /data/repository/yum/base/
    [root@yum_server ~]# createrepo /data/repository/yum/extras/
    [root@yum_server ~]# createrepo /data/repository/yum/updates/
    [root@yum_server ~]# createrepo /data/repository/yum/epel/
    
    1
    2
    3
    4
    5
  5. 更新索引

    [root@yum_server ~]# createrepo --update /data/repository/yum/base/
    [root@yum_server ~]# createrepo --update /data/repository/yum/extras/
    [root@yum_server ~]# createrepo --update /data/repository/yum/updates/
    [root@yum_server ~]# createrepo --update /data/repository/yum/epel/
    
    1
    2
    3
    4

# 下载第三方源的软件包

  1. 下载

    • 配置第三方源的仓库,然后使用yum下载
    [root@yum_server ~]# yum install lrzsz --downloadonly --downloaddir=/data/repository/yum/down
    
    1
    • 用脚本直接下载rpm包
    [root@yum_server ~]# cat wget_rpm_scripts.sh
    #!/bin/bash
    get_zabbix_rpm_url=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/
    rpm_name=$(curl -s ${get_zabbix_rpm_url} | grep "^<a" |awk -F '"' '{print $2}')
    rpm_dir=/data/repository/yum/down
    
    for name in ${rpm_name}
    do
    	if [ ! -d ${rpm_dir} ]; then
    		mkdir -p ${rpm_dir}
    	fi
    	wget -O ${rpm_dir}/${name} ${get_zabbix_rpm_url}${name}
    done
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
  2. 建立索引

    [root@yum_server ~]# createrepo /data/repository/yum/down/
    
    1
  3. 更新索引

    [root@yum_server ~]# createrepo --update /data/repository/yum/down/
    
    1

# 配置Nginx

  • 安装配置nginx服务

    [root@yum_server ~]# yum -y install nginx
    [root@yum_server ~]# systemctl start nginx
    [root@yum_server ~]# systemctl enable nginx
    [root@yum_server ~]# cat /etc/nginx/conf.d/yum.conf
    server{
        listen 80 default_server;
        location / {
            root /data/repository/;
            autoindex on;
            autoindex_exact_size off;
            autoindex_locatime on;
        }
    }
    [root@yum_server ~]# systemctl reload nginx
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

# 客户端操作

  1. 创建repo文件

    [root@yum_client ~]# cat <<-EOF >/etc/yum.repos.d/Centos-7.repo
    # CentOS-Base.repo
    [base]
    name=Base
    baseurl=http://10.0.0.200/yum/base/
    gpgcheck=0
    enabled=1
    
    #released updates
    [updates]
    name=Updates
    baseurl=http://10.0.0.200/yum/updates/
    gpgcheck=0
    enabled=1
    
    #additional packages that may be useful
    [extras]
    name=Extras
    baseurl=http://10.0.0.200/yum/extras/
    gpgcheck=0
    enabled=1
    
    [epel]
    name=epel
    baseurl=http://10.0.0.200/yum/epel/
    gpgcheck=0
    enabled=1
    
    [down]
    name=Down
    baseurl=http://10.0.0.200/yum/down/
    gpgcheck=0
    enabled=1
    
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
  2. repolist验证

    # 使用yum repolist验证CentOS-Base.repo文件是否生效
    [root@yum_client ~]# yum repolist
    
    1
    2
#Linux#yum
Last Updated: 2021/11/12, 16:51:33
yum
磁盘管理

← yum 磁盘管理→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式