配置本地 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