配置本地 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
原文地址:https://www.cnblogs.com/mozq/p/11287554.html