• [Linux]CentOS7搭建/配置:YUM仓库/源[本地源/Web源(Apache HTTP(D))/自建源仓库]


    1 本地YUM源

    1.1 [YUM仓库/服务端] 获取:软件包资源

    Eg: 操作系统的镜像iso文件

    1.2 [YUM仓库/服务端] 挂载/搭建:yum仓库(资源)

    即 搭建yum仓库
    将操作系统镜像(CentOS-....-.iso)挂载在本地目录中;
    此次【挂载】目录为/var/www/html/repo/(此目录本身不存在,需要创建);

    mkdir /var/www/
    mkdir /var/www/html
    mkdir /var/www/html/repo
    
    mkdir /iso
    (上传iso镜像到目录/iso/下)
    mount /iso/CentOS7-1804.iso  /var/www/html/repo/
    

    【查看/核验】

    df –h # 查看已挂载设备的信息
    	Filesystem           Size  Used Avail Use% Mounted on
    	/dev/mapper/cl-root   15T   14G   15T   1% /
    	devtmpfs              32G     0   32G   0% /dev
    	tmpfs                 32G     0   32G   0% /dev/shm
    	tmpfs                 32G  9.4M   32G   1% /run
    	tmpfs                 32G     0   32G   0% /sys/fs/cgroup
    	/dev/sda2           1016M  131M  886M  13% /boot
    	/dev/sda1            200M  9.5M  191M   5% /boot/efi
    	tmpfs                6.3G     0  6.3G   0% /run/user/0
    	/dev/loop0           4.1G  4.1G     0 100% /var/www/html/repo
    ll /var/www/html/repo # 查看挂载的目录中是否有内容
    	total 654
    	-rw-r--r--. 1 root root     14 Dec  5  2016 CentOS_BuildTag
    	drwxr-xr-x. 3 root root   2048 Dec  5  2016 EFI
    	-rw-r--r--. 1 root root    215 Dec 10  2015 EULA
    	-rw-r--r--. 1 root root  18009 Dec 10  2015 GPL
    	drwxr-xr-x. 3 root root   2048 Dec  5  2016 images
    	drwxr-xr-x. 2 root root   2048 Dec  5  2016 isolinux
    	drwxr-xr-x. 2 root root   2048 Dec  5  2016 LiveOS
    	drwxrwxr-x. 2 root root 630784 Dec  5  2016 Packages
    	drwxrwxr-x. 2 root root   4096 Dec  5  2016 repodata
    	-rw-r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
    	-rw-r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
    	-r--r--r--. 1 root root   2883 Dec  5  2016 TRANS.TBL
    

    1.3 [客户端/本地] 配置:yumRepoName.repo文件

    即 配置yum源
    在默认配置文件目录中添加编辑配置文件;此次添加的配置文件为repo_local.repo

    【本地主机 配置 本地的YUM源仓库】
    cd /etc/yum.repos.d/
    touch repo_local.repo # 后缀必须为repo
    vi repo_local.repo
    	[repo_local] # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致
    	name=repo for local # yum仓库的描述信息
    	baseurl=file:///var/www/html/repo/ # yum源的访问地址。file://+本地yum源目录是本地yum源访问地址的固定格式
    	enabled=1 # 启用仓库
    	gpgcheck=0 # 不进行红帽标签检查
    
    【本地主机 屏蔽 其他YUM仓库(repo)】
    ll /etc/yum.repos.d/
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-CR.repo CentOS-CR.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak
    mv CentOS-Media.repo CentOS-Media.repo.bak
    mv CentOS-Sources.repo CentOS-Sources.repo.bak
    mv CentOS-Vault.repo CentOS-Vault.repo.bak
    

    1.4 检验:搭建yum成功与否

    yum repolist       # 查看yum源中是否有软件包/软件包个数
    
    repo_local仓库中存在9911个软件包 即 本地yum仓库源搭建成功

    2 网络YUM源

    即 通过发布http服务来搭建、共享yum仓库
    安装httpd软件,启动httpd服务,并设置httpd为开机启动,以http链接地址来访问yum源/仓库

    2.1 搭建: 本地YUM仓库

    详见本博文:

    • 1.1 [YUM仓库/服务端] 获取:软件包资源
    • 1.2 [YUM仓库/服务端] 挂载/搭建:yum仓库(资源)
    • 1.3 [客户端/本地] 配置:yumRepoName.repo文件<repo_local.repo>

    2.2 安装、重启、设置开机启动:httpd软件

    yum –y install httpd
    systemctl restart httpd 
    systemctl  enabled httpd # 开机启动
    
    [防火墙:开启HTTPD服务的80端口]
    systemctl start firewalld
    firewall-cmd --permanent --zone=public --add-port=80/tcp # 防火墙开启80端口
    
    补充: [可选项]
    firewall-cmd --list-all # 查看防火墙信息
    firewall-cmd --query-port=80/tcp  # 查看防火墙的指定端口是否开启HTTPD服务的80端口
    systemctl restart firewalld
    

    【查看/核验】查看httpd是否安装成功,httpd服务是否启动

    ps -ef | grep httpd
    或
    ss -lntp | grep httpd
    

    2.3 [客户端] 配置:yumRepoName.repo文件

    在默认配置文件目录中添加编辑配置文件。此次添加的配置文件为repo_http.repo.

    【本机 配置 指定远程主机的YUM源仓库】
    cd /etc/yum.repos.d/
    touch repo_http.repo # 后缀必须为repo
    vi repo_http.repo
    	[repo_http]                                  # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致
    	name=repo for http                           # yum仓库的描述信息
    	baseurl=http://176.130.2.72/repo/            # yum源的网络访问地址。
    	enabled=1                                    # 启用仓库
    	gpgcheck=0                                   # 不进行红帽标签检查
    
    【本机 屏蔽 其他YUM仓库(repo)】
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-CR.repo CentOS-CR.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak
    mv CentOS-Media.repo CentOS-Media.repo.bak
    mv CentOS-Sources.repo CentOS-Sources.repo.bak
    mv CentOS-Vault.repo CentOS-Vault.repo.bak
    

    2.4 检验:搭建yum成功与否

    详见本文: 1.4 检验:搭建yum成功与否

    yum repolist
    

    3 自建yum源仓库

    即 使用自行下载的rpm制作yum仓库,以httpd或Nginx发布Web共享yum源服务

    3.1 创建统一归档/存放RPM包的目录

    mkdir -p /app/yum/centos7/x86_64/
    

    3.2 下载所需的RPM软件包,并放在同一个目录中

    查找、下载RPM等软件包的推荐网站

    里面有2个下载好的软件包

    3.3 createrepo : 创建可用的yum源文件

    createrepo命令:用于创建yum源(软件仓库),即为存放于本地的rpm包目录建立索引,描述各包所需依赖的信息,生成元数据信息。可生成yum软件包清单文件。

    yum -y install createrepo
    	createrepo --version
    createrepo  -pdo /app/yum/centos7/x86_64/ /app/yum/centos7/x86_64/
    createrepo --update -v /app/yum/centos7/x86_64/ # 若归档目录添加或删除了rpm包,可update更新索引,不必重新生成,节省时间
    
    [补充: 备注/可选项]
    [root@CENTOS7-20200707 ~]# createrepo -v /app/yum/centos7/x86_64
    Spawning worker 0 with 1 pkgs
    Worker 0: reading nano-2.3.1-10.el7.x86_64.rpm
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Starting other db creation: Mon Jul 27 16:58:18 2020
    Ending other db creation: Mon Jul 27 16:58:18 2020
    Starting filelists db creation: Mon Jul 27 16:58:18 2020
    Ending filelists db creation: Mon Jul 27 16:58:18 2020
    Starting primary db creation: Mon Jul 27 16:58:18 2020
    Ending primary db creation: Mon Jul 27 16:58:18 2020
    Sqlite DBs complete
    
    [root@CENTOS7-20200707 ~]# ls /app/yum/centos7/x86_64/repodata
    095096a77a0e87e74a7f0643be9dac988673d6b6d7663955620ff337cd6ab56d-filelists.xml.gz
    0bd7f5f95ba7827f903a03bc8dfaf69ac6e286f30872af854de450746392fbe7-primary.xml.gz
    8219a3fe4e77eab1c0dde4cbbd0a3893dae31fbe5b19aaf084deb36e7dc3016d-filelists.sqlite.bz2
    9505d2b881f676b5c7ea72b1ac40e66ec48e3b79cf1dae55eff6e47155626e3b-other.sqlite.bz2
    a2de74407d710f8f310a54d4ae166de3423c58f02f0827d63b8177e4b48afe00-other.xml.gz
    b80638e29d421f080b67b51db0a9a65490bb2473ba95dba946c3cbb06a8e2552-primary.sqlite.bz2
    repomd.xml
    

    3.4 配置:Web共享服务(httpd)

    【2 配置/发布 Apache HTTP(D)服务】
    mkdir -p /var/www/html
    
    vi /etc/selinux/config
    	SELINUX=disabled (避免出现权限不足,访问不了WEB资源的情况)
    
    yum -y install httpd
    systemctl restart httpd
    systemctl enable httpd # 设置开机启动
    firewall-cmd --permanent --zone=public --add-port=80/tcp
    	ss -lntp
    		"httpd"
    	关闭端口 firewall-cmd --permanent --zone=public --remove-port=80/tcp
    ps -ef | grep httpd
    systemctl restart firewalld
    

    3.5 将该目录复制到/var/www/html/中

    cp -a /app/yum/centos7/x86_64/     /var/www/html/
    或
    ln -s /app/yum/centos7/x86_64/ /var/www/html/x86_64
    	删除软链接: rm /var/www/html/x86_64
    

    访问: http://ip/x86_64

    3.6 [客户端] 配置:yumRepoName.repo文件

    在默认配置文件目录中添加编辑配置文件。此次添加的配置文件为repo_self.repo.

    cd /etc/yum.repos.d/
    touch repo_self.repo # 后缀必须为repo
    vi repo_self.repo
    	[repo_self]                          # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致
    	name=repo for self
    	baseurl=http://176.130.2.72/x86_64/   # yum源的访问地址
    	enabled=1                            # 启用仓库
    	gpgcheck=0                           # 不进行红帽标签检查
    

    3.7 检验:搭建yum成功与否

    详见本文: 1.4 检验:搭建yum成功与否

    yum repolist
    

    X 参考文献

  • 相关阅读:
    http协议及工作原理
    前端中的安全问题
    JS中的splice slice concat关于字符串,数组的处理
    git stash缓存
    Node学习心得
    uni-app中的TypeError: Cannot read property 'name' of undefined
    js 中Object.keys()返回string类型的索引
    JS中sort()方法,用于排序
    JS中JSON传值
    JS encodeURI()
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13378939.html
Copyright © 2020-2023  润新知