RHEL6基础二十之RHEL文件挂载与卸载

一、光盘挂载、卸载

144619746.png

在挂载外围设备时一般习惯性地将挂载点放在/mnt目录下,光盘对应的设备文件通常为“/dev/cdrom”

[root@justin ~]# mkdir /mnt/cdroom
[root@justin ~]# mount /dev/cdrom /mnt/cdroom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@justin ~]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda2     ext4    9.9G  2.8G  6.6G  30% /
tmpfs        tmpfs    504M     0  504M   0% /dev/shm
/dev/sda1     ext4    194M   27M  158M  15% /boot
/dev/sda5     ext4    7.7G  146M  7.2G   2% /home
/dev/sr0   iso9660    2.9G  2.9G     0 100% /mnt/cdroom
[root@justin ~]#

由于光盘是只读的存储介质,因此在挂载时系统会出现“mounting read-only”的提示信息。另外,在df命令显示的结果中可以发现,光盘(光驱)的实际设备文件是/dev/sr0,/dev/cdrom其实只是一个符号链接,光盘的文件系统iso9660,如果在图形界面下系统会将光盘自动挂载到“/media/RHEL_6.3 x86_64 Disc 1”目录下,Linux允许同一个存储设备同时被挂载到多个挂载点,并不影响使用。

通过/mnt/cdroom就可以查看或者使用光盘内容,在卸载的时候需要退出所在目录,否则会提示设备在繁忙的信息

[root@justin ~]# cd /mnt/cdroom/ && ls
EULA                      RELEASE-NOTES-es-ES.html  RELEASE-NOTES-ru-RU.html
GPL                       RELEASE-NOTES-fr-FR.html  RELEASE-NOTES-si-LK.html
HighAvailability          RELEASE-NOTES-gu-IN.html  RELEASE-NOTES-ta-IN.html
images                    RELEASE-NOTES-hi-IN.html  RELEASE-NOTES-te-IN.html
isolinux                  RELEASE-NOTES-it-IT.html  RELEASE-NOTES-zh-CN.html
LoadBalancer              RELEASE-NOTES-ja-JP.html  RELEASE-NOTES-zh-TW.html
media.repo                RELEASE-NOTES-kn-IN.html  repodata
Packages                  RELEASE-NOTES-ko-KR.html  ResilientStorage
README                    RELEASE-NOTES-ml-IN.html  RPM-GPG-KEY-redhat-beta
RELEASE-NOTES-as-IN.html  RELEASE-NOTES-mr-IN.html  RPM-GPG-KEY-redhat-release
RELEASE-NOTES-bn-IN.html  RELEASE-NOTES-or-IN.html  Server
RELEASE-NOTES-de-DE.html  RELEASE-NOTES-pa-IN.html  TRANS.TBL
RELEASE-NOTES-en-US.html  RELEASE-NOTES-pt-BR.html
[root@justin cdroom]# umount /mnt/cdroom/
umount: /mnt/cdroom: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@justin cdroom]# cd
[root@justin ~]# umount /mnt/cdroom/
[root@justin ~]#

参数-o

-o ro:用唯读模式挂上

-o rw:用可读写模式挂上

-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统

-o remount:将一个已经挂下的档案系统重新用不同的方式挂上

[root@justin ~]# mount -o remount,ro /dev/ops/databases
[root@justin ~]# mount -o loop /tmp/image.iso /mnt/cdrom

如果发现有提示“device is busy”,找到是什么进程使得他busy

[root@justin ~]# fuser -m /mnt/cdrom    将会显示使用这个模块的pid
[root@justin ~]# fuser -mk /mnt/cdrom    将会直接kill那个pid


二、挂载iso镜像文件

由于系统里没有iso镜像文件,这里把/home目录制作成光盘镜像文件

144544234.png

[root@justin ~]# mkisofs -r -J -V cdiso -o /usr/local/src/cdiso.iso /home
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using _____000 for  /home/justin/桌面 (图片)
Using _____001 for  /home/justin/图片 (视频)
Using _____002 for  /home/justin/视频 (音乐)
Using _____003 for  /home/justin/音乐 (模板)
Using _____004 for  /home/justin/模板 (文档)
Using _____005 for  /home/justin/文档 (下载)
Using PREFE000.DES;1 for  /home/justin/.local/share/applications/preferred-mail-reader.desktop (preferred-web-browser.desktop)
Using 8665C000.;1 for  /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-default-source (8665cfcff9c76f94fac16e0000000022-default-sink)
Using 8665C001.;1 for  /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-default-sink (8665cfcff9c76f94fac16e0000000022-runtime)
Using 8665C000.TDB;1 for  /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-card-database.tdb (8665cfcff9c76f94fac16e0000000022-stream-volumes.tdb)
Using 8665C001.TDB;1 for  /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-stream-volumes.tdb (8665cfcff9c76f94fac16e0000000022-device-volumes.tdb)
Total translation table size: 0
Total rockridge attributes bytes: 28589
Total directory bytes: 202000
Path table size(bytes): 1456
Max brk space used 6b000
825 extents written (1 MB)
[root@justin ~]# mkdir /mnt/cdroom
[root@justin ~]# mount -o loop -t iso9660 /usr/local/src/cdiso.iso /mnt/cdroom/
[root@justin ~]# cd /mnt/cdroom/
[root@justin cdroom]# ll
总用量 49
dr-xr-xr-x  3 root root  2048 10月 11 15:21 default
dr-xr-xr-x  3 root root  2048 10月 11 10:46 file
-r--r--r--  1 root root     4 9月  24 13:50 i
dr-xr-xr-x 28 root root  6144 10月 14 22:12 justin
dr-xr-xr-x  4 root root  2048 10月 14 22:12 justin1
dr-xr-xr-x  2 root root  2048 9月  18 15:30 lost+found
dr-xr-xr-x  4 root root  2048 10月 10 11:08 study6
-r-xr-xr-x  1 root root    17 10月 11 15:14 test
-r--r--r--  1 root root 31991 10月 22 18:45 top1
[root@justin cdroom]#

三、移动硬盘、U盘挂载

移动硬盘、U盘挂载和以上类似,各自的文件名可以通过[root@justin ~]# fdisk -l查看

对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,应使用-o iocharset=cp936参数

四、挂接Windows文件共享

在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba 软件包。这里还没安装,以下为挂载的一个例子

 [root@CHINFO8 ~]# rpm -qa|grep samba
samba-client-3.0.33-3.37.el5
samba-common-3.0.33-3.37.el5
[root@CHINFO8 ~]#  
[root@justin ~]# mount -t smbfs -o username=administrator,password=123 //10.15.72.73/d$ /mnt/samba

使用smb协议挂载很难解决乱码问题,使用cifs则没乱码问题

[root@justin ~]# mount -t cifs -o username=admin,password=123 //10.15.23.73/dmpfile /data



自动挂载、fstab

以上挂载方式在重启机器会丢失,再次使用需重新挂载,可以通过修改/etc/fstab文件来完成文件系统的自动挂载。/etc/fstab称为文件系统数据表(File System Table),Linux在每次开机的时候都会按照这个文件中的配置来自动挂载相应的文件系统。

[root@justin ~]# tail -2 /etc/fstab
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
[root@justin ~]#

以第二行说明各项租用

第1字段proc:需要挂载的设备文件名。

第2字段/proc:挂载点,挂载点必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为swap。

第3字段proc:文件系统的类型。如果是ext4文件系统,则写成ext4;如果是FAT32文件系统,则写成vfat;如果是光盘,可以写成auto,由系统自动检测,或者是iso9660这种标准格式。
第4字段defaults:挂载选项。一般都是采用“defaults”。
第5字段0:文件系统是否需要dump备份(dump是一个备份工具),一般为1时表示需要,为0设表示忽略。
第6字段0:表示在系统启动时是否检查这个文件系统以及检查的顺序,设为0表示不检查,设为1表示优先检查,2表示其次检查。对于根分区应设为1,其他分区设为2或者是0

sysfs                   /sys          sysfs     defaults                           0 0
proc                    /proc         proc      defaults                           0 0
/dev/cdrom              /media        iso9660   loop,ro                            0 0
//10.15.23.73/dmpfile   /data         cifs      username=admin,password=123,rw     0 0



你可能感兴趣的:(文件挂载与卸载,mount.umount)