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

进入到了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命令_第1张图片
 
然后在右边的Use ISO image file那里选择我们刚制作好的ISO文件,( 注:右上方的两个复选框必须都打上 √ )
 
点击OK,此时我们发现我们的桌面多了个虚拟光驱。。。也就是我们刚挂载的那一个iso文件
Linux学习之CentOS(五)--让我有些郁闷的mount命令_第2张图片
 
打开后里面就是我们刚需要的一些软件:
Linux学习之CentOS(五)--让我有些郁闷的mount命令_第3张图片
 
至于这些软件怎么安装将会在下一篇随笔中详细记录下来!!!
三、对mount命令的小吐槽
 
可能看到上面的第二步,会觉得很轻松就将文件挂载到了Linux下面,而且都木有用到mount命令。。。。。所以下面我就来吐槽一下昨天搞了我几个小时的 mount 命令。
按照正常流程,应该是在将ISO文件挂载到Linux上以后,通过 mount 命令将这个ISO文件挂载下来,命令如下:
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 这行代码,所以这种方式设置以后失败了。。。。。

继续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 命令,结果让我震惊了!!!

[root@xiaoluo 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上卸载掉:

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

然后再ls -l /media

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

四、我的解决办法

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

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

这里就选择好,然后在进入了系统以后,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的点点滴滴!!!!!!

 

你可能感兴趣的:(centos)