CentOS 配置本地 yum 源(含开机自动挂载、CentOS-7.6/6.5 配置详解)
标题因电脑无法联网,只有一个CentOS-6.5-x86_64-bin-DVD1.iso,因此再安装一些自己需要的 Packages 时候,只能考虑从本地镜像中获取,因此就需要配置 本地 yum 源。当然配置过程中,也跟着网上的步骤操作一遍是可以生效的,不过各种含义总是不太清楚,还是想一探究竟,也顺便简单记录操作过程。环境介绍:Win 10VMware16CentOS 6.5 X86_64本地挂载
环境
因电脑无法联网,只有一个CentOS-6.5-x86_64-bin-DVD1.iso,因此再安装一些自己需要的 Packages 时候,只能考虑从本地镜像中获取,因此就需要配置 本地 yum 源。
当然配置过程中,也跟着网上的步骤操作一遍是可以生效的,不过各种含义总是不太清楚,还是想一探究竟,也顺便简单记录操作过程。
环境介绍:
- Win 10 系统
- VMware16
- CentOS 6.5 X86_64
本地挂载步骤
1、ISO镜像配置
选择【虚拟机(M)】->【设置(S)】->【硬件】->【CD/DVD(IDE)】->【使用ISO镜像文件(M)】选择对应的ISO镜像(如:CentOS-6.5-x86_64-bin-DVD1.iso)。
记得勾选设备状态处的两个选项:
- 已连接(C)
- 启动时连接(O)
然后就能在 Linux 桌面看到 ISO 镜像文件,如下图所示:
该 ISO 镜像文件,挂载到哪里了呢?稍后会有描述。
2、设置挂载点
设置挂载点的命令是:
cd /media
mkdir -p cdrom
mount /dev/sr0 /media/cdrom/
cd cdrom/ #此时就能看到Packages,里面就有 rpm 包
当然网上比较常见的是下面3条 mount 命令:
mount /dev/sr0 /media/cdrom/ #本机执行成功
mount /dev/cdrom /media/cdrom/ #本机执行失败
mount -o loop -t iso9660 /opt/CentOS-6.5-x86_64-bin-DVD1.iso /media/cdrom/ #可以执行成功,不过这些参数都是什么东东,不懂
mount -o loop -t iso9660 /opt/CentOS-7-x86_64-Everything-1810.iso /media/cdrom/ # CentOS 7.6 平台
很好奇的是,为何有的是sr0,有的是cdrom,iso9660 又是什么?从哪里看应该是什么?后面查阅了 mount 命令才了解了含义,可以配合 df 命令查看。
[root@localhost media]# cd /media/
[root@localhost media]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 18G 11G 5.5G 67% /
tmpfs 932M 232K 932M 1% /dev/shm
/dev/sda1 485M 40M 421M 9% /boot
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
从这里可以看到前面设置的 ISO 镜像文件挂载到了 /media/CentOS_6.5_Final 下面。而该 ISO 镜像的 Filesystem 为 /dev/sr0
mount 后再次df 查看效果如下:
[root@localhost media]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 18G 11G 5.5G 67% /
tmpfs 932M 232K 932M 1% /dev/shm
/dev/sda1 485M 40M 421M 9% /boot
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/sr0 4.2G 4.2G 0 100% /media/cdrom
3、备份yum源
一般 yum 源有4个,CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo,默认上网是用 CentOS-Base.repo。
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
cp bak/CentOS-Media.repo .
vim CentOS-Media.repo
4、修改yum源为本地
将 yum 源的CentOS-Media.repo配置中 file 修改为下面路径 /media/cdrom/(前面mount point),enabled 要设置为1。
5、yum 测试
首先执行下面命令
yum clean all #清原有yum缓存
yum makecache #生成新缓存
yum repolist #列出你所有的yum repo
yum list #列出所有可安装的软件包
yum -y install screen ##测试yum 是否可以正确运行
6、卸载镜像
umount /media/cdrom
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 18G 16G 1.4G 92% /
tmpfs 932M 232K 932M 1% /dev/shm
/dev/sda1 485M 40M 421M 9% /boot
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
发现前面映射的 /media/cdrom 已经取消挂载了。
CentOS 7.6 平台
整个过程基本是类似的,而且部署好 ISO 镜像文件后,配置好本地 yum 源,以后再次需要使用本地 yum 安装软件的时候,直接执行下面命令即可:
mount -t iso9660 /dev/sr0 /media/cdrom/
差异点,普通用户登录 Linux 后,执行 df -h 命令是无法直接查看到 CentOS-7-x86_64-Everything-1810.iso 的 Filesystem 为 /dev/sr0 ,只能查看到 /media/cdrom/。
[root@localhost llm]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 24G 9.2G 15G 38% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda5 2.0G 33M 2.0G 2% /data
/dev/sda1 1014M 176M 839M 18% /boot
tmpfs 182M 4.0K 182M 1% /run/user/42
tmpfs 182M 32K 182M 1% /run/user/1000
/dev/sr0 11G 11G 0 100% /media/cdrom
tmpfs 182M 0 182M 0% /run/user/0
不过可以使用 df -ah 来查看,也是可以查看到的,不过因为不是 root 登录,因此挂载的路径是在 /run/media// 即登陆用户名下面的。
[root@localhost llm]# df -ah #显示所有
Filesystem Size Used Avail Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
devtmpfs 895M 0 895M 0% /dev
........................ #显示剔除了很多冗余项
configfs 0 0 0 - /sys/kernel/config
/dev/sda2 24G 9.2G 15G 38% /
systemd-1 - - - - /proc/sys/fs/binfmt_misc
/dev/sr0 11G 11G 0 100% /run/media/llm/CentOS 7 x86_64
tmpfs 182M 0 182M 0% /run/user/0
/dev/sr0 11G 11G 0 100% /media/cdrom
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
映射过之后,使用 lsblk 命令也可以查看到设置成功。
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 24G 0 part /
├─sda3 8:3 0 2G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2G 0 part /data
sr0 11:0 1 10G 0 rom /media/cdrom
NAME : 这是块设备名。
MAJ:MIN : 本栏显示主要和次要设备号。
RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
TYPE : 本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT : 本栏指出设备挂载的挂载点。
另外一种 mount 方式
步骤2,我们可以考虑将 ISO 文件(如:CentOS-6.5-x86_64-bin-DVD1.iso 或者 CentOS-7-x86_64-Everything-1810.iso)拷贝到 /opt 下面,然后使用下面的命令进行mount,
mount -o loop -t iso9660 /opt/CentOS-6.5-x86_64-bin-DVD1.iso /media/cdrom/
mount -o loop -t iso9660 /opt/CentOS-7-x86_64-Everything-1810.iso /media/cdrom/
其他操作步骤和命令一样,请参看步骤 1、3、4、5.
设置开机自动挂载
厌烦了每次开机需要执行一次的mount 命令,可以直接将命令放在 /etc/rc.local 下面。打开后直接添加命令行即可。
mount -t iso9660 /dev/sr0 /media/cdrom/
截图如下:
此外,也留意到 /etc/rc.local 和 /etc/rc.d/rc.local 是软连接关系,因此直接那个都是可以的。
mount 命令
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option[,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
选顷与参数:
- -a :依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来;
- -l :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称;
- -t :与 mkfs 的选项非常类似,可以加上文件系统种类来指定欲挂载的类型。 常见的 Linux 支持类型有:ext2, ext3, vfat, reiserfs, iso9660(光盘格式), nfs, cifs, smbfs(此三种为网绚文件系统类型);
- -n :在默认的情况下,系统会将实际挂载情况实时写入 /etc/mtab 中,以利于其他程序的运作。但在某些情况下(例如单人维护模式)为了避克问题,会刻意不写入。 此时就得要使用这个 -n 选顷了;
- -L :系统除了利用装置文件名 (例如 /dev/hdc6) 之外,还可以利用文件系统的标头名称 (Label)来进行挂载。最好为你的文件系统取一个独一无二的名称吧!;
- -o :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:
ro, rw:挂载文件系统成为只读(ro) 或可擦写(rw);
loop:用来把一个文件当成硬盘分区挂接上系统
async, sync:此文件系统是否使用同步写入 (sync)或异步 (async) 的内存机制,请参考文件系统运作方式。预设为 async。
auto, noauto:允许此partition 被以 mount -a 自动挂载(auto)
dev, nodev:是否允许此 partition上,可建立装置档案? dev 为可允许;
suid, nosuid:是否允许此 partition 含有suid/sgid 的文件格式?
exec, noexec:是否允讲此 partition 上拥有可执行 binary 档案?
user,nouser:是否允讲此 partition 让任何使用者执行 mount ?一般来说, mount 仅有 root 可以进行,但带 user 参数,则可让一般 user 也能够对此 partition 进行 mount 。
defaults:默认值为: rw, suid, dev, exec, auto, nouser, and async
remount:重新挂载,这在系统出错,或重新更新参数时,很有用
举例
mount #查看当前有哪些挂载点
mount -o loop -t iso9660 /opt/CentOS-6.5-x86_64-bin-DVD1.iso /media/cdrom/ #将光盘CentOS-6.5-x86_64-bin-DVD1.iso按照磁盘方式挂载到 /media/cdrom/
mount -o remount,rw,auto /media/cdrom #将 /media/cdrom 重新挂载,幵加入参数为 rw 不 auto
umou
sr0 和 cdrom
开头提到了sr0 和 cdrom,其中:
- /dev/sr0是光驱的设备名;
- /dev/cdrom代表光驱;
cdrom 只是 sr0 的软链接。
[root@localhost ~]# ll /dev/cdrom
lrwxrwxrwx 1 root root 3 Apr 6 14:06 /dev/cdrom -> sr0
[root@localhost ~]# ll /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 Apr 6 14:06 /dev/sr0
更多推荐
所有评论(0)