mount挂载相关知识

本文详细介绍了Linux中mount命令的使用,包括语法、参数解释、实用技巧,以及如何查看和管理挂载点。通过blkid和df命令,了解设备的UUID和文件系统类型,并讨论了如何在/etc/fstab中实现持久挂载和开机自动挂载。

mount

mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件

语法

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

参数说明:

  • -V:显示程序版本
  • -h:显示辅助讯息
  • -v:显示较讯息,通常和 -f 用来除错。
  • -a:将 /etc/fstab 中定义的所有档案系统挂上。
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
  • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
  • -s-r:等于 -o ro
  • -w:等于 -o rw
  • -L:将含有特定标签的硬盘分割挂上。
  • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
  • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
  • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
  • -o sync:在同步模式下执行。
  • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
  • -o auto、-o noauto:打开/关闭自动挂上模式。
  • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
  • -o suid、-o nosuid:
  • 允许执行档在 root 权限下执行。
  • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
  • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
  • -o ro:用唯读模式挂上。
  • -o rw:用可读写模式挂上。
  • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

有用的技巧,重新挂载

mount -o remount,rw /dev/SD

显示当前所有的挂载信息

cat /etc/mtab
# Centos7中该文件会实时更新,Centos6中只是普通文件
# 已经作为软链接指向内存中去了
  • 一个设备可以有多个挂载点

  • 一个挂载点只能有一个设备


blkid命令

直接执行blkid命令,不加任何选项的话,将会显示出所有已经挂载的分区信息,主要有UUID和TYPE文件系统类型信息

[root@centos7 ~]# blkid
/dev/mapper/centos-root: UUID="65fd55af-7d47-47ca-a100-59465177a260" TYPE="xfs" 
/dev/sda2: UUID="QvQvn2-J5uo-qqXw-OVhy-skHx-bAJ9-aXIYF4" TYPE="LVM2_member" 
/dev/sr0: UUID="2018-06-29-11-20-20-00" LABEL="CentOS_6.10_Final" TYPE="iso9660" PTTYPE="dos" 
/dev/sr1: UUID="2019-09-09-19-08-41-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="7a9a967b-c136-4f8c-93b0-6360df0c8e3a" TYPE="xfs" 

blkid常用选项:

-s:加上该选项后,可以过滤出指定的信息,如-s TYPE-s UUID将只显示TYPE信息或者UUID信息

[root@centos7 ~]# blkid -s UUID
/dev/mapper/centos-root: UUID="65fd55af-7d47-47ca-a100-59465177a260" 
/dev/sda2: UUID="QvQvn2-J5uo-qqXw-OVhy-skHx-bAJ9-aXIYF4" 
/dev/sr0: UUID="2018-06-29-11-20-20-00" 
/dev/sr1: UUID="2019-09-09-19-08-41-00" 

-o:使用指定的格式显示blkid的输出。常用格式类型有device(仅显示所有设备名称)、list(以友好方式显示出设备信息,比df -h更易读)等

[root@centos7 ~]# blkid -o list
device          fs_type  label     mount point         UUID
--------------------------------------------------------------------------------------------
/dev/mapper/centos-root
                xfs                /                   65fd55af-7d47-47ca-a100-59465177a260
/dev/sda2       LVM2_member        (in use)            QvQvn2-J5uo-qqXw-OVhy-skHx-bAJ9-aXIYF4


############
[root@centos7 ~]# blkid -o device
/dev/mapper/centos-root
/dev/sda2
/dev/sr0
/dev/sr1
/dev/sda1



df命令

显示目前在Linux系统上的文件系统的磁盘使用情况统计

显示文件系统的磁盘使用情况统计:

# df 
Filesystem     1K-blocks    Used     Available Use% Mounted on 
/dev/sda6       29640780 4320704     23814388  16%     / 
udev             1536756       4     1536752    1%     /dev 
tmpfs             617620     888     616732     1%     /run 

用一个-i选项的df命令的输出显示inode信息而非块使用量。

df -i 
Filesystem      Inodes    IUsed    IFree     IUse% Mounted on 
/dev/sda6      1884160    261964   1622196   14%        / 
udev           212748     560      212188    1%         /dev 
tmpfs          216392     477      215915    1%         /run 

显示所有的信息:

# df --total 
Filesystem     1K-blocks    Used    Available Use% Mounted on 
/dev/sda6       29640780 4320720    23814372  16%     / 
udev             1536756       4    1536752   1%      /dev 
...
total           33344320 4321772    27516860  14% 

-h选项,通过它可以产生可读的格式df命令的输出:

# df -h 
Filesystem      Size  Used   Avail Use% Mounted on 
/dev/sda6       29G   4.2G   23G   16%     / 
udev            1.5G  4.0K   1.5G   1%     /dev 

e2label命令来设定分区的label

e2label /dev/sda2 /mnt/sda2
# 

/etc/fstab持久挂载

该文件是系统安装时自动生成

[root@centos7 ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sun Jun  7 02:37:38 2020
#
# 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=7a9a967b-c136-4f8c-93b0-6360df0c8e3a /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

扫描新文件系统

echo '- - -' > /sys/class/scsi_host/host2/scan

设置开机自动挂载光盘

# 打开/etc/fstab文件
# 在末尾加入一行
[root@localhost ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Sat Jul  4 21:05:00 2020
#
# 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=cbfff355-6204-4b4e-a8a9-ad4d00fb0bfa /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/cdrom      /mnt    iso9660 defaults        0 0

# 保存退出即可
<think>好的,我现在需要回答用户关于如何使用mount命令挂载本地镜像文件的问题。首先,我要回忆一下相关Linux知识,确保步骤正确。根据用户提供的引用内容,特别是引用[1]和[2]中的信息,挂载本地镜像通常涉及创建挂载点、使用mount命令指定文件系统和选项,以及可能的自动挂载配置。 首先,用户可能需要知道挂载镜像的基本步骤。比如,创建挂载目录,例如/mnt/cdrom,然后使用mount命令挂载。这里要注意的是,如果镜像文件是ISO格式,通常使用iso9660文件系统类型,并且可能需要使用loop设备。例如,命令可能是这样的:mount -t iso9660 -o loop /path/to/image.iso /mnt/cdrom。需要确认是否正确,引用的例子中提到了使用/dev/sr0,但那是物理光驱的情况,如果是本地ISO文件,应该使用loop选项。 接下来,用户可能需要了解如何实现自动挂载,即在/etc/fstab中添加条目。引用[1]和[4]提到了编辑fstab文件,比如添加类似/path/to/image.iso /mnt/cdrom iso9660 loop,ro 0 0的条目。但要注意路径是否正确,以及选项是否合适,比如ro表示只读。 另外,用户可能遇到的问题包括权限不足、挂载点不存在、文件系统类型错误等,需要给出常见错误解决方法。比如,使用sudo执行命令,确保目录存在,检查ISO文件路径是否正确。 还要考虑不同的情况,比如用户是否在虚拟机环境中,或者是在物理服务器上操作。根据引用[1],虚拟机可能有直接挂载的方式,但用户的问题是关于使用mount命令挂载本地文件,所以应专注于命令行步骤。 需要检查提供的引用内容是否有冲突或需要特别注意的地方。例如,引用[1]中的命令是mount -t iso9660 -o,loop /dev/sr0 /mnt/cdrom,这里的-o,loop可能有笔误,正确应该是-o loop,逗号可能是多余的。所以回答时要纠正这一点,确保命令正确。 另外,引用[4]提到了配置yum仓库,这可能和挂载镜像后的使用有关,但用户当前的问题可能仅涉及挂载步骤,所以这部分可能不需要详细展开,除非用户后续有相关提问。 总结回答的结构应该是:步骤清晰,先创建目录,再执行mount命令,然后验证挂载,最后介绍自动挂载配置。同时,要包含注意事项和常见问题处理。需要确保命令格式正确,例如使用$符号包裹行内代码,用```包裹代码块,符合用户给出的格式要求。 最后,生成相关问题,可能涉及自动挂载、卸载镜像、错误处理等,确保问题相关且有帮助。</think>### 分步说明 要使用 `mount` 命令挂载本地镜像文件到指定目录,请按以下步骤操作: --- #### **1. 创建挂载目录** 首先创建一个用于挂载镜像的目录(若目录不存在): ```bash sudo mkdir -p /mnt/cdrom ``` 此目录将作为镜像内容的访问路径。 --- #### **2. 挂载镜像文件** 执行 `mount` 命令挂载 ISO 镜像文件: ```bash sudo mount -t iso9660 -o loop /path/to/your-image.iso /mnt/cdrom ``` - `-t iso9660`:指定文件系统类型为 ISO 9660(标准光盘格式)。 - `-o loop`:启用 loop 设备支持,允许将文件视为块设备[^2]。 - `/path/to/your-image.iso`:替换为实际镜像文件的路径。 - `/mnt/cdrom`:挂载目标目录。 --- #### **3. 验证挂载** 使用以下命令检查是否挂载成功: ```bash df -h | grep cdrom ``` 若输出中包含 `/mnt/cdrom` 及其容量信息,则挂载成功。 --- #### **4. 配置开机自动挂载(可选)** 编辑 `/etc/fstab` 文件,添加以下行以实现重启后自动挂载: ```bash /path/to/your-image.iso /mnt/cdrom iso9660 loop,ro 0 0 ``` - `ro`:以只读模式挂载(防止误修改镜像内容)[^1]。 --- ### **注意事项** 1. **权限问题**:若提示权限不足,使用 `sudo` 执行命令。 2. **目录存在性**:确保挂载目录已创建且为空。 3. **镜像路径正确性**:检查镜像文件路径是否输入正确。 4. **卸载镜像**:使用 `sudo umount /mnt/cdrom` 卸载。 --- ### **应用示例** 若镜像文件为 `/soft/centos.iso`,挂载到 `/mnt/yum`: ```bash sudo mkdir /mnt/yum sudo mount -t iso9660 -o loop /soft/centos.iso /mnt/yum ``` --- ### **常见问题** - **错误 `mount: /mnt/cdrom: wrong fs type`**:未安装 `iso9660` 支持,尝试安装 `util-linux` 包。 - **错误 `failed to setup loop device`**:镜像文件路径错误或损坏,检查路径和文件完整性[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值