?? 166.html
字號:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>www.newok.com::FreeBSD使用大全</title>
<link rel=stylesheet href="newok.css" tppabs="http://www.newok.com/include/newok.css">
</head>
<body>
<div align=center>
<p> </p>
<table width=720>
<tr><td>
<strong>當前所在位置:</strong><a href="javascript:if(confirm('http://www.at.china.com/bsd/index.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.at.china.com/bsd/index.html'" tppabs="http://www.at.china.com/bsd/index.html" class=t1>FreeBSD使用大全>></a>
</td></tr>
</table>
<table width=700>
<tr><th><font color=white>FreeBSD連載(20):建立文件系統</font></th></tr>
<tr><td> </td></tr>
<tr><td align=left><i>作者:</i>王波</td></tr>
<tr><td> </td></tr>
<tr><td><font color=white>當系統負載逐步增加,僅僅依靠原有文件系統的空間是不夠的,更有效的方式是增加新的硬盤設備。這首先需要改動硬盤及其控制器的硬件設置,以及FreeBSD內核配置,以便硬盤能安裝到計算機上并能被FreeBSD內核正確識別。接下來就需要在新硬盤上創建新的文件系統。<br><br> 在系統安裝過程中,已經接觸了在FreeBSD下管理硬盤和分區的方式,FreeBSD需要兩個步驟才能為文件系統分配一個硬盤空間,第一步是為FreeBSD創建一個UFS系統分區,這個分區只由FreeBSD來使用,然后在第二步中從這個分區中,為各個文件系統劃分空間,在FreeBSD下稱為創建文件系統的DiskLabel標簽。<br><br> 最容易和直觀的創建新文件系統或交換空間方式是使用安裝程序sysinstall,以便系統啟動能夠自動安裝上這個文件系統。使用Sysinstall來安裝新文件系統的方式在系統安裝的過程中已經有了詳細描述,以root權限執行/stand/sysinstall就能進入Sysinstall,然后選擇Partition進行分區,選擇 Label創建和維護BSD文件系統。 <br><br><br>建立文件系統的命令行方式<br><br> 除了使用sysinstall之外,還可以使用命令行的方式來完成這些操作。相比較而言,命令行的方式更困難,也更容易出錯,因此一般不需要使用這種方式,然而命令行方式能帶來更大的靈活性,在一些系統維護情況下更為有效。<br><br> 命令行方式建立文件系統需要使用fdisk命令進行硬盤的分區工作,fdisk能查看系統分區表上的分區信息,并更改其分區設置;然后disklabel命令可以在分區中劃分不同子分區空間并標記各個空間的DiskLabel ;使用newfs建立新文件系統,或者使用swapon命令增加交換設備。<br><br> 創建新文件系統,首先要使用交互式的fdisk命令(使用-i參數)對硬盤進行分區,不帶參數的fdisk命令僅僅顯示該硬盤的分區設置,而不能更改設置。fdisk均使用它檢測到的硬盤設置作為缺省設置,如果不需要改變,就可以直接使用這些缺省設置回應其詢問。在fdisk中可以修改的數據有硬盤映射數據,以及四個分區的起始位置和類型。<br><br># fdisk -i wd1<br>******* Working on device /dev/rwd1 *******<br>parameters extraced from in-core disklabel are:<br>cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl)<br> <br>parameters to be used for BIOS calculations are:<br>cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl)<br> <br>Do you want to change our idea of what BIOS thinks ? [n]<br><br> <br> <br><br> fdisk能檢測硬盤的真實映射數據和BIOS的映射數據,由于FreeBSD不使用BIOS存取硬盤數據,因此這兩個數據有可能不一致,但這不影響FreeBSD系統對硬盤的訪問。但BIOS的映射數據必須與BIOS中的設置一致,否則fdisk使用錯誤數據劃分的分區,系統的引導和其他使用BIOS的操作系統就無法正確識別。當硬盤上沒有硬盤分區時,fdisk無法獲得正確的BIOS映射數據(因為FreeBSD不訪問BIOS),此時就需要在詢問是否更改BIOS映射方式時回答yes,以進行更改。一般在硬盤上已有分區或不需要兼容的情況下,不需要更改這個設置,直接回車選擇no略過這個設置。 <br><br>The data for partition 1 is:<br>UNUSED><br>Do you want to change it? [n] y<br><br> <br> <br><br> 然后,fdisk會針對每個分區詢問是否更改其數據,此時按需要更改分區的設置。由于使用fdisk可以直接指定分區的起始和結束,因此具有很大的靈活性,也很容易出現錯誤,如分區的劃分出現重疊。由于多操作系統引導程序 Boot Manager占用了硬盤主引導區后面的幾個空余扇區,按照DOS/Windows的標準,雖然主引導區僅占用了一個扇區,同一柱面中的其他扇區(一般為64或32個)也不能被分配給其他分區,而要保持為空余,這些扇區可以為 Boot Manager占用。這樣就在fdisk指定分區的起始時,是不能從0開始的,而要從下一個柱面的起始位置開始。<br><br> 然后按照要求回答分區的類型,(FreeBSD分區為165,DOS分區為6),分區的開始位置和大小,注意單位應該為512字節(扇區大?。:竺娴拇蟛糠謪悼梢允褂萌笔≈祷貞儐枺蛘咴O定激活分區。<br><br> 更改分區設置并保存退出fdisk之后,還需要檢查系統中是否具有對應的設備文件,必須在/dev目錄下擁有相應的設備文件才能訪問物理設備。<br><br> 劃分了UFS基本分區之后,就可以使用disklabel創建文件系統或交換空間的disklabel了,為了方便起見,可以先為這個分區建立空的disklabel,然后再進行修改。 <br><br># disklabel -r -w wd1s3 auto<br># disklabel -e wd1s3<br> <br> <br><br> 在使用-w參數為分區wd1s3生成缺省的disklabel時,就必須給定磁盤的類型,通常可以使用auto ,讓系統自動檢測。除了自動偵測之外,在/etc/disktab文件中也給出了很多標準磁盤類型數據,這些數據中包括包括軟盤在內的各種磁盤類型,對于這個文件中不存在的新型磁盤,可以根據原有類型進行修改而生成新數據。通常很少需要利用這個文件中提供的磁盤類型數據來生成disklabel,使用auto參數能讓系統自動檢測磁盤的類型。極少數情況下,例如在配置偽存儲設備vn的時候,才需要使用具體磁盤類型參數。<br><br> 直接生成的disklabel僅僅包括磁盤的類型信息,以及一個使用c表示整個系統分區的空disklabel ,而沒有具體文件系統的disklabel。要真正劃分文件系統,需要再使用disklabel -e編輯更改disklabel 配置,例如增加兩個子分區,b和e,就需要為b設置類型swap的disklabel,為e設置類型4.2BSD的disklabel,而c使用的unused類型表示這個disklabel不用做文件系統或交換空間,可用于特定目的,如raw方式存取硬盤。<br><br> 注意由于要使用手工計算文件系統的大小,因此很容易發生重疊等錯誤。各個不同空間的disklabel允許重疊,例如缺省產生的以c代表的disklabel表示整個FreeBSD系統分區就會與其他disklabel的空間重疊。但是具體用做文件系統或交換空間的部分就不能重疊,否則會導致存取錯誤發生。<br><br> 保存退出后,就可以使用disklabel -r wd1s1來查看新建的代表文件系統或交換空間的label 。下面為增加之后的disklabel的最后一部分。 <br><br># size offset fstype [fsize bsize bps/cpg]<br>b: 61440 0 swap <br>c: 409536 0 unused 0 0 <br>e: 348096 61440 4.2BSD 0 0 0<br><br> <br> <br><br>然后在新建的disklabel為4.2BSD類型的空間上真正建立文件系統,需要使用newfs命令。<br><br># newfs /dev/rwd1s1e<br> <br> <br><br>執行fsck檢查剛建立的磁盤分區有無錯誤<br><br># fsck -y /dev/rwd1s1e<br> <br> <br><br>然后就可以將這個建立好的文件系統安裝到系統中了,如果建立的是交換空間,可以使用swapon命令可使該交換分區立即生效。<br><br># mount /dev/wd1s1e /mnt<br># swapon /dev/wd1s1b<br> <br> <br><br> 為了在啟動時自動安裝上這個文件系統,需要編輯/etc/fstab文件,將文件系統和交換設備加入系統,那么下次系統啟動之后,就能使用新的磁盤分區和新的交換設備了。例如新磁盤為wd1,相應FreeBSD的分區為wd1s3e (文件系統)和wd1s3b(交換分區),文件系統要安裝到系統的/disk2目錄下,則fstab應為:<br><br># Device Mountpoint FStype Options Dump Pass#<br>/dev/wd0s3b none swap sw 0 0<br>/dev/wd0s3a / ufs rw 1 1<br>/dev/wd0s3f /usr ufs rw 2 2<br>/dev/wd0s3e /var ufs rw 2 2<br>proc /proc procfs rw 0 0<br>/dev/wd1s1e /cdrom cufs rw 2 2<br>/dev/wd1s1b none swap sw 0 0<br><br> <br> <br><br> 然后就可以使用新硬盤來調整空間緊張的磁盤上的文件和目錄。此時,除了可以使用符號連接這種方式之外,還可以直接將該新建的文件系統安裝到需要的目錄下。這也是推薦的方式,因為符號連接會對文件操作的性能造成少許影響。 <br><br># cd /usr<br># mv local local.old<br># mkdir local<br># mount /dev/wd1s1e /usr/local<br># mv /usr/local.old/* /usr/local/<br><br> <br> <br><br>未完,待續。。。</font></td></tr>
<tr><td> </td></tr>
<tr><td align=right><i>來源:</i><a href="javascript:if(confirm('http://freebsd.online.ha.cn/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://freebsd.online.ha.cn/'" tppabs="http://freebsd.online.ha.cn/">http://freebsd.online.ha.cn/</a></td></tr>
</table>
<p> </p>
<p> </p>
<p> </p>
聲明:本站的文章和軟件是本人從網上收集整理的(除本人的作品之外),所有版權屬于作者,<br>
如有侵犯您的權益,請指出,本站將立即改正,謝謝.
<hr width=500>
<br>
<font color=#ffffff>Copyright 2000 <a href="javascript:if(confirm('http://www.newok.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.newok.com/'" tppabs="http://www.newok.com/" class=t1>www.newok.com</a></font>
</div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -