在Linux中,软件的安装都是基于软件仓库(安装源),默认情况下这个安装源是基于网络访问的,如果安装的LINUX配置了网络环境,能够访问外网,就可以直接安装了,但有时需要离线安装,这就需要通过挂载重新指定安装源到本地了。
一、如何理解挂载?
挂载就是把系统镜像与Linux操作系统建立直接的联系,将镜像的顶级目录连接到Linux根目录下的某一目录中,就好比我们Windows系统插入一张光盘,我们可以在Windows系统中去打开光盘,查看操作里面的内容,这就是挂载。
1、为什么不能直接去访问这个光驱设备呢?
有人问为什么不能跟WINDOWS下一样,直接打开某个光驱设备呢?这就跟Linux下的文件系统机制有关了。Linux 当中一切皆文件,无论硬件软件都要当成文件来使用,而硬件不能直接当成文件来使用的。挂载(Mount)就是指将存储设备或文件系统与系统的目录结构进行关联,使得这些设备或文件系统可以在指定的目录中访问和操作。
2、挂载的几个基本概念:
挂载点(mount point):挂载点是文件系统树中的一个目录,用于连接外部设备的文件系统。当设备被挂载到一个挂载点上时,设备中的文件和目录将会在该挂载点下可见。例如,/mnt 或 /media 目录通常用作挂载点目录。
文件系统(file system):文件系统是组织和管理文件和数据的一种结构。在Linux系统中,可以使用不同的文件系统类型(如EXT4、NTFS、FAT32等)来格式化和组织磁盘、分区或其他存储设备。通过挂载,文件系统可以连接到Linux文件系统树中的一个挂载点上。
设备(device):在Linux中,设备可以是物理磁盘、分区、网络共享等。设备可以具有唯一的标识符,例如硬盘设备通常被表示为 /dev/sda,分区设备通常被表示为 /dev/sda1。
挂载命令(mount command):使用 mount 命令可以在Linux中执行挂载操作。通过指定要挂载的设备和目标挂载点,mount 命令将外部设备的文件系统连接到指定的挂载点。
注意:挂载可能会导致原有目录的文件隐藏,会造成系统异常或崩溃,所以在正式挂载的时候不要挂载到根目录和系统目录下,最好是在系统目录下创建一个空目录用于挂载。
二、挂载ISO文件还是虚拟光驱?
Linux系统的安装源有时可以是ISO文件,也有时可以是虚拟光驱。
通常情况下,ISO文件是一种包含完整文件系统映像的磁盘镜像文件,可以在本地硬盘上或者远程服务器上存储。当使用ISO文件作为Linux系统的安装源时,用户需要将ISO文件挂载到Linux系统的文件系统中,并设置合适的挂载点来访问其中的文件和目录。
与ISO文件不同,虚拟光驱则是一种虚拟设备,用于模拟物理光驱并能够支持读取CD/DVD等光盘格式。在某些情况下,可以使用虚拟光驱将光盘镜像文件加载到Linux系统中,并在挂载光盘时使用虚拟光驱进行访问和操作。
因此,无论使用ISO文件还是虚拟光驱作为Linux系统的安装源,用户都需要根据实际情况调整相应的安装配置参数。
注意:一般在虚拟机上都是基于虚拟光驱的,如果是在云平台环境中,都是基于ISO文件的。
三、如何判断系统是ISO文件还是虚拟光驱?
1、虚拟光驱挂载
可以使用lsblk命令,它可以显示系统中的磁盘分区、磁盘驱动器和其他块设备的详细信息,如下所示:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.1G 0 rom
根据这些信息,可以确定sr0是一个只读光驱设备,没有被挂载到任何目录。
另外,这个设备默认有一快捷方式,如下所示,
[root@localhost ~]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 Jul 2 08:20 /dev/cdrom -> sr0
这些信息表示/dev/cdrom 是一个符号链接(Symbolic Link),指向设备文件 sr0。符号链接是指向另一个文件或目录的快捷方式。在这种情况下,/dev/cdrom 是指向光盘设备 sr0 的快捷方式。光盘设备 sr0 是一个虚拟设备文件,通常用于表示第一个光驱。它可以被用于挂载和访问光盘中的数据。如果你想通过 /dev/cdrom 路径访问光盘,你可以使用mount命令将其挂载到一个指定的目录/mnt/cdrom。例如:
mount /dev/cdrom /mnt/cdrom
或者
mount /dev/sr0 /mnt/cdrom
很多教材上有的是挂载/dev/cdrom,有的是挂载/dev/cdrom,实质都是指向虚拟光驱设备了。
2、ISO文件挂载
如果没有找到以上的虚拟光驱设备,那就是本地有一个ISO镜像文件,可以通过FINTD命令找到位置,再进行挂载。
mount -o loop /home/CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom
以上命令是将/home下的iso文件挂载到 /mnt/cdrom下。其中-o loop 参数是必需的。它告诉 mount 命令使用循环设备来挂载文件。循环设备是将一个普通文件作为块设备挂载的一种特殊方式。默认情况下,mount 命令需要指定一个块设备路径来进行挂载,而不是文件路径。通过使用 -o loop 选项,mount 命令可以理解您要将文件作为块设备进行挂载。
注意:上述都是普通挂载,即临时挂载,系统重启后即消失了。如果希望开机挂载
需更改以下配置文件。
vim /etc/fstab ,在文件最后添加如下内容
/home/CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom iso9660 loop,defaults 0 0
四、验证挂载是否成功
1、使用df -h 查看挂载状态与挂载内容
[root@yh /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 11G 11G 0 100% /mnt/cdrom
如上信息,/dev/sr0已被成功挂载到/mnt/cdrom下。
2、直接查看挂载目录下的资源
[root@yh /]# ls /mnt/cdrom
AppStream BaseOS EFI images isolinux LICENSE media.repo TRANS.TBL
如上信息,/mnt/cdrom下列出的文件和目录正是iso系统镜像中的文件及目录。