linux的mount(挂载)命令详解

释放双眼,带上耳机,听听看~!

linux的mount(挂载)命令详解

来源:互联网 作者:佚名 时间:06-02 22:09:55 【大 中 小】

在linux系统中,可以使用mount命令挂载光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享等

 

linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据交换。下面我根据自己的实际工作经验介绍一下如何在linux系统 下挂接(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享。  
挂接命令(mount)

首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

命令格式:

mount [-t vfstype] [-o options] device dir

其中:

1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos

Windows 9x fat32文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs

UNIX(LINUX) 文件网络共享:nfs

2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

3.device 要挂接(mount)的设备。

4.dir设备在系统上的挂接点(mount point)。

挂接光盘镜像文件

由于近年来磁盘技术的巨大进步,新的电脑系统都配备了大容量的磁盘系统,在Windows下许多人都习惯把软件和资料做成光盘镜像文件通过虚拟 光驱来使用。这样做有许多好处:一、减轻了光驱的磨损;二、现在硬盘容量巨大存放几十个光盘镜像文件不成问题,随用随调十分方便;三、硬盘的读取速度要远 远高于光盘的读取速度,CPU占用率大大降低。其实linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

#cp /dev/cdrom /home/sunky/mydisk.iso 或

#dd if=/dev/cdrom of=/home/sunky/mydisk.iso

注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

2、将文件和目录制作成光盘镜像文件,执行下面的命令。

#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

3、光盘镜像文件的挂接(mount)

#mkdir /mnt/vcdrom

注:建立一个目录用来作挂接点(mount point)

#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。   

挂接移动硬盘

对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 — /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdc: 40.0 GB, 40007761920 bytes

255 heads, 63 sectors/track, 4864 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

/dev/sdc5 511 4864 34973473+ b Win95 FAT32

大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和/dev/sdc5。

#mkdir -p /mnt/usbhd1

#mkdir -p /mnt/usbhd2

注:建立目录用来作挂接点(mount point)

#mount -t ntfs /dev/sdc1 /mnt/usbhd1

#mount -t vfat /dev/sdc5 /mnt/usbhd2

注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。

#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。

#mount /dev/sdc1 /mnt/usbhd1   

挂接U盘

和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdd: 131 MB, 131072000 bytes

9 heads, 32 sectors/track, 888 cylinders

Units = cylinders of 288 * 512 = 147456 bytes

Device Boot Start End Blocks Id System

/dev/sdd1 * 1 889 127983+ b Win95 FAT32

Partition 1 has different physical/logical endings:

phys=(1000, 8, 32) logical=(888, 7, 31)

系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。

#mkdir -p /mnt/usb

注:建立一个目录用来作挂接点(mount point)

#mount -t vfat /dev/sdd1 /mnt/usb

注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。

#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

挂接Windows文件共享

Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba 软件包。现在流行的linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到 www.samba.org网站下载……新的版本是3.0.10版。

当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:

# mkdir –p /mnt/samba

注:建立一个目录用来作挂接点(mount point)

# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

注:administrator 和 pldy123 是ip地址为10.140.133.23 windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享

如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003环境下测试通过。

挂接UNIX系统NFS文件共享

类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8和REDHAT as server 3 为例简单介绍一下在linux下如何mount nfs网络共享。

在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。

1、Solaris系统NFS服务端配置方法如下:

(1)修改 /etc/dfs/dfstab, 增加共享目录

share -F nfs -o rw /export/home/sunky

(2)启动nfs服务

# /etc/init.d/nfs.server start

(3)NFS服务启动以后,也可以使用下面的命令增加新的共享

# share /export/home/sunky1

# share /export/home/sunky2

注:/export/home/sunky和/export/home/sunky1是准备共享的目录

2、linux系统NFS服务端配置方法如下:

(1)修改 /etc/exports,增加共享目录

/export/home/sunky 10.140.133.23(rw)

/export/home/sunky1 *(rw)

/export/home/sunky2 linux-client(rw)

注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、 linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机 /etc/hosts文件里增加linux-client主机ip定义。格式如下:

10.140.133.23 linux-client

(2)启动与停止NFS服务

/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)

/etc/rc.d/init.d/nfs start 启动NFS服务

/etc/rc.d/init.d/nfs stop 停止NFS服务

注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。

3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享

# mkdir –p /mnt/nfs

注:建立一个目录用来作挂接点(mount point)

#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。

如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。以上操作在 redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。

权限问题:

假設 server 端的使用者 jack, user id 為 1818, gid 為 1818, client 端也有一個使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack    希望能完全讀寫 server 端的 /home/jack 這個目錄。server 端的 /etc/exports 是

   這樣寫的:

      /home/jack *(rw,all_squash,anonuid=1818,anongid=1818)

   這個的設定檔的意思是,所有 client 端的使用者存取 server 端 /home/jack 這

   目錄時,都會 map 成 server 端的 jack (uid,gid=1818)。我 mount 的結果是

   1. client 端的 root 可以完全存取該目錄, 包括讀、寫、殺……等

   2. client 端的 jack (uid,gid=1818) 我可以做:

    rm -rf server_jack/*
cp something server_jack/
mkdir server_jack/a

下面给大家整理下排版较好的

本文介绍mount命令的用法,以及技巧光盘镜像文件、移动硬盘及U盘的方法。

一,挂接命令(mount)

挂接(mount)命令的使用方法。

命令格式:

 

复制代码 代码如下:

mount [-t vfstype] [-o options] device dir
 
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。

二,挂接光盘镜像文件
linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

 

复制代码 代码如下:

#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso

说明:
执行上面的任一命令,即可将当前光驱中的光盘,制作成光盘镜像文件:/home/sunky/mydisk.iso。

2、将文件和目录制作成光盘镜像文件,执行下面的命令。

复制代码 代码如下:

#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

说明:
此命令将/home/sunky/mydir目录下所有的目录和文件,制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk。

3、光盘镜像文件的挂接(mount)

复制代码 代码如下:

#mkdir /mnt/vcdrom

说明:创建一个目录用作挂接点(mount point)

复制代码 代码如下:

#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

说明:使用目录/mnt/vcdrom,即可访问盘镜像文件mydisk.iso中的所有文件。

三,挂接移动硬盘

对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。
插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

复制代码 代码如下:

[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap

由以上信息,得知系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 — /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。
接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

复制代码 代码如下:

[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdc: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS
/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)
/dev/sdc5 511 4864 34973473+ b Win95 FAT32

由以上信息可知,多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。

可以使用如下命令挂接/dev/sdc1和/dev/sdc5。

复制代码 代码如下:

#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
 
说明:
建立目录用来作挂接点(mount point)

复制代码 代码如下:

#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
 
说明:
对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。
若汉字文件名显示为乱码或不显示,可以使用如下命令格式:

复制代码 代码如下:

#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
 
linux系统下使用fdisk分区命令和mkfs文件系统创建命令,可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。
这样,在linux下使用就方便多了。

使用如下命令直接挂接即可:

复制代码 代码如下:

#mount /dev/sdc1 /mnt/usbhd1

四,挂接U盘

和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。
使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

复制代码 代码如下:

[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap

插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

复制代码 代码如下:

[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdd: 131 MB, 131072000 bytes
9 heads, 32 sectors/track, 888 cylinders
Units = cylinders of 288 * 512 = 147456 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 889 127983+ b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1000, 8, 32) logical=(888, 7, 31)

系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1。

/dev/sdd1就是我们要挂接的U盘,用如下命令挂载:

复制代码 代码如下:

#mkdir -p /mnt/usb
 
注:建立一个目录用来作挂接点(mount point)

复制代码 代码如下:

#mount -t vfat /dev/sdd1 /mnt/usb

说明:现在可以通过/mnt/usb来访问U盘了,若汉字文件名显示为乱码或不显示,请使用如下命令访问:

复制代码 代码如下:

#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

到这里,有关linux中挂载命令mount的用法就介绍完了,建议朋友多动手,自己练习下上面的例子,有助于对内容的理解。

 

 

Linux与windows不同,不会自动挂载非系统的文件,必须使用Linux挂在命令手动挂载,这样你才能够使用光盘等外来文件。

AD:

Linux挂载命令是Linux使用者必须要掌握的命令,这里详细说明mount和umount命令,结合举例,我们明白Linux挂载命令的具体使用的用法,达到我们学习使用Linux系统目的。

挂载文件系统的命令是 mount

其语法是:

mount [选项] <-t 类型> [-o 挂载选项] <设备> <挂载点>

在本例中,我们首先会将分区临时挂载在 /mnt (或您选择的任何其它挂载点:请记住,挂载点必须已经存在)。挂载我们新创建的分区的命令是:

$ mount -t ext3 /dev/hdb1 /mnt

-t 选项用于指定分区上文件系统的类型。您最常遇到的文件系统应该是 ext2FS(GNU/Linux 文件系统)或 ext3FS(改进了日志性能的 ext2FS),VFAT(适用于所有 DOS/Windows® 分区:FAT 12, 16 or 32)以及 ISO9660(CD-ROM 文件系统)。如果您不指定任何类型,mount 将会试着读取分区中的超块来猜测文件系统。

-o 选项用于指定一个或多个挂载选项。可供选择的选项视文件系统类型不同而有所不同。请参看 mount( 手册页中的细节。

现在,您已经挂载了您的新分区,现在该将整个 /usr 目录复制到新分区了:

$ (cd /usr && tar cf – .) | (cd /mnt && tar xpvf -)

文件都已经复制完了,现在可以卸下分区了。

umount 命令

语法很简单:

umount <挂载点|设备>

所以,要卸下我们的新分区,应该输入:

$ umount /mnt

或者:

$ umount /dev/hdb1

提示
有些时候,可能某些设备(通常是 CD-ROM)正忙或无法响应。此时,大多数用户的解决办法是重新启动计算机。我们大可不必这么做。例如,如果 umount /dev/hdc 失败的话,您可以试试“lazy” umount。语法十分简单:

umount -l <挂载点|设备>

此命令将会断开设备并关闭打开该设备的全部句柄。通常,您可以使用 eject <挂载点|设备>命令弹出碟片。所以,如果 eject 命令失效而您又不想重新启动,请使用 lazy umount。

由于分区即将成为我们的 /usr 目录,我们现在需要通知系统。要完成这一操作,我们应该编辑 /etc/fstab 文件。该文件可使得系统在启动时自动挂载特定的文件系统。组成该文件的每一行分别描述了一组挂载关系,这其中包括文件系统、挂载点以及其它选项。这里是该 文件的一个例子:

/dev/hda1   /           ext2    defaults        1 1
/dev/hda5   /home       ext2    defaults        1 2
/dev/hda6   swap        swap    defaults        0 0
none        /mnt/cdrom  supermount dev=/dev/scd0,fs=udf:iso9660,ro,– 0 0
none        /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,–,sync,umask=0 0 0
none        /proc       proc    defaults        0 0
none        /dev/pts    devpts  mode=0622       0 0

每行都由以下内容组成:

文件系统所在的设备;

挂载点;

文件系统类型;

挂载选项;

dump 工具备份标志;

fsck(文件系统检查(FileSystem ChecK))的检查顺序。

总是有一行说明了根文件系统。swap 分区是一种特殊的分区,因为您无法在树形结构中找到其对应位置,而且这些分区的挂载点域只写着 swap 关键字。至于 /proc 文件系统,我们会在第 10 章 /proc 文件系统中有更详细的描述。另外一种特殊的文件系统是 /dev/pts。

在这里,我们需要将整个 /usr 层次移至 /dev/hdb1,并且想要在启动时将此分区挂载为 /usr。要达到这一目的,应该在 /etc/fstab 文件中添加下面一行:

/dev/hdb1        /usr         ext2    defaults  1 2

现在,分区将会在每次启动时自动挂载,并且必要时检查错误。

现在我们来介绍两个特殊选项:noauto 和 user。noauto 选项指定了文件系统不应该在启动时挂载,而只应该在您想要挂载的时候才挂载。而 user 选项指定了任何用户都可以挂载或卸下文件系统。这两个选项通常用于 CD-ROM 和软盘驱动器。有关 /etc/fstab 中其它选项的详情,请您查看 fstab(5) 手册页。

使用 /etc/fstab 的好处在于,它将极大简化 mount 命令的语法。要挂载文件中描述的文件系统,您只需要引用挂载点或设备。要挂载软盘,您可以只输入:

$ mount /mnt/floppy

或:

$ mount /dev/fd0

在分区转移这个例子的最后,我们来看看我们都做了什么。我们将 /usr 层次复制到了新分区,然后修改了 /etc/fstab,这样新分区就会在启动时自动挂载。这样似乎已经大功告成了。且慢,还有一个问题。老 /usr 中的文件仍然留在驱动器中原来的地方,我们还需要将它们删除以便腾出空间(这个才是我们最初的目标)。在执行接下来的命令之前,您需要先切换到单用户模 式,请在命令行上执行 telinit 1 命令。

接下来,我们将会删除 /usr 目录中的全部文件。请记住,我们仍然是指“老”目录,因为新的大目录尚未挂载。rm -Rf /usr/*。

最后,我们需要挂载新的 /usr 目录:mount /usr/

在Linux挂载命令使用时一定要注意挂载和解挂载的结合使用。

给TA打赏
共{{data.count}}人
人已打赏
安全技术安全运维

Windows服务器如何发现被黑

2018-5-20 12:24:31

安全技术

详解Node.js API系列 Http模块(2) CNodejs爬虫实现

2021-12-21 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索