Linux学习之CentOS(五)--让我有些郁闷的mount命令

时间:2024-05-21 10:53:18

进入到了Linux系统学习之后,总体来说之前还是挺顺畅的,比如各种命令敲入后都会得到相应的效果。。。。但是今天在学习Linux的挂载命令mount时可是着实让我郁闷了很久,大概花了2个小时,各种google、baidu都发现没有找到解决方法。。。最后却是无意中的一次怪招使得问题一下豁然开朗,故在此专为mount命令写篇随笔。

一、mount 命令

首先简单介绍一下 mount 这个命令:

在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。挂装设备需要使用mount命令。执行这一命令,至少要先确定下列三种信息: 

  1. 要挂装(Mount)对象的文件系统类型;
2. 要挂装(Mount)对象的设备名称(/dev/...);
3. 要将设备挂装(Mount)到哪一目录。

 

因为我是在VM虚拟机上安装的CentOS6.4 64位系统版本,如果我要将windows上的文件传到虚拟机上的Linux上的话,可以通过以下几个方法:

  1. 安装VMware-Tools,这个如果在windows上安装就特别方便,直接点击安装就行了,Linux上的安装过程在稍后的随笔中会记录下来。

  2. 挂载ISO文件,我们在windows上找到我们需要的文件,然后可以通过UltraISO(一款功能强大而又方便实用的光盘映像文件制作/编辑/转换工具),用这个来将文件制作成IOS镜像文件,然后挂载到虚拟机上的Linux系统上。

  3. 启用虚拟机上的文件共享功能,这样通过共享windows上的文件夹,将文件传给虚拟机上的Linux。(这个我发现要安装了VMware-Tools以后才可以)。

 

在这里我使用的第二种方式,通过挂载ISO文件的方式来将windows上的文件挂载到Linux系统上(有关Linux系统的分区、挂载等概念将会在后续学习中进行详细记录)

 

二、挂载ISO文件到Linux系统上

首先将需要用到的文件(jdk1.7、tomcat、eclipse等Linux版本软件)通过UltraISO这个软件制作成ISO文件,例如我取名为:linuxSoft.iso

 

首先选择虚拟机最上方的 VM -> Settings 进入到设置界面:

Linux学习之CentOS(五)--让我有些郁闷的mount命令

 

然后在右边的Use ISO image file那里选择我们刚制作好的ISO文件,(注:右上方的两个复选框必须都打上 √ )

 

点击OK,此时我们发现我们的桌面多了个虚拟光驱。。。也就是我们刚挂载的那一个iso文件

Linux学习之CentOS(五)--让我有些郁闷的mount命令

 

打开后里面就是我们刚需要的一些软件:

Linux学习之CentOS(五)--让我有些郁闷的mount命令

 

至于这些软件怎么安装将会在下一篇随笔中详细记录下来!!!

三、对mount命令的小吐槽

 

mount

mount

mount   /mnt/cdrom    // 这命令就是把ISO挂载在/mnt/cdrom目录中,这样我就可以访问里面的内容了  (必须要有root权限才能挂载)

当我在以root身份敲入了这个命令以后,报了  mount: can't find /mnt/cdrom in /etc/fstable or /etc/mtab  这个错误

于是我就google,在google上发现了一篇文章是来处理这个错误的:

 解决以下挂载错误的方法: 
mount: can't find /mnt/cdrom in /etc/fstable or /etc/mtab
 1、首先查看#cat /etc/fstab

    查看到类似下面的一行;    /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0  (问题的关键是我查看了fstable以后木有类似的一句)
    通过这个,我们能知道hdc 就是cdrom(dvdrom)设备 ,更是 cdrecorder的设备;为了验证我们的说法;请用ls -l 来列文件;
    # ls -lh /dev/dvd*
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/dvd -> hdc
    # ls -lh /dev/cdrom
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdrom -> hdc
    # ls -lh /dev/cdwriter
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdwriter -> hdc
    得知: dvd 、cdrom 、cdwriter 的文件名都链接到了hdc这个设备,所以光驱设备根源就是/dev/hdc ;
    得知: 通过/etc/fstab内看到的,我们可以肯定的是光盘被mount 到了/media/cdrecorder 目录; 
2、自定义cdrom 挂载的位置;
 
    比如 /mnt/cdrom ,所以我们也可以这样来挂载光驱;

    修改:/etc/fstab,把/dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0改成:    /dev/hdc /mnt/cdrom auto users,exec,noauto,managed 0 0 再存档。 
3、建立光驱挂载目录#mkdir /mnt/cdrom 
4、指令挂载

    # mount /dev/hdc /mnt/cdrom
  或# mount /dev/cdrom /mnt/cdrom

因为找不到类似于  /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0  这行代码,所以这种方式设置以后失败了。。。。。

继续google,后面又陆续看了N多的帖子,总结了一下,无非就是以下几种:

mount  -t auto /mnt/cdrom /dev/cdrom /media

这个在回车以后,也是出现了错误,说在 mnt 下找不到 cdrom文件夹。。。但是我是用mkdir /mnt/cdrom 命令又一直提示我该光驱是只读的,不让创建。。。我是root用户啊!!!!再次以失败告终

此时我无意间发现了这么一个帖子,并从中受到了一些启发:mount: can't find /dev/cdrom in /etc/fstab or /etc/mtab问题解决方法,从里面可以得出一些观点:Linux系统估计根据版本不同,默认挂载的位置不同,可能挂载到 /mnt、 /dev、 /media 这三个目录下

如果说不能再 /mnt 下 挂载光驱的话,首先去 /dev/ 目录查看是否有cdrom这个文件,发现还真有,然后我又进入到了/media目录下,敲入一下命令了  ls -l 命令,结果让我震惊了!!!

[[email protected] media]$ ls -l

结果为:

dr-x------. 1 xiaoluo xiaoluo 2048 3月  31 13:26 20130331_132633

发现居然在/media下面找到了我们刚挂载上去的ISO文件,然后心里一个激动,继续进入到这个目录里  ,然后ls -l,发现了我需要的所有文件!!!!

看来我安装的CentOS6.4系统默认是将ISO镜像挂载到了 /media 目录下了,所以一直用mount 命令挂载到 /mnt下没反应

于是我又通过了 卸载 命令 umount 看能否将这个ISO镜像文件从Linux上卸载掉:

[[email protected] 20130331_132633]$    cd /    // 卸载时要先退到root目录下[[email protected] 20130331_132633]$    umount /media/20130331_132633

然后再ls -l /media

发现刚才那个ISO已经被卸载掉了,于是心里一阵狂喜,立马想试试能否通过  mount /media重新挂载回来,结果是失望的!!!!挂载时又提示了之前的那些错误。。。于是我就一生气,然后重启了CentOS系统,在进去后发现/media目录下又自动挂载了刚选择的那个ISO文件!!!!!!

四、我的解决办法

此时我才恍然大悟,总结出了我这个问题的解决办法!!!!

在我安装的CentOS6.4  64位系统上,我如果需要挂载一个ISO文件,我就在开机的时候选择那个ISO文件,通过Linux学习之CentOS(五)--让我有些郁闷的mount命令

这里就选择好,然后在进入了系统以后,CentOS会自动给我们挂载好该ISO文件,默认存放在了 /media/这个文件夹下!,我们如果需要用到里面的软件安装包,就直接先复制到别的目录下(因为这只是将ISO文件挂载到了CentOS上,是虚拟光驱,里面所有的文件都是只读的,我们如果需要安装,必须先将文件复制到其它路径下,这个在后续随笔中记录)

在解决这个方法中,也参考了许多朋友的帖子,并有深入 剖析 mount 命令的好贴, 在这里放出链接,希望能帮助其他未解决这个问题的朋友!!!

linux mount挂载设备(u盘,光盘,iso等 )使用说明

mount: can't find /dev/cdrom in /etc/fstab or /etc/mtab问题解决方法

Linux的mount命令简介

这篇文章记录了自己解决如何在Linux下挂载ISO文件的方法及心得,后续随笔将继续记录学习Linux的点点滴滴!!!!!!

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1947747如需转载请自行联系原作者

sandshell