• 配置本地 yum 仓库


    配置本地 yum 仓库

    # yum 官网
    http://yum.baseurl.org/
    # yum 手册页
    man yum 
    man yum.conf
    SEE ALSO
           pkcon (1)
           yum.conf (5)
           yum-updatesd (8)
           package-cleanup (1)
           repoquery (1)
           yum-complete-transaction (1)
           yumdownloader (1)
           yum-utils (1)
           yum-langpacks (1)
           http://yum.baseurl.org/
           http://yum.baseurl.org/wiki/Faq
           yum search yum
    
    bak 是备份文件,为文件格式扩展名
    

    createrepo CentOS-Media.repo 本地软件源 --downloadonly --downloaddir 只下载不安装

    # 关闭网络软件源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bk
    # 将所有 repo 文件移动到 bak 备份目录。
    mkdir bak
    mv ./*.repo bak
    
    # 开启本地软件源
    编辑 CentOS-Media.repo
    vim /etc/yum.repos.d/CentOS-Media.repo
    通过 baseurl 指定本地 rpm 包所在的目录。
    baseurl=file:////home/user/rpms/
    将这个源设置为开启
    enabled=1 
    这样就可以使yum采用本地源安装软件。
    

    Linux 挂载镜像源

    Centos制作本地yum源 https://www.cnblogs.com/daleyzou/p/Linux.html

    Linux配置本地yum源方法 https://jingyan.baidu.com/article/db55b6093ef1aa4ba30a2fb2.html

    Linux挂载命令mount 详解 https://www.linuxidc.com/Linux/2018-08/153385.htm

    CentOS/RHEL系统下yum配置中$releasever的来源 https://blog.csdn.net/xiaolong85/article/details/5657884

    linux下Yum的 $releasever$basearch 的取值 https://blog.csdn.net/whatday/article/details/51097456

    centosFailure:repodata/repomd.xml https://blog.51cto.com/onehundreddays/2062177

    CD/DVD 的挂载顺序 https://blog.csdn.net/weixin_30453983/article/details/80583774

    yum本地源 baseurl repodata repomd.xml comps.xml https://blog.51cto.com/kpshare/274730

    createrepo生成仓库元数据,搭建本地yum源 https://www.jianshu.com/p/5cb5af152e75

    yum 命令的使用与 createrepo 自建仓库教程

    http://www.linuxe.cn/post-300.html

    一、在开始搭建自己的YUM仓库之前,先来了解下如何获取RPM包
    
    在默认配置下使用yum命令安装完软件后安装包是不会保留的,如果想在本地也留存一份安装包,只需要将yum配置文件/etc/yum.conf中的keepcache=0改为1即可,这样安装包都会留存在cachedir所指定的目录中。该目录下还会根据不同的yum源创建不同的目录,软件包通过哪个源安装的就会保存在哪个目录中,同时相关依赖包也会自动下载,需要注意的如果执行了yum clean all的话是会删除掉这些安装包的。
    如果仅仅只是想下载软件包而不进行安装,只需要加--downloadonly选项即可。
    http://www.linuxe.cn/post-300.html
    
    二、自建YUM本地仓库:
    1、首先建立一个目录用于存放安装包,然后使用 createrepo 来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo 的安装
    
    mkdir /yum/repo
    yum install createrepo
    createrepo /yum/repo  #将该目录制作成软件仓库,生成 repodata 目录。
    
    2、命令执行成功后会在该目录下创建一个repodata目录
    
    3、创建.repo配置文件指向到本地仓库的路径,注意文件名一定要是.repo结尾
    vi /etc/yum.repos.d/test.repo
    [test]
    name=test  #yum仓库的名字
    baseurl=file:///yum/repo  #仓库路径,由于是放在本地的只能用file协议而不是http
    enabled=1  #开启该仓库
    gpgcheck=0  #不做gpg检查
    
    4、通过yum repolist命令查看仓库及包的数量,可以看到创建的test仓库已经加载,而由于我们没有在目录中存放任何的rpm包,所以显示数量为0
    
    三、创建企业YUM仓库
    
    在第二步的操作中只是在本地建立了一个YUM仓库,这样别人是无法使用的。所以通常会在计划任务中把公网YUM源同步到本地(推荐使用reposync),同步后再执行一次createrepo更新元数据,最后把仓库目录通过FTP或者Nginx、Apache、NFS服务等共享出来,然后客户端的配置文件中修改如下:
    [test]
    name=test
    enable=1
    gpgcheck=0
    baseurl=http://10.211.10.12
    

    实战 CentOS-Media.repo

    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=file:///root/packages # 本地存放 rpm 包的目录
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

    /root/packages 目录和 repodata 目录

    [root@localhost ~]# pwd
    /root
    [root@localhost ~]# ll -R packages/
    packages/:
    total 58392
    -rw-r--r--. 1 root root    32084 Jul 20 22:02 python-deltarpm-3.6-3.el7.x86_64.rpm
    drwxr-xr-x. 2 root root     4096 Jul 20 22:08 repodata
    
    packages/repodata:
    total 104
    -rw-r--r--. 1 root root  9308 Jul 20 22:08 15d4e2f4734a8fa94bb91c7b9c38a3c3dc22d46fc63a3ea0301987d91317d6d7-other.xml.gz
    -rw-r--r--. 1 root root 24319 Jul 20 22:08 1a20ab885d0d10d85be397414ced66cc72cd358ca7435c20de4cd107c3f110e2-filelists.sqlite.bz2
    -rw-r--r--. 1 root root 13210 Jul 20 22:08 1eba3526b452bb52405bb6586ef488cf6fd716ae2d8dc6d948246707e9d2cee9-other.sqlite.bz2
    -rw-r--r--. 1 root root  7314 Jul 20 22:08 61e612bb20fbde8255e8b27cce767e1c9ffbddd93d26fbba3fdc786be62b7c80-primary.xml.gz
    -rw-r--r--. 1 root root 19358 Jul 20 22:08 b1a5a3bf9d2139c57b2dee78ce255294a5da617956a61c501673948023115bf1-filelists.xml.gz
    -rw-r--r--. 1 root root 16811 Jul 20 22:08 dcb7e7c9aee928ecd5cee26e14dfe041f14092ca5e935606d3f54903eb052558-primary.sqlite.bz2
    -rw-r--r--. 1 root root  2980 Jul 20 22:08 repomd.xml
    
    [root@instance-fjii60o3 ~]# yum install createrepo
    Loaded plugins: langpacks, versionlock
    baidu-bcm                                                                                               | 2.5 kB  00:00:00     
    base                                                                                                    | 3.6 kB  00:00:00     
    epel                                                                                                    | 5.3 kB  00:00:00     
    extras                                                                                                  | 3.4 kB  00:00:00     
    updates                                                                                                 | 3.4 kB  00:00:00     
    (1/4): extras/7/x86_64/primary_db                                                                       | 205 kB  00:00:00     
    (2/4): epel/x86_64/primary_db                                                                           | 6.8 MB  00:00:00     
    (3/4): epel/x86_64/updateinfo                                                                           | 993 kB  00:00:00     
    (4/4): updates/7/x86_64/primary_db                                                                      | 6.5 MB  00:00:00     
    Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
    
    [root@instance-fjii60o3 ~]# createrepo myrepo
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    [root@instance-fjii60o3 ~]# ll myrepo/
    total 4
    drwxr-xr-x 2 root root 4096 Jul 20 21:45 repodata
    

    安装 createrepo

    # 安装 createrepo
    [root@localhost packages]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm 
    warning: createrepo-0.9.9-28.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    error: Failed dependencies:
    	deltarpm is needed by createrepo-0.9.9-28.el7.noarch
    	libxml2-python is needed by createrepo-0.9.9-28.el7.noarch
    	python-deltarpm is needed by createrepo-0.9.9-28.el7.noarch
    [root@localhost packages]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm 
    warning: deltarpm-3.6-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:deltarpm-3.6-3.el7               ################################# [100%]
       
    [root@localhost packages]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 
    warning: python-deltarpm-3.6-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:python-deltarpm-3.6-3.el7        ################################# [100%]
       
    [root@localhost packages]# rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm 
    warning: libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:libxml2-python-2.9.1-6.el7_2.3   ################################# [100%]
       
    [root@localhost packages]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm 
    warning: createrepo-0.9.9-28.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:createrepo-0.9.9-28.el7          ################################# [100%]
    
    关机的情况下添加的光盘是IDE格式,但是开机的情况下添加的光盘是SCSI的格式,大家可以细心的观察下,所以我们能够发现图片中的第二个IDE光盘是初始安装的光盘,也就是Linux内的/dev/sr0,上图中第一个SCSI光盘是我们开机的时候添加的,所以是/dev/sr1.所以以后我们尽量还是关机的情况下来添加光盘,按照显示的编号123开进行光盘前后的设置,就不会导致顺序颠倒的问题了. 
    解决办法就是重新设置挂载的光盘DVD1和DVD2顺序,正序即可.
    
    2.或者尽管我们的光盘位置挂载正确,但是我们的挂载顺序错误了,也会导致这种问题,解决办法就是上面的修改光盘的挂载顺序即可,
    
    原文:https://blog.csdn.net/weixin_30453983/article/details/80583774 
    
    # $releasever 的取值
    [root@localhost ~]# rpm -qi centos-release
    Name        : centos-release
    Version     : 7
    Release     : 5.1804.el7.centos
    Architecture: x86_64
    Install Date: Sat 20 Jul 2019 10:50:42 AM CST
    Group       : System Environment/Base
    Size        : 40173
    License     : GPLv2
    Signature   : RSA/SHA256, Tue 01 May 2018 12:17:56 AM CST, Key ID 24c6a8a7f4a80eb5
    Source RPM  : centos-release-7-5.1804.el7.centos.src.rpm
    Build Date  : Sun 29 Apr 2018 12:35:55 AM CST
    Build Host  : x86-01.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem <http://bugs.centos.org>
    Vendor      : CentOS
    Summary     : CentOS Linux release file
    Description :
    CentOS Linux release files
    
    # $basearch 的取值
    [root@localhost ~]# arch
    x86_64
    
    /dev/cdrom是/dev/sr0的软连接,也就是说/dev/sr0才是实际意义上的光驱。所以没有软连接,照样可以挂载光驱。使用命令"mount /dev/sr0 /mnt/cdrom"便可以实现挂载。
    

    https://bbs.csdn.net/topics/320152493

    总算弄清了,
    /dev/下面的文件是设备文件,是LINUX启动,找到的硬件设备。
    
    而/mnt是用来挂载设备的,比如光驱,软驱,挂载后,就可以看挂载设备中的内容了。
    
    # /dev 设备目录,Linux 在这里创建设备节点。
    # /media 媒体目录,可移动媒体设备的常用挂载点
    # /mnt 挂载目录,另一个可移动媒体设备的常用挂载点
    # cdrom sr0 sr1 sr2 对应在虚拟机中添加的 CD/DVD 节点。
    [root@localhost ~]# ll /dev
    total 0
    lrwxrwxrwx. 1 root root           3 Jul 20 20:47 cdrom -> sr0
    brw-rw----. 1 root cdrom    11,   0 Jul 20 20:47 sr0
    brw-rw----. 1 root cdrom    11,   1 Jul 20 20:47 sr1
    brw-rw----. 1 root cdrom    11,   2 Jul 20 20:47 sr2
    
    # mount + 挂载源 + 挂载点 umount + 挂载源 / 挂载点
    # 挂载
    [root@localhost ~]# mount /dev/sr1 /mnt/mozq
    mount: /dev/sr1 is write-protected, mounting read-only
    
    # 挂载成功
    [root@localhost ~]# ll /mnt/mozq/
    total 542
    -r--r--r--. 2 root root     14 Aug  5  2015 CentOS_BuildTag
    -r--r--r--. 2 root root    212 Nov 27  2013 EULA
    -r--r--r--. 2 root root  18009 Nov 27  2013 GPL
    dr-xr-xr-x. 3 root root   2048 Aug  5  2015 images
    dr-xr-xr-x. 2 root root   2048 Aug  5  2015 isolinux
    dr-xr-xr-x. 2 root root 514048 Aug  5  2015 Packages
    -r--r--r--. 2 root root   1354 Jul 25  2015 RELEASE-NOTES-en-US.html
    dr-xr-xr-x. 2 root root   4096 Aug  5  2015 repodata
    -r--r--r--. 2 root root   1706 Nov 27  2013 RPM-GPG-KEY-CentOS-6
    -r--r--r--. 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Debug-6
    -r--r--r--. 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Security-6
    -r--r--r--. 2 root root   1734 Nov 27  2013 RPM-GPG-KEY-CentOS-Testing-6
    -r--r--r--. 1 root root   3165 Aug  5  2015 TRANS.TBL
    
    # 取消挂载
    [root@localhost ~]# umount /mnt/mozq/
    [root@localhost ~]# ll /mnt/mozq/
    total 0
    

    利用安装光盘或ISO镜像来挂载一个本地yum源,利用这个来安装gcc

    # 在 /etc/yum.repos.d 下新建 bak 目录,将不需要的文件移动到该目录下。
    [root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo_bak CentOS-Sources.repo CentOS-Vault.repo bak
    [root@localhost yum.repos.d]# ll
    total 4
    drwxr-xr-x. 2 root root 191 Jul 20 17:56 bak
    -rw-r--r--. 1 root root 569 Jul 20 17:49 CentOS-Media.repo
    
    [root@localhost ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   17G  1.1G   16G   7% /
    devtmpfs                 476M     0  476M   0% /dev
    tmpfs                    488M     0  488M   0% /dev/shm
    tmpfs                    488M  7.7M  480M   2% /run
    tmpfs                    488M     0  488M   0% /sys/fs/cgroup
    /dev/sda1               1014M  130M  885M  13% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    
    # /dev/sr0 被挂载到 /mnt/mozq
    /dev/sr0                 906M  906M     0 100% /mnt/mozq
    
    [root@localhost ~]# vi /etc/fstab 
    #
    # /etc/fstab
    # Created by anaconda on Sat Jul 20 10:50:13 2019
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=8aaf5dae-3dce-46b2-9ecc-af9a961b1eb6 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    ~                              
    

    问题

    [root@localhost ~]# yum search gcc
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    file:///root/packages/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /root/packages/repodata/repomd.xml"
    Trying other mirror.
    

    本地 yum 源

    [root@instance-fjii60o3 ~]# yum repolist -v
    
    [root@instance-fjii60o3 ~]# yum repolist -v
    Not loading "fastestmirror" plugin, as it is disabled
    Loading "langpacks" plugin
    Loading "versionlock" plugin
    Adding en_US.UTF-8 to language list
    Config time: 0.010
    Yum version: 3.4.3
    Setting up Package Sacks
    Reading version lock configuration
    Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
    pkgsack time: 0.009
    Repo-id      : baidu-bcm
    Repo-name    : Baidu Cloud Monitor (BCM)
    Repo-revision: 1523946872
    Repo-updated : Tue Apr 17 14:34:33 2018
    Repo-pkgs    : 66
    Repo-size    : 18 M
    Repo-baseurl : http://repo.bcm.baidubce.com/yum
    Repo-expire  : 21,600 second(s) (last: Wed May 22 19:15:48 2019)
      Filter     : read-only:present
    Repo-filename: /etc/yum.repos.d/baidu-bcm.repo
    
    Repo-id      : base/7/x86_64
    Repo-name    : CentOS-7 - Base
    Repo-revision: 1543161601
    Repo-updated : Mon Nov 26 00:00:34 2018
    Repo-pkgs    : 10,018
    Repo-size    : 9.4 G
    Repo-baseurl : http://mirrors.baidubce.com/centos/7/os/x86_64/
    Repo-expire  : 21,600 second(s) (last: Wed May 22 19:15:48 2019)
      Filter     : read-only:present
    Repo-excluded: 1
    Repo-filename: /etc/yum.repos.d/CentOS-Base.repo
    

    使用 yum 安装 lrzsz

    # 搜索 lrzsz 安装包
    [root@localhost ~]# yum search lrzsz
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * extras: mirror.bit.edu.cn
     * updates: ftp.sjtu.edu.cn
    ============================================================================== N/S matched: lrzsz ===============================================================================
    lrzsz.x86_64 : The lrz and lsz modem communications programs
    
      Name and summary matches only, use "search all" for everything.
    
    # 安装 lrzsz
    [root@localhost ~]# yum -y install lrzsz.x86_64
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.neusoft.edu.cn
     * extras: mirror.bit.edu.cn
     * updates: mirrors.neusoft.edu.cn
    Resolving Dependencies
    --> Running transaction check
    ---> Package lrzsz.x86_64 0:0.12.20-36.el7 will be installed
    --> Finished Dependency Resolution
    
  • 相关阅读:
    第六次作业--结对编程第二次
    OneZero第四周第三次站立会议(2016.4.13)
    结对编程体会2
    OneZero第四周第二次站立会议(2016.4.12)
    关于“单元测试工具”
    OneZero第四周第一次站立会议(2016.4.11)
    OneZero第四周——预完成功能点统计
    OneZero第三周第五次站立会议(2016.4.8)
    OneZero第三周第四次站立会议(2016.4.7)
    OneZero第三周第三次站立会议(2016.4.6)
  • 原文地址:https://www.cnblogs.com/mozq/p/11287554.html
Copyright © 2020-2023  润新知