歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux學習 基本命令篇(五) Ubuntu硬盤分區管理

原文鏈接:http://blog.csdn.net/zhaom_916/article/details/8188708
1.系統初始化:
1)系統初始化時根據MBR來識別硬盤設備的。
2)在MBR中包括用來載入操作系統的可執行代碼。這個可執行代碼就是MBR中的前446個字節的boot loader程序,引導加載程序。
3)在boot leader之後的64個字節的空間就是存儲分區表的相關信息。
4)分區表的相關信息包括:分區號,分區的起始磁柱和磁柱的數量,所以Linux操作系統就可以根據分區表中的以上3中信息來識別硬盤設備。
ox5或0xf:可擴展分區
0x82:Linux的交換分區
0x83:普通Linux分區
0x8e:Linux邏輯卷管理分區
0xfd:Linux的RAID分區。
MBR留給分區表64個字節,而每個分區表的大小為16個字節,所以在一個硬盤上最多可以劃分4個主分區。
一個IDE硬盤最多使用63個分區。
一個SCSI的硬盤最所可使用15個分區。
分區的原因:
方便管理和控制。
提高系統的效率
使用磁盤的配額功能限制用戶使用的磁盤量
便於備份和恢復
2.使用fdisk和partprobe命令來管理硬盤分區。
[plain]
view plain
copy
print?
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 33 265041 83 Linux
/dev/sda2 34 1053 8193150 83 Linux
/dev/sda3 1054 1314 2096482+ 82 Linux swap
/dev/sda4 1315 2088 6217155 5 Extended
/dev/sda5 1315 2088 6217123+ 83 Linux
[root@localhost ~]# fdisk -l /dev/sda

Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34        1053     8193150   83  Linux
/dev/sda3            1054        1314     2096482+  82  Linux swap
/dev/sda4            1315        2088     6217155    5  Extended
/dev/sda5            1315        2088     6217123+  83  Linux

從左到右的解釋:
1)硬盤分區所對應的設備文件名(Device)
2)是否為boot分區,有 * 為boot分區,否則不是
3)其實磁柱
4)結束/終止磁柱
5)分區的數據塊
6)分區號碼(id)
7)分區的類型
[plain]
view plain
copy
print?
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 2088.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m
Command action
a toggle a bootable flag 是否是啟動盤的標志為
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 刪除一個已經存在的分區
l list known partition types 列舉已知的分區類型
m print this menu 列出fdisk中使用的所有命令
n add a new partition 增加愛一個新分區
o create a new empty DOS partition table
p print the partition table 累出分區的內容
q quit without saving changes 不保存的退出
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit 保存
x extra functionality (experts only)
[root@localhost ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 2088.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): m
Command action
   a   toggle a bootable flag  是否是啟動盤的標志為
   b   edit bsd disklabel 
   c   toggle the dos compatibility flag
   d   delete a partition 刪除一個已經存在的分區
   l   list known partition types 列舉已知的分區類型
   m   print this menu 列出fdisk中使用的所有命令
   n   add a new partition 增加愛一個新分區
   o   create a new empty DOS partition table 
   p   print the partition table 累出分區的內容
   q   quit without saving changes 不保存的退出
   s   create a new empty Sun disklabel 
   t   change a partition's system id
   u   change display/entry units 
   v   verify the partition table 
   w   write table to disk and exit 保存
   x   extra functionality (experts only)

3.分區的格式化:
使用mke2fs /dev/sdb1
使用partprobe重新初始化內核中的分區表
創建文件系統;
mke2fs [ 選項 ] 設備文件名
-b:定義數據塊的大小,默認1KB
-c:在創建文件系統前,檢查設備上是否有壞塊
-i:定義字節數與i節點之間的比率,多少字節對應一個i節點
-j:創建帶有日志的ext3文件系統。
-L:設置文件系統的邏輯卷標
-m:定義超級用戶預留磁盤空間的百分比
-N:覆蓋默認i節點的默認計算值
dumpe2fs 這個命令列出每個設備上文件系統的超級塊和數據塊組的信息
[plain]
view plain
copy
print?
[root@localhost ~]# dumpe2fs /dev/sda1 | more
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name: /boot
Last mounted on: <not available>
Filesystem UUID: 21fbfeae-e5d2-4e52-8e68-0cc0aab4b9c1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 66264
Block count: 265040
Reserved block count: 13252
Free blocks: 237915
Free inodes: 66217
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2008
Inode blocks per group: 251
Filesystem created: Tue Oct 16 15:37:27 2012
Last mount time: Thu Nov 15 10:41:04 2012
Last write time: Thu Nov 15 10:41:04 2012
Mount count: 14
Maximum mount count: -1
Last checked: Tue Oct 16 15:37:27 2012
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 9a2e4851-9fcd-4fd9-abda-3fa58d2accca
Journal backup: inode blocks
[root@localhost ~]# dumpe2fs /dev/sda1 | more
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name:   /boot
Last mounted on:          <not available>
Filesystem UUID:          21fbfeae-e5d2-4e52-8e68-0cc0aab4b9c1
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              66264
Block count:              265040
Reserved block count:     13252
Free blocks:              237915
Free inodes:              66217
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2008
Inode blocks per group:   251
Filesystem created:       Tue Oct 16 15:37:27 2012
Last mount time:          Thu Nov 15 10:41:04 2012
Last write time:          Thu Nov 15 10:41:04 2012
Mount count:              14
Maximum mount count:      -1
Last checked:             Tue Oct 16 15:37:27 2012
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      9a2e4851-9fcd-4fd9-abda-3fa58d2accca
Journal backup:           inode blocks

4.ext2和ext3文件系統。
兩種文件系統格式相同,只是ext3文件系統會在硬盤分區的最後面留出一塊磁盤空間來保存日志記錄。
只要在mke2fs命令中加入-j參數就可以將一個硬盤分區格式化成一個ext3的文件系統。
使用tune2fs的命令就可以將ext2的文件系統直接轉化成ext3的文件系統,而且不會丟失任何數據。
5.為分區指定lable
使用e2lable
[plain]
view plain
copy
print?
[root@localhost ~]# e2label /dev/sda1
/boot
[root@localhost ~]# e2label /dev/sda1
/boot

[plain]
view plain
copy
print?
[root@localhost ~]# e2lable /dev/sdb1 /oracle
[root@localhost ~]# e2lable /dev/sdb1 /oracle

[plain]
view plain
copy
print?
[root@localhost ~]# blkid
/dev/sda1: LABEL="/boot" UUID="21fbfeae-e5d2-4e52-8e68-0cc0aab4b9c1" SEC_TYPE="ext3" TYPE="ext2"
/dev/sda2: LABEL="/" UUID="bf13b9c0-d2e8-43eb-ac26-693879e2fb4c" SEC_TYPE="ext3" TYPE="ext2"
/dev/sda3: TYPE="swap"
/dev/sda5: LABEL="/home" UUID="e7750c54-2d76-486d-ad05-33b8d59237d5" SEC_TYPE="ext3" TYPE="ext2"
[root@localhost ~]# blkid
/dev/sda1: LABEL="/boot" UUID="21fbfeae-e5d2-4e52-8e68-0cc0aab4b9c1" SEC_TYPE="ext3" TYPE="ext2"
/dev/sda2: LABEL="/" UUID="bf13b9c0-d2e8-43eb-ac26-693879e2fb4c" SEC_TYPE="ext3" TYPE="ext2"
/dev/sda3: TYPE="swap"
/dev/sda5: LABEL="/home" UUID="e7750c54-2d76-486d-ad05-33b8d59237d5" SEC_TYPE="ext3" TYPE="ext2"

6.文件系統的掛載與卸載
[plain]
view plain
copy
print?
[root@localhost ~]# mount
/dev/sda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/sda5 on /home type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
[root@localhost ~]# mount
/dev/sda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/sda5 on /home type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

[plain]
view plain
copy
print?
[root@localhost ~]# mount /dev/sdb1 /oracle
[root@localhost ~]# mount /dev/sdb1 /oracle
以某個文件文件系統label形式掛載加入—L參數。
[plain]
view plain
copy
print?
[root@localhost ~]# mount -L /oracle /oracle
[root@localhost ~]# mount -L /oracle /oracle

命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1)-t vfstype 指定文件系統的類型,通常不必指定。mount 會自動選擇正確的類型。常用類型有:
光盤或光盤鏡像:iso9660
Linux的ext2和ext3文件系統
  DOS fat16文件系統:msdos
  Windows 9x fat32文件系統:vfat
  Windows NT ntfs文件系統:ntfs
  Mount Windows文件網絡共享:smbfs
  UNIX(LINUX) 文件網絡共享:nfs
2.)o options 主要用來描述設備或檔案的掛接方式。常用的參數有:
suid:允許掛載的文件愛你系統使用suid或sgid的特殊權限
dev:允許掛載文件系統建立設備文件,如/dev/sda1
exec:允許掛載文件系統之後可以執行該文件系統的可執行文件。
auto:在計算機開機後自動掛載這個文件系統
nouser:只允許超級用戶可以掛載這個文件系統。
async:在寫數據時先寫到數據緩沖區後再寫到硬盤上。
  loop:用來把一個文件當成硬盤分區掛接上系統
  ro:采用只讀方式掛接設備
  rw:采用讀寫方式掛接設備
  iocharset:指定訪問文件系統所用字符集
3)device 要掛接(mount)的設備。
4)dir設備在系統上的掛接點(mount point)。
Linxu系統默認的選項是 rw,suid,dev,exec,auto,nouser,async
卸載一個設備:
umount device | mount point
fuser命令可以顯示指定文件或文件系統進程的ID,以及相關的信息。
[plain]
view plain
copy
print?
[root@localhost ~]# fuser -v /
USER PID ACCESS COMMAND
/ root 1 .rc.. init
root 2 .rc.. migration/0
root 3 .rc.. ksoftirqd/0
root 4 .rc.. events/0
[root@localhost ~]# fuser -v /

                     USER        PID ACCESS COMMAND
/                    root          1 .rc..  init
                     root          2 .rc..  migration/0
                     root          3 .rc..  ksoftirqd/0
                     root          4 .rc..  events/0
重新掛載文件系統到只讀狀態
[plain]
view plain
copy
print?
[root@localhost ~]# mount -o remount,ro /oracle
[root@localhost ~]# mount -o remount,ro /oracle

7.利用/etc/fstab文件在開機時掛載文件系統:
[plain]
view plain
copy
print?
[root@localhost ~]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/hda /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
[root@localhost ~]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
LABEL=SWAP-sda3         swap                    swap    defaults        0 0
/dev/hda                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
從左到右的解釋:
1)設備/分區,既可以使用Label的用法也可以使用設備的表示法(如:/dev/sdb1)
2)掛載點,掛載目錄
3)文件系統的類型
4)選項,掛載這個文件愛你系統時,使用的選項
5)Dump的頻率,如果為0,表示不做dump(轉儲),為1表示做一次,一次類推
6)fsck應該是file system check的縮寫,這一欄表示系統開機時檢查文件系統先後次序,如果為0,表示不檢查,如果為1,表示第一個檢查,一次類推,最大為9,如果檢查順序相同,則由上而下依次檢查。
8.虛擬內存的管理:
要在Linxu上創建一個swap分區,需要執行以下步驟。
1)創建swap分區所用的分區或文件,並且在創建分區事,需要將分區的類型設置成0x82
2)使用mkswap命令在該分區或文件上寫入一個特殊的識別標識
3)將swap類型的文件系統的掛載信息加入到/etc/fstab文件中,其目的是為了當Linux自動啟動時自動掛載這個分區。
4)如果虛擬內存使用的swap分區,要使用swap -a命令來啟動。
[plain]
view plain
copy
print?
[root@localhost ~]# dd if=/dev/zero of=/oracle/swapfile bs=1M count=128
[root@localhost ~]# dd if=/dev/zero of=/oracle/swapfile bs=1M count=128

dd是轉換並復制文件,if(input file )=/dev/zero(一個內容全是0的文件) of(output file)=(某個文件)
9.在ext3和ext2文件系統中文件屬性的設定。
1)lsattr:該命令是用來顯示文件的屬性
2)chattr:這個命令是用來改變文件的屬性。
chattr +/-/=屬性 文件
選項件man 手冊
[plain]
view plain
copy
print?
[root@localhost mypro]# lsattr main.cpp
------------- main.cpp
[root@localhost mypro]# chattr +a main.cpp
[root@localhost mypro]# lsattr main.cpp
-----a------- main.cpp
[root@localhost mypro]# lsattr main.cpp
------------- main.cpp
[root@localhost mypro]# chattr +a main.cpp
[root@localhost mypro]# lsattr main.cpp
-----a------- main.cpp

  掛接光盤鏡像文件
  由於近年來磁盤技術的巨大進步,新的電腦系統都配備了大容量的磁盤系統,在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
Copyright © Linux教程網 All Rights Reserved