DRBL logo DRBL/Clonezilla進階使用 DRBL logo
DRBL common : DRBL (Penguinzilla)各個套件上(Debian/RedHat/Fedora/CentOS/Mandriva/SuSE)共同的常見問題
  1. 國網中心發展與推廣自由軟體的背景為何?
  2. Penguinzilla (DRBL) 硬體最低需求以及建議規格為何?
  3. Penguinzilla (DRBL) 是自由軟體,啥是自由軟體,和免費軟體有何差別?
  4. Penguinzilla和LTSP有何不同,我要如何選擇?
  5. 在那邊我可以下載DRBL/Clonezilla相關的程式原始碼?
  6. Penguinzilla有哪些應用範圍?我可以用在哪裡?
  7. 用戶端電腦是否真的不需要硬碟?
  8. DRBL為何要有另外一個名字叫做Penguinzilla?
  9. Penguinzilla環境中,CLIENT與SERVER是不是要用相同的網卡?
  10. 有沒有針對DRBL這樣的集中管理環境開設的訓練課程?那邊有相關的資料?
  11. 有哪些地方已經在使用Penguinzilla了?
  12. 我的學生電腦網路卡型號不知道,請問如何辨識以便下載etherboot的image檔案?
  13. 使用Clonezill還原M$ Windows後,如何讓複製出來的電腦啟動後用的hostname是不一樣的?
  14. 請問整個DRBL環境執行起來的速度大概是怎樣?
  15. 我想要貢獻我能力所及的部分,請問如何做?
  16. 我要如何停止訂閱郵件討論區?
  17. 你們是否可以開發微軟公司Windows下的無碟系統?
  18. 在DRBL用戶端的目錄,對應到server的哪裡? 各用戶端所執行的結果存檔會不會有互相覆蓋的問題?
  19. 企鵝龍的無碟環境是不是軟硬體的偷工減料 ?
  20. 我的PXE用戶端電腦開啟的時候,幾乎都出現"PXE-E51: No DHCP or proxyDHCP offers were received." 請問如何解決?
  21. Clonezilla restore結束的時候是否有可能另外執行一個程式?
  22. 在Ubuntu Breezy當DRBL環境的時候,用戶端重新開機的時候會停在最後一個步驟,請問是否有任何解決方案 ?
  23. 我複製完M$ windows之後,要如何在下次開機的時候,更改被複製電腦的序號以及安全性識別碼SID,甚至讓他自動重新抓硬體資訊 ?
  24. 如何把市售的其他還原軟體,和Clonezilla的部署搭配使用?
  25. Full DRBL, Full Clonezilla, DRBL SSI與Clonezilla Box四種模式有何不同?
  26. 如何產生不同的 freedos image 給不同的 drbl client 用?
  27. 我要如何把DRBL程式升級?
  28. 在KDE中,如何讓用戶端的電腦桌面上沒有NFS裝置的圖像?
  29. 請問我如何在DRBL的client使用vmplayer ?
  30. 如何使用DRBL套件的金鑰?
  31. 我的SiS網路卡使用PXE網路開機的時候,停在"Welcome to DRBL",請問有沒有辦法解決?
  32. 如何把自己編譯的kernel讓DRBL用戶端使用?
  33. 如果clonezilla執行的時候失敗了,我如何除錯?
  34. 我如何指定某個kernel給用戶端使用?
  35. 我有一些網卡支援RPL,請問有沒以可能換成PXE ?
  36. 我用Clonezilla來佈署M$ windows的時候,儲存範本機的M$ windows都沒問題,但是把M$ windows還原複製到其他台電腦的時候,卻出現"Missing Operating System",請問如何解決?
  37. 如何將用戶端電腦的時間校時?
  38. server的log檔中看到一個訊息"tftp: client does not accept options"。請問這有沒有影響?我是否要做啥修正?
  39. 我要怎樣才能把小一點的硬碟複製到大一點的硬碟上?
  40. DRBL環境中,是否有可能讓不同的client用不同的kernel ?
  41. 在OpenSuSE/SuSE下,我如何改變yum的儲藏庫?
  42. 我確定我的GNU/Linux套件和DRBL支援的套件相容,是否可以安裝DRBL ?
  43. 我的網路環境中已經有一個DHCP伺服器了,所以我不能再使用DRBL伺服器中的DHCP服務,請問有沒有解?
  44. 我自己寫的一個shell script,例如"myscript.sh",放到/usr/share/drbl/ocs/prerun或是/usr/share/drbl/ocs/postrun中,在啟動clonezilla的時候,我有勾選"--run-prerun-dir"或是"-o|--run-postrun-dir",但是為何clonezilla啟動或是做完clone後,不會執行?
  45. 在Clonezilla live中,我要怎麼增加一個Debian有收錄的程式,例如ncpfs?
  46. 當我系統中有兩個casper的檔案(filesystem.squashfs),請問我如何指定其中一個來開機使用?
  47. 我需要在用戶端的電腦編譯核心模組,請問怎麼做才能讓所有的用戶端電腦可以使用?
  48. 我在DRBL的用戶端找不到grub或是lilo的設定檔,請問我怎麼加核心的參數,例如acpi=off noapic ?
  49. 我如何結合自動安裝設定檔(kickstart)與DRBL的GNU/Linux網路安裝?
  50. 用Clonezilla Live來備份Asus Eee PC的時候,沒有辦法看到正體中文環境,請問怎麼解決?
  51. 有沒有可能把Clonezilla Live放到硬碟中來執行?
  52. 我要怎麼自己從無到有做一個Clonezilla live ?
  53. 當我使用Clonezilla伺服器版來使用群播(multicast)還原時,用戶端機器停在"Please Wait...", 請問是啥問題 ?
  54. 新增clinet 電腦,我有指定MAC address,該如何操作比較正確 ?
  55. DRBL的 client 端PXE開機時出現 tftp time out?
  56. 在伺服器版的Clonezilla上使用群播(multicast)複製的時候,只有一台用戶端速度很快,但是只要多於一台,速度就非常慢,如何解?
  57. 穩定版,測試版與替代版的Clonezilla live有啥差別?
  58. 我的DRBL用戶端的帳號怎麼擁有sudo的權限?
  59. 遇到某些網卡(如:EeePC 1005HA 上的 Atheros AR8132/L1c Gigabit Ethernet) 導致當 server 時用戶端有 nfs 掛載問題時如何解決?
  60. Clonezilla是否與WD先進格式化(WD Advanced Format)硬碟相容?
國網中心發展與推廣自由軟體的背景為何?
2002年5月國網中心在立法院公聽會提出國家型開放原始碼計畫的構想,計畫雖未成立,但我們秉持
理念
自由
經費
鼓勵創新,培植本土軟體資訊人材
建立資訊工業自主實力
節省政府支出,每年省下二十億以上
促進資料交換格式開放,確保資訊自由

本自由軟體實驗室認為:
自由軟體不應該在資訊教育環境中缺席。
台灣,大部分個人電腦的作業系統與辦公室軟體均為少數外商的產品,至民國89年底,政府機關與學校單位設置的個人電腦總數為1,229,276部,估計支付外商公司軟體授權費超過新台幣七十億元以上。即使付那麼多錢,我們還是要強調合法、守法與智慧財產權的觀念。

我們要教育學生合法守法的觀念,不管使用商業獨家軟體或是自由軟體。不要把盜版當作理所當然。我們的資訊教育第一堂課就應該教智慧財產權。而且要身體力行。不要說一套做一套。該付錢就付錢。

教育之所以為教育就是要學生學習能組合與創造的工具,例如數學和英文課程。我們的數學教育不會只教學生計算機的操作,我們的英文教育不會只教學生翻譯機的操作。資訊教育應該也是這樣。要學習終身受用的工具,而不是隨商業套裝軟體起舞。

我們的教育,如果只是整天教小孩子昂貴的軟體與作業系統,那學生只有兩條路,不是非常有錢來買軟體,就是作罪犯來盜版。

如果我們的老師永遠睜一眼閉一眼,小孩子從小就受這樣的教育,惡小為之,人格必定扭曲。為何要讓學生生活在那樣的環境中?

這是個法治的社會,未來也是,請教育我們的下一代,什麼叫做合法,什麼叫做守法,什麼叫做智慧財產權。我們大家一起來。
Penguinzilla (DRBL) 硬體最低需求以及建議規格為何?
以下所列的規格僅供參考,採購時可依據經費與當時最佳的設備來採購,中央政府各機關、學校委託的中央信託局集中採購案中有符合使用的設備。
伺服器最低規格:CPU 450 MHz,記憶體256 MB,fast ethernet(100Mbps)網路卡多張。建議規格:CPU 2.6 GHz,記憶體1 GB,Gigabits網路卡4張。
客戶端最低規格:CPU 300 MHz,記憶體128 MB,100Mbps網路卡,若是新購電腦的話建議直接買有支援網路開機(PXE)的網卡或是內建PXE功能網卡的主機板。
網路連接設備最低需求:100Mbps的交換器。建議規格: 以40人的電腦教室為例,兩台24埠100Mbps的交換器,每台上面另外各別有2個Gigabits ports。
Penguinzilla (DRBL) 是自由軟體,啥是自由軟體,和免費軟體有何差別?
  • 自由軟體提供程式原始碼,並允許您隨意使用,複製,修改與傳佈(UCMD (Use, Copy, Modify, Distribute))。所要求的是修改之後的程式原始碼要公開讓人自由取得,也就是修改後衍生出來的程式要繼續是自由軟體。詳見http://www.gnu.org/philosophy/free-sw.htmlhttp://www.fsf.org/philosophy/categories.html

  • 免費軟體一般只是讓使用者免費使用,使用者拿不到程式原始碼,也沒有隨意使用,複製,修改與傳佈的自由。M$ IE/Media player/M$N Messenger等就是這樣的產品。

  • "免費"只是"自由"的要素之一,自由軟體的軟體本身可以是免費的,但是如果我們只看到免費太短視。免費可能只是引誘使用者使用的餌。舉個極端的例子,如果毒梟提供鴉片讓您免費抽,您願意嗎?所以有人稱免費軟體是鴉片軟體或是綁架軟體。

  • Penguinzilla和LTSP有何不同,我要如何選擇?
    已經有LTSP了,為何還要再開發Penguinzilla? 基本上,我們分幾個部分來看:
  • LTSP是集中使用伺服器上資源,而Penguinzilla採用的是分散式的作法。LTSP的client端只做終端機使用,也就是client端開啟程式的時候,用的是server的CPU,記憶體等,client幾乎純粹只做KVMN (Keyboard, Video, Mouse, NIC)的輸入輸出。另一方面,Penguinzilla的client端是一台完整的電腦,只是硬碟在Server上而已,Penguinzilla的client我們可以想成是一台完整安裝好Linux的機器,所以client端開啟程式的時候,使用的計算資源,例如CPU, RAM等都是client端自己的。LTSP和Penguinzilla兩個我們可以比喻成一個是中央集權,另一個是地方分權。當"地方能力夠"的話,最好是用地方分權的方式,也就是Penguinzilla分散式的作法。Penguinzilla所要求的server只需中階的電腦,一台CPU 500MHZ左右的server搭配fast ethernet 的交換器就可以供目前台灣中小學電腦教室40台學生的電腦使用。同樣的配備,如果使用LTSP,可能只能供10台學生電腦使用。
  • LTSP有幾個無法克服的部分,主要就是學生電腦部分的資源使用,在LTSP環境中學生的電腦(client)上,學生無法使用光碟機來讀光碟片,您無法讓學生使用隨身碟來存取資料,還有,學生無法在他那台電腦中放出音樂等等,這些限制主要是因為在LTSP環境中,學生用的硬體資源大部分是server那台的,光碟機,USB port,音效卡等都是server的。而在Penguinzilla環境中,學生的電腦基本上就像是Linux安裝在自己的硬碟中,他可以完全的使用那台電腦的硬體資源,只不過這個硬碟是在遠端的server而已。
  • 電腦更新速度非常快,現在(以2003年而言)新購買的電腦,CPU速度都在1 GHz以上,如果做LTSP的client的話,幾乎只是用到KVMN,未能充分使用新電腦的強大資源。現在新購買的電腦基本上都可以輕易的當Penguinzilla的server。使用Penguinzilla的話,您能充分的使用Client的硬體。然而,反過來,如果舊的電腦,要資源再利用的話,LTSP就是一個好的選擇。

  • 以上的比較,我們可以看出,Penguinzilla與LTSP兩者各有所長,您不妨依照自己的需要來選擇。
    註: LTSP從5.0開始(2007年發行的),已經有類似DRBL的fat client模式了,不過DRBL和LTSP還是有不同的地方:
    (a) DRBL可以當作Clonezilla server,你可以用來大量佈署作業系統環境。
    (b) DRBL提供小型GNU/Linux無碟環境,包含Damn Small Linux (DSL), PuppyLinux...

    (c) FreeDOS無碟環境
    (d) memtest無碟環境
    (e) GNU/Linux (Debian, Ubuntu, Fedora, CentOS, Mandriva, SuSE...)給用戶端Linux網路安裝模式
    在那邊我可以下載DRBL/Clonezilla相關的程式原始碼?
    你可以在這個網址找到相關的程式原始碼:
    http://free.nchc.org.tw/drbl-core/src
    Penguinzilla有哪些應用範圍?我可以用在哪裡?
    主要看您要如何使用,這裡舉幾個例子:
    1. 電腦教室的教學環境
    2. PC Cluster環境
    3. 還原系統,使用Clonezilla (http://drbl.nchc.org.tw/redhat/desktop/techrpt.php?c=drbl-ocs&t=Clonezilla)可以做到類似Symantec Ghost? Corporate Edition大量複製作業系統的功能。
    4. 硬體測試開發,例如拿到新的PC,要試看看是否能跑Linux,或是要燒機測試,您可以用DRBL這樣的環境,不需要在那台新的電腦在安裝作業系統,只要將新的電腦設成網路開機就可以馬上跑。甚至連硬碟都可以省去。DRBL是一個相當好的開發平台。尤其是機器非常多的開發環境,可以省去複製或是安裝作業系統的時間與精力。
    用戶端電腦是否真的不需要硬碟?
    Penguinzilla (DRBL) 的用戶端電腦真的不需要硬碟,也就是沒有硬碟的話,可以運作良好。有硬碟的話,DRBL也可以拿來充分利用。如果用戶端的記憶體不是足夠的時候,透過用戶端自己的硬碟,可以產生置換檔(swap file)來當做虛擬記憶體使用。此外,你也可以將硬碟的分割區掛載上來給用戶端使用,以便做某些程式的的暫存檔案空間。
    在DRBL架構中的client端電腦,開機的時候,如果只進文字模式登入,client端大約只需要32MB的記憶體,若是要進X-windows,大概需要64MB的記憶體。再來的記憶體的需求就是應用程式的需求。
    所以如果您遇到client端開不了機,絕對不是記憶體不夠,需要硬碟來做swap,而是其他的問題。很多問題是出現在網路環境不正常,網路交換器品質不好等,不見得一定要swap,除非client端的程式要用到很多記憶體,當然,這就看client的操作行為而定。但開不了機,絕對不是需要硬碟來做swap。以某個學校為例,因為lightboot server 與 DRBL server 同時開,兩個server的dhcp service互相衝突的結果,client端就沒辦法由DRBL server來正確抓到檔案,自然就開不了機了。

    換個角度來看,電腦教室的環境我們可以區分做
    1. diskless (無碟)環境
    2. systemless (無系統)環境
    3. diskfull (完全安裝作業系統與應用程式)環境
    DRBL可以達成上述的1,2兩項。另外,透過Clonezilla,可以快速做成第3項diskfull環境的還原再生。
    DRBL為何要有另外一個名字叫做Penguinzilla?
    由於DRBL與OCS這兩個個名稱非常的抽象,也不容易記,而且中文不容易稱呼。我們決定中文叫做企鵝龍(Penguinzilla),英文還是叫做DRBL,Penguinzilla也可以是另外一個稱呼就是了。而Clonezilla取代OCS。
    在中文名稱方面,DRBL與Clonezilla不妨稱作企鵝龍與再生龍...呵呵,不要記錯,不是保麗龍喔.
    讓我們歡迎這兩個龍寶寶的誕生...
    Penguinzilla環境中,CLIENT與SERVER是不是要用相同的網卡?
    不需要相同的網路卡,以我們其中的一個例子而言,server是1張bcm4400的卡,三張rtl8139的卡,client有bcm4400, rtl8139, e100等等的卡都可以。
    只要那張卡Linux有driver,就可以使用那張卡來作DRBL的client。
    有沒有針對DRBL這樣的集中管理環境開設的訓練課程?那邊有相關的資料?
    本自由軟體實驗室針對DRBL一年有開設4次訓練課程,您可以注意本網頁的公告課程講義資料部份, 訂閱DRBL的mailing list,或是本中心的首頁。另外,我們也常常接受縣市網中心或是學校的邀請,前往擔任講師,您可以注意一下您所在區域的縣市網中心。
    有哪些地方已經在使用Penguinzilla了?
    請參考這裡
    我的學生電腦網路卡型號不知道,請問如何辨識以便下載etherboot的image檔案?
    如果您在做client的網路開機片有不易判斷client網路卡型號的困擾,這裡有一個解決方案,就是利用一片軟碟開機片找出學生client的網路卡型號,請參考安裝文件的第四步驟.
    使用Clonezill還原M$ Windows後,如何讓複製出來的電腦啟動後用的hostname是不一樣的?
    請參考 "drbl-winRoll 安裝"。drbl-winRoll 提供整合且便潔的解決工具。

    以下為舊有資料,如果你仍需參考:

    Clonezilla無法直接修改M$ Windows partition中的檔案來做到這樣的目的,所以您必須在做母片(指當範本的機器)之前,先在該台電腦植入一個程式,以便那個映像檔複製給其他台電腦後,那些電腦自動開機後改hostname。作法如下:
    步驟一. 安裝Cygwin
    (1). install cygwin
    http://sources.redhat.com/cygwin
    http://sources.redhat.com/cygwin/setup.exe
    務必安裝
    (a). Admin -> cygrunsrv, shutdown
    (b). Net -> openssh
    其他就照預設的.

    (2). 設定環境變數,選定NTSEC
    開始->控制台->系統(若是一般user,請點選,然後按shift+mouse 右鍵A選執行為,然後輸入root的帳號及密碼)->進階->環境變數->系統變數->新增
    CYGWIN=ntsec tty
    以及在PATH的地方,在最後面加上";c\cygwin\bin",也就是變成例如這樣:
    %SystemRoot%\system32;%SystemRoot%;c:\cygwin\bin
    註: 以上的"CYGWIN=ntsec tty"是將security上設為與NT的security相關,也就是user的權限等是依照NT的user權限來開。
    注意:檔案權限等只有在檔案系統為NTFS時才有用,若為FAT/FAT32就沒有檔案權限的關係全部只與login的user有關

    (3). 安裝完後執行
    ssh-host-config
    會問你要不要安裝成service,選yes

    步驟二. 要讓開機之後自動將機器的hostname改成唯一的一個名字:
    (1). 點這裡下載chkhostname.reg, chkname.sh,以及wsname.exe。然後在M$ Windows中,將chkhostname.reg點兩下,這會在開機的時候執行一個程式chkname.sh,來判斷hostname是否不同,如果不同就透過wsname.exe改名,經hostname改成IP addresss轉換過來的名字(例如192-168-1-1)

    點選完chkhostname.reg之後,請在M$ Windows下執行regedit,看一下其中的 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
    是否有chkname,沒有的話,就是您下載下來的chkhostname.reg檔案並不是unicode,請轉成unicode,然後重新點兩下chkhostname.reg
    (2). 將chkname.sh與wsname.exe copy到c:/cygwin/bin下,

    (3). 將機器設成autologin,這樣重新開機後才能自動執行chkname.sh
    ----------------------------------------------------------------------
    這裡可以參考微軟網頁中的說明:
    http://support.microsoft.com/default.aspx?scid=kb;en-us;315231
    (a). 選開始->執行->如果是WinXP,請輸入"control userpasswords2",如果是Win2K請輸入"control userpasswords",然後選確定.
    (b). 不要勾選"必須輸入使用者名稱和密碼,才能使用這台電腦",這樣就可以自動登入.
    ----------------------------------------------------------------------

    (4). 如果您想要從DRBL server直接下指令來控制用戶端的電腦(指的是作業系統是M$ Windows),您必須完成這個步驟以及步驟(5)
    在DRBL server產生root的ssh key (如果你還沒產生的話)
    ssh-keygen -d
    然後就會在.ssh下產生兩個檔
    id_dsa id_dsa.pub
    然後將id_dsa.pub 傳到範本機器中,管理者(administrator)的家目錄下的.ssh目錄(一般是c:\cygwin\home\Administrator\.ssh\)中,存成
    authorized_keys
    (.ssh目錄如果你沒用administrator帳號執行過ssh的話,要自己建)
    另外,建議加一個root帳號,權限和Administrtor一樣,也將
    id_dsa.pub傳到cygwin機器中的root/.ssh/中,存成authorized_keys

    (5). 現在可以試看看是否可以由server端下指令直接執行範本機器,例如:
    ssh administrator@computer_M_IP date
    computer_M_IP指的是範本機器的IP(照上例的話,這裡就不需輸入密碼)。如果會顯示出範本機器的時間就代表您成功了。
    註1:
    chkhostname.reg內容(務必確認為Unicode),注意:這個語法只符合M$ Win 2k, XP:
    ----------------------------------------------------------------------
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
    "chkname"="c:\\cygwin\\bin\\sh.exe c:\\cygwin\\bin\\chkname.sh"
    ----------------------------------------------------------------------

    chkname.sh內容
    ----------------------------------------------------------------------
    #!/bin/sh
    IP=$(ipconfig |grep "IP Address"|cut -d":" -f2|sed -e "s/\./-/g" -e "s/ //g")
    echo "IP:$IP"
    while [ "$IP" = "0-0-0-0" -o "$(echo $IP | cut -d- -f1)" = "169" ]
    do
    ipconfig /renew
    IP=$(ipconfig |grep "IP Address"|cut -d":" -f2|sed -e "s/\./-/g" -e "s/ //g")
    echo "IP:$IP"
    done
    HNAME=$(hostname)
    echo "Hostname:$HNAME"
    if [ "$HNAME" != "$IP" ]; then
    echo "The hostname is not the right one... we will change it!"
    echo "Then reboot the machine to make it work!"
    sleep 5
    wsname.exe /N:%IP /REBOOT
    fi
    ----------------------------------------------------------------------
    wsname.exe可以在這裡下載:
    http://mystuff.clarke.co.nz/

    ----------------------------------------------------------------------
    註2:
    如果要在server強迫reboot or shutdown
    在DRBL server中:

    下指令將Client reboot:
    a. client為M$ windows機器
    drbl-doit -u administartor /usr/bin/reboot -f now

    b. client為DRBL client機器
    drbl-doit -u root /sbin/reboot

    下指令將Client關機:
    a. client為M$ windows機器
    drbl-doit -u administartor /usr/bin/shutdown -f now
    b. client為DRBL client機器
    drbl-doit -u root /sbin/shutdown -f now

    ----------------------------------------------------------------------
    註3.
    如果不想用regedit的方式來自動執行,或是在Win98中,可以放一個批次檔到 開始->程式集->啟動中,例如此批次檔為run_ckhn.bat
    ---------------------------------------------
    set PATH=%PATH%;c:\cygwin\sbin;c:\cygwin\bin
    c:\cygwin\bin\sh.exe c:\cygwin\bin\chkname.sh
    ---------------------------------------------
    不過這樣就是每次使用者登入的時候都會執行這個批次檔。
    請問整個DRBL環境執行起來的速度大概是怎樣?
    例子1:
    這是新竹縣湖口國小DRBL環境時執行的狀況(感謝Net Shu與該校簡老師提供的資料):
    1. 湖口國小DRBL教室共有學生電腦41部,以兩部Giga Bits Switch方式將Clients的實體連接網段區分(192.168.1.0/24 -> Switch 1,192.168.2.0/24- Switch 2),
    開機測試結果:41部Clients全開約2.5 Min.(含Clients首次開機時偵測X Window的畫面)。
    2. OpenOffice開啟空白文件,並寫入資料後儲存加以測試,估計開啟OpenOffice約需 45Sec.寫入(儲存)約需2~3Sec.(單部)。

    例子2:
    這是台北縣大豐國小DRBL環境時執行的狀況(感謝該校老師T.C LIN提供的資料):
  • 無硬碟主機主要配備:
    1. )主機板:技嘉 GA-8LD533
    2. )CPU:P-4 2.4GHz
    3. )RAM:DDR-RAM 256MB x 2
    4. )硬碟:IDE Segate 80GB 7200RPM
    5. )網路卡:rtl8139 x 1 , Intel 10/100/1000 x 2
  • 網路中繼設備:
    1. )交換器:Giga Port x 1, 10/100 RJ-45 x 24, 合計二台
  • 學生機配備:
    1. )擴大內需電腦,國眾
    2. )CPU:K6-II 350MHz
    3. )RAM:SDRAM 128MB x 1
    4. )硬碟:6.4GB -- 原 Windows 98、RedHat 9.0 不作任何更動
    5. )網路卡:rtl8139 x 1
    6. )連線方式:磁片開機,連線至無硬碟主機開機後登入系統使用
  • 目前使用情況:
    1. )學生機全部開機完成需時 2分30秒
    2. )openoffice.org writer 第一次開啟需時 3分30秒,關閉後再開啟只要 1分15秒。
    3. )操作滑鼠時有時會 Delay 但應還在可以接受的範圍。
    4. )進入螢幕保護模式再返回時反應較慢。

    例子3:
    使用的server是1.6GHz的CPU, RAM 256MB,client是350MHz的CPU, RAM 128 MB,在只有一台client連接的狀態下,client開啟Openoffice.org 1.1RC5中文版需要1.5分鐘左右是否正常?(感謝宜蘭縣中華國中趙老師提供的測試數據)
    我們的經驗,以這樣的設備,跑DRBL for Debian,client使用KDE 3.1,如果設定與硬體選擇都適當的話,只有一台client連接的狀態下,client端開啟一個Openoffice.org約需30-40秒,所以請確認
    1. Server硬碟的udma是否有開啟,如未開啟,請將其開啟。
    2, 網路卡是否為10/100 Mbps的卡?網路交換器是否為10/100 Mbps的switch?簡單的檢查方式就是拿10/100 Mbps的switch,插上網路線後檢視switch的訊號燈,是否為100 Mbps。
    我想要貢獻我能力所及的部分,請問如何做?
    我們發展Penguinzilla (DRBL) 企鵝龍是本著自由軟體的精神發展,所以如果您願意貢獻的話,可以有以下幾個方式:
    1.最好的方式就是加入發展,測試與使用,發現問題的時候,盡快告訴我們。
    2.當然,如果您覺得上述那樣還是不夠的話,您可以寄個卡片,鼓勵我們一下。學校或是公家機關的話,也可以來個簡單的感謝函,讓我們的長官瞭解與肯定我們的工作內容。
    3.如果您是公司行號,想要捐一些硬體或是經費供我們發展DRBL,我們也是樂意接受。請聯絡我們,謝謝。
    我要如何停止訂閱郵件討論區?
    請到
    http://opensource.nchc.org.tw/mailman/listinfo/drbl
    最底下
    DRBL Subscribers
    To change your subscription (set options like digest and delivery modes,
    get a reminder of your password, or unsubscribe from linux), enter your
    subscription email address:
    輸入您的email address之後,選Edit Options,然後輸入密碼,選Unsubscribe。
    如果忘記密碼或是不知道密碼的話,底下還有一個Email My Password To ME,按
    下去,系統就會寄密碼給你(收件的電子郵件住址就是您剛剛輸入的那個)。
    你們是否可以開發微軟公司Windows下的無碟系統?
    透過AoE (ATA over Ethernet)機制,有機會可以達成這樣的方式,實做上本實驗室也完成,可以參考這裡。不過此法在用戶端機器多台時,效能不佳,故僅為實驗性驗證可行性的作法,無法在一般20到30台學生機的電腦教室使用。
    在DRBL用戶端的目錄,對應到server的哪裡? 各用戶端所執行的結果存檔會不會有互相覆蓋的問題?

    下表標示DRBL環境中,client目錄的位置與server上對應的位置,以及client讀寫權限。由此表可以知道,除了/home與/var/spool/mail外,彼此並沒有覆蓋的問題。而/home與/var/spool/mail是根據使用者帳號而定,如果同一個帳號在不同的用戶端登入,會造成部分檔案重疊。因此,使用同一帳號在不同的用戶端登入時請注意。同時,也不建議用同一帳號在不同用戶端登入X-window環境。
    -------------------------------------------------------------
    client目錄的位置   server上對應的位置          client讀寫權限
    /etc               /tftpboot/nodes/$IP/etc     RW
    /root              /tftpboot/nodes/$IP/root    RW
    /var               /tftpboot/nodes/$IP/var     RW
    /dev               /tftpboot/nodes/$IP/dev     RW
    
    /                  /tftpboot/node_root         RO
    /usr               /usr                        RO
    /opt               /opt                        RO
    /home              /home                       RW
    /var/spool/mail    /var/spool/mail             RW
    /var/lib/rpm       /var/lib/rpm                RO
    
    
    註: $IP表示client的IP address RW表示client可以對該目錄讀寫 RO表示client只能對該目錄讀
    企鵝龍的無碟環境是不是軟硬體的偷工減料 ?
    我們發展DRBL這個自由軟體環境並不是特別針對老舊電腦的使用而發展的,而是為了解決減少管理多台電腦的重複勞力工作。

    現在愈新的電腦,如果習慣使用Linux,就愈適合使用DRBL環境。

    電腦教室的環境可以區分做
    1. diskless (無碟)環境
    2. systemless (無系統)環境
    3. diskfull (完全安裝作業系統與應用程式)環境
    DRBL可以達成上述的1,2兩項。另外,透過DRBL內建的Clonezilla,可以快速做成第3項diskfull環境的還原再生。

    採用無碟或是無系統環境不是壞處,NCHC的PC Cluster,使用的主機都是昂貴的設備,一台價格可以在新台幣五萬元以上,可是我們還是會採用無碟或是無系統的環境。為何這樣做?因為這樣可以減少一次管理幾十台到幾百台的勞力。但是如果是個人要用的主機或是筆記型電腦,我們還是會裝上作業系統。這是因地制宜。

    無碟或是無系統,真的不是壞處,真的不是偷工減料。如果您使用Linux,如果您一次管理幾十台到幾百台同性質的電腦,您真的會愛上DRBL。更何況,不用花任何一毛錢在軟體的授權費上面,或是,不用當盜版的罪犯。
    我的PXE用戶端電腦開啟的時候,幾乎都出現"PXE-E51: No DHCP or proxyDHCP offers were received." 請問如何解決?
    這個問題的緣由以及解決方式:
    1. DHCP server設定有問題,或是service沒有啟動或是當掉了。請檢查DHCP server的設定或是重新啟動dhcp server看看。
    2. 網路線接錯了,沒有接到和提供PXE服務的DRBL server的網路卡同一個switch上面。
    3. 如果是高階的switch的話,要把switch中的spanning-tree calculation關掉,要不然在用戶端電腦開機的時候就會因為這個計算而造成網路暫時不通。以致於用戶端電腦沒有辦法成功取得IP位址。
    ref:
    http://h18004.www1.hp.com/products/servers/management/rdp/knowledgebase/00000138.html
    Clonezilla restore結束的時候是否有可能另外執行一個程式?
    是的,不過dcs並沒有提供這些參數,你可以使用clonezilla的主程式drbl-ocs如下:
    drbl-ocs -l 0 startdisk restore -p "mount -t ntfs /dev/hda1 /mnt; chntpwd...; reboot -f -n"
    更多的選項,您可以執行"drbl-ocs --help"來參考。
    在Ubuntu Breezy當DRBL環境的時候,用戶端重新開機的時候會停在最後一個步驟,請問是否有任何解決方案 ?
    這是核心的問題,在有些機器上會出現的問題。請參考:
    http://ubuntuforums.org/showthread.php?t=85379
    也許"reboot=h"可以適用您的環境,您可以把這個參數加到這個檔案/tftpboot/nbi_img/pxelinux.cfg/default中:
    ---------------
    label drbl
    MENU DEFAULT
    # MENU HIDE
    MENU LABEL Clonezilla: unicast restore to primary IDE HD partition 1 (hda1)
    # MENU PASSWD
    kernel vmlinuz-pxe
    append initrd=initrd-pxe.img ramdisk_size=12288 devfs=nomount drblthincli=off selinux=0 reboot=h
    ---------------
    然後把用戶端電腦重新開機後就不會有這個問題了。
    我複製完M$ windows之後,要如何在下次開機的時候,更改被複製電腦的序號以及安全性識別碼SID,甚至讓他自動重新抓硬體資訊 ?
    請參考 "drbl-winRoll 安裝"。drbl-wiinRoll 以提供自動主機名稱、自動群組名稱即自動 SID 更新之功能。

    如果需要重新參測硬體您可以參考 M$的網頁:
    如何使用Sysprep 工具自動實現Windows XP 的成功部署
    http://support.microsoft.com/?scid=kb;zh-tw;302577
    http://support.microsoft.com/default.aspx?scid=kb;en-us;302577&sd=tech
    http://support.microsoft.com/default.aspx?scid=fh;ZH-TW;sfaq7300a#16
    或是:
    http://www.wells.hk/ws_toolsdetail.php?tools_id=1103100959

    如何把市售的其他還原軟體,和Clonezilla的部署搭配使用?
    一般還原軟體,也就是開機瞬間就幫你回復前一個還原點的軟體,有很多,例如軟體王可以找到的:
    http://www.softking.com.tw/soft/review.asp?fid1=1&fid2=317
    其中,常見的有
    Pro-Magic
    http://www.softking.com.tw/soft/clickcount.asp?fid3=14272
    還原精靈
    http://ec.softking.com.tw/sale/index.asp?id=244
    東石虛擬還原
    http://www.softking.com.tw/soft/clickcount.asp?fid3=7909
    DeepFreeze
    http://www.faronics.com/
    這些還原軟體,如果你想要和Clonezilla搭配使用的時候,務必要選用單機版的。因為,網路版的將會造成混亂,還原後所有的機器該軟體的辨識碼等都一樣,這樣用戶端硬碟中的作業系統就無法和網路版主機溝通,也就會開不了機了。那為何有這些還原軟體,還要用Clonezilla? 簡單來說,就是安裝新軟體的時候,只要找一台範本來安裝,然後用Clonezilla複製。也就是把上述還原軟體"單純"只是用來保護每台電腦硬碟的狀態,不讓使用者亂搞。採用Clonezilla來部署,比上述還原軟體部署的速度來的快多了。
    搭配Clonezilla的作法:
    1. 作一台範本機器,安裝或是所有的應用程式,更新病毒碼等,並且建議安裝drbl-winRoll。
    2. 把上述其中一套的還原軟體安裝上去,並且開啟保護功能。如果還要搭配drbl-winRoll的話,這時候先把還原軟體解除。
    3. 再讓Clonezilla存成範本。
    4. 用clonezilla restore完clone。如果有安裝drbl-winRoll的話,把學生機開機,讓drbl-winroll自動把學生機的機器名稱改掉,然後他會自動重新開機。開完機之後,才一台一台把還原軟體開啟來保護。
    這樣,每台就已經受到保護了。
    Full DRBL, Full Clonezilla, DRBL SSI與Clonezilla Box四種模式有何不同?
    Full DRBL Full Clonezilla DRBL SSI Clonezilla Box
    用戶端/etc與/var目錄 NFS-based NFS-based tmpfs-based tmpfs-based
    用戶端/etc與/var下開機後修改過的檔案於重新開機後 保留 保留 消失 消失
    每增加一台用戶端時伺服器需要額外的空間 ~ 50 MB ~ 50 MB 0 0
    伺服器每張網路卡最多能提供的用戶端數目 253 253 253 253

    如何產生不同的 freedos image 給不同的 drbl client 用?
    * 以下建議以 root 身份執行
    1. 複製新的 freedos image
    $ cp /tftpboot/nbi_img/fdos1440_drbl.img /tftpboot/nbi_img/fdos1440_drbl-new.img
    2. 掛載並編輯(以編輯 autoexec.bat 為例)
    $ mkdir /mnt/tmpimage
    $ mount -o loop /tftpboot/nbi_img/fdos1440_drbl-new.img /mnt/tmpimage
    
    $ vi /mnt/tmpimage/autoexec.bat 
    @ECHO OFF
    CLS
    ECHO Welcome to FreeDOS (http://www.freedos.org)!
    
    REM Start your script 
    date /D
    ECHO Hello my drbl client !
    set
    
    $ umout /mnt/tmpimage
    
    3. 編輯  /tftpboot/nbi_img/pxelinux.cfg/default
    label fdos
    # MENU DEFAULT
    MENU HIDE
    MENU LABEL FreeDOS01
    # MENU PASSWD
    kernel memdisk
    append initrd=fdos1440_drbl.img
     
     label fdos02
     # MENU DEFAULT
     MENU HIDE
     MENU LABEL FreeDOS02
     # MENU PASSWD
     kernel memdisk
     append initrd=fdos1440_drbl-02.img
    
    4. 執行 "dcs" 中的 switch-pxe-menu 來開啟選單
    
    我要如何把DRBL程式升級?
    請參考這裡
    在KDE中,如何讓用戶端的電腦桌面上沒有NFS裝置的圖像?
    如果要全系統使用者都適用的話,
    /usr/share/config/kdesktoprc
    ...
    [Media]
    enabled=true
    exclude=media/hdd_mounted,media/floppy5_unmounted,media/floppy_unmounted,media/hdd_unmounted/
    append

    改成
    ...
    [Media]
    enabled=true
    exclude=media/hdd_mounted,media/floppy5_unmounted,media/floppy_unmounted,media/hdd_unmounted/nfs_mounted,media
    ----------
    也就是加上"nfs_mounted,media", 這樣新建的帳號登入KDE以後桌面上就不會有NFS圖像。

    如果已經登入的使用者,請:
    桌面上空白處,按滑鼠右鍵,設定桌面(configure desktop) -> 行為(behavior) -> 裝置圖像(device icons) -> 把mounted NFS share這個部份不要勾選。
    也可以直接改他的~/.kde/share/config/kdesktoprc檔案如上述。然後用drbl-cp-user來複製給所有使用者。
    請問我如何在DRBL的client使用vmplayer ?
    感謝許議中先生提供以下的資料。
    您好:

    以下是在下在DRBL中使用VMplayer的一些歷程:

    server:
    cpu: intel p4 2.8. cg
    HDD: 80GB. Raid-1.
    RAM: 512MB * 2.
    安裝前已有相當多的應用在執行, 包含mail tomcat http proxy antivirus
    iptables...剩餘hdd約35G.

    client:

    cpu: c4 2.1
    hdd: none
    RAM: 384MB.
    All in one MB.

    VMPlayer 安裝時必須針對kernel類型做Compiler, 所以要在DRBL安裝, 必須
    Server與Clinet同一個kernel與同一個CPU類型(386 586 686 x86_64).
    安裝後可以將Server的Kernel換回原來的(但這樣就無法在server執行VMPlayer).

    0. 在VMware workstation安裝一個windows, 安裝時虛擬機的RAM設為128MB, HDD
    設為4GB.

    1. 先在drbl Server 安裝vmplayer(vmware-config.pl).

    2. drblsrv -i

    您用戶端的電腦要使用哪個等級CPU的核心? [0/1/2]
    0 -> 使用i386 CPU等級架構
    1 -> 使用i586 CPU等級架構
    2 -> 使用與此DRBL伺服器同等級CPU的核心

    要選2.

    3. 執行drblpush -i.

    4. drbl-rm-host /etc/vmware/not_configured 將所有客戶端的
    /etc/vmware/not_configured 刪除

    5. drbl-client-service vmware on 將client端vmware服務預設
    打開, 若kernel或cpu類型不同, 這裡就會當下來.

    6. 進入/tftpboot/nodes/xxx.xxx.xxx.xxx/etc 編輯 fstab 將tmp 盡可能加大
    tmpfs /tmp tmpfs size=360m 0 0

    7. 進入VMPlayer, 進入Windows, 控制台, 系統 進階 效能設定: 將視覺效果設為
    最佳效能, 進入進階將處理器排程與記憶體使用量都調為程式.

    經過實測: 除開關檔案與網路傳輸有關的動作外, 一般的操作反應速度與傳統架構
    無異, 甚至更佳(因為使用tmpfs的關係)

    如果可以的話, 不要啟動主機的X-Windows, 到/etc/inittab
    id:5:initdefault:
    改成
    id:3:initdefault:

    這樣可以節約大量主機記憶體, 提高效率.
    johnson
    如何使用DRBL套件的金鑰?
    如果您的套件支援金鑰管理(例如Ubuntu dapper或是Debian Etch),可以先安裝DRBL的金鑰,這樣可以進一步確認您安裝的程式是本計畫所發行的程式。
    A. Debian之類的套件有兩個方式可以來安裝。方法1: "wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; apt-key add GPG-KEY-DRBL" 。方法2: 或是由key server下載,KeyID是D7E8DF3A,可以這樣執行"gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A",然後再執行"gpg -a --export D7E8DF3A | apt-key add -".
    B. Fedora等系列使用Yum的套件,您可以把/etc/yum.repos.d/drbl*.repo檔案中加上這兩行
    gpgcheck=1
    gpgkey=http://drbl.nchc.org.tw/GPG-KEY-DRBL
    這樣,使用yum的時候,yum會自己匯入DRBL的金鑰。當然,您也可以自己這樣手動加入:
    方法1: "wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL" 。方法2: 由key server下載,KeyID是D7E8DF3A,可以這樣執行"gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A",然後再執行"gpg -a --export D7E8DF3A > GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL".
    這樣,以後在安裝DRBL相關的程式的時候,就多了一層保障。
    我的SiS網路卡使用PXE網路開機的時候,停在"Welcome to DRBL",請問有沒有辦法解決?
    如果你的畫面是類似這裡,請參考這裡的已知問題來解決.
    如何把自己編譯的kernel讓DRBL用戶端使用?
    例如,您自己做的kernel名稱是 2.6.11-1.steven
    a. 把這些檔案放到相關位置
    DRBL server的/boot中要有這三個檔案
    System.map-2.6.11-1.steven
    config-2.6.11-1.steven
    vmlinuz-2.6.11-1.steven
    DRBL server的/lib/modules中要有您compile的整個kernel module(目錄下所有的檔案都要)
    /lib/modules/2.6.11-1.steven
    b. depmod -a 2.6.11-1.steven (再確認一次而已,如已經做過了,一般來說不需要)
    c. /usr/sbin/mknic-nbi -a -k 2.6.11-1.steven -i i686
    -a 在舊版的要寫,新版的(DRBL 1.3.11-17)之後就不用寫了
    -k 後面指定的就是您的kernel名稱
    -i 指定client要用的CPU arch,這個是幫忙確認是否指定的kernel符不符合,也是設定用戶端要用的CPU arch
    如果clonezilla執行的時候失敗了,我如何除錯?
    0. 使用dcs來切換成你要的模式,例如clonezilla-start -> save disk,然後你回得到一個drbl-ocs的完整指令,例如:
    "drbl-ocs --clients-to-wait 1 -x -z3 -l en startdisk save".
    1. 在server上執行dcs -> remote-linux-txt
    2. 將用戶端開機
    3. 用戶端開機完成,可以登入的文字模式畫面出現後,在server上,執行上述的指令,只是這一次多加兩個參數:"-p true -nogui", 所以完整指令如: "drbl-ocs -p true -nogui -v --clients-to-wait 1 -x -z3 -l en startdisk save".
    4. 登入用戶端
    5. 在用戶端, 執行 "bash -x /etc/rc1.d/S19ocs-run -d start",你就可以看到詳細的執行過程。
    我如何指定某個kernel給用戶端使用?
    在安裝DRBL的時候,有兩種方式可以選用,一是用伺服器正在使用的核心,另一個是下載核心的rpm或是deb程式來讓用戶端使用:
    (1)drblsrv-offline -s `uname -r`
    這裡表示要用目前DRBL伺服器正在使用的核心給用戶端使用。
    (2)如果你要指定某個kernel rpm給用戶端使用,可以先下載該rpm,例如kernel-2.6.18-8.1.4.el5.i686.rpm,然後執行:
    drblsrv-offline -k kernel-2.6.18-8.1.4.el5.i686.rpm
    <注意>您選定的kernel必須要能符合用戶端的CPU,如果不確認的話,可以用i586的核心比較保險,但是,當然就會喪失去最佳化。
    更多選項可以執行drblsrv-offline -h"來得到。
    我有一些網卡支援RPL,請問有沒以可能換成PXE ?
    一般來說,支援RPL的網卡也支援PXE,所以你可以透過更改BIOS或是網路卡中的設定就可以了。以Realtek的8139螃蟹卡為例,在開機的時候,你可以按"SHIFT+F10" 來進入網路卡的設定表中來調整。完整一點的例子在這裡:
    http://www.embeddedpc.net/doc/eBox_Boot_ROM_setup_manual.pdf
    但是,有一些非常舊的卡,只支援RPL,這樣的話,你就只能改用硬碟/光碟/軟碟中etherboot或是買一張支援PXE的網路卡了。
    我用Clonezilla來佈署M$ windows的時候,儲存範本機的M$ windows都沒問題,但是把M$ windows還原複製到其他台電腦的時候,卻出現"Missing Operating System",請問如何解決?
    一般來說,這樣的問題是出在GNU/Linux和M$ windows對於硬碟的CHS (cylinder, head, sector)定義不同而造成的。幾個可能的解決方式:
    1. 也許你可以調整一下用戶端電腦的IDE硬碟參數,改成LBA模式,而不要使用auto模式。
    2. 還原的時候,把
    [ ] -j0 使用dd來產生分割區而不用sfdisk
    以及
    [ ] -t1 使用dd來產生分割區表(不適用邏輯磁區存在時)
    同時勾選起來. 4. 你可以用MS Windows XP的安裝光碟開機,進入救援模式(開機時按F10),然後再終端機中,執行"fixmbr"來修正看看。另外一個指令"fixboot"也許也會有幫助。更多的訊息可以參考這裡
    5. 使用ntfsreloc來調整NTFS分割區檔案系統中的CHS對應值。更多訊息參考http://www.linux-ntfs.org/doku.php?id=contrib:ntfsreloc
    如何將用戶端電腦的時間校時?
    你必須開啟ntp服務。以Ubuntu為例,
    1. 在DRBL server上安裝ntp-server服務: "apt-get install ntp-server"
    2. 將新安裝的ntp service再佈署給用戶端: "dcs -> others -> re-deploy"
    3. 將用戶端的ntp-server服務開啟: "drbl-client-service ntp-server on"
    這樣,每次用戶端開啟的時候,就會自動透過NTP伺服器來校時。
    server的log檔中看到一個訊息"tftp: client does not accept options"。請問這有沒有影響?我是否要做啥修正?
    這是client端PXE網路卡所常遇到的訊息,用戶端的PXE網卡"they request a tsize option transfer to gauge the size of the file, then terminate it with EOPTNEG",所以不需要理會。詳情請參考這裡:http://syslinux.zytor.com/archives/2003-June/002093.html
    我要怎樣才能把小一點的硬碟複製到大一點的硬碟上?
    再生龍Clonezilla沒有辦法從大硬碟/分割區複製到到小硬碟/分割區,但是的確可以有小硬碟/分割區到大硬碟/分割區。三種作法提供參考:
    方法(1):
    0. 把小硬碟的檔案用Clonezilla存到Clonezilla server上。
    1. 用Clonezilla做一次正常的複製。也就是不改變任何大小,直接先複製。
    2. 複製完後,用gparted來調整大小。 你可以在DRBL伺服器上預先安裝好gparted,然後把用戶端開機成remote-linux-gra模式(dcs中的模式), 然後用root登入用戶來執行gparted。或者你可以使gparted LiveCD 或是 gparted LiveUSB來用戶端開機來調整大小。
    方法(2):
    0. 把小硬碟的檔案用Clonezilla存到Clonezilla server上。
    1. 準備好一個硬碟的分割表(你可以手動用fdisk來切目的機器的硬碟,然後用"sfdisk -d /dev/hda > pt.sf"來產生這個分割表。或者, 你如果熟的話,可以直接自己手動編輯那個檔案),然後把原來的分割表備份(/home/partimag/$IMA_NAME/pt.sf),然後把你產生的分割表覆蓋掉/home/partimag/$IMA_NAME/pt.sf.
    2. 現在在伺服器上使用dcs -> clonezilla-start -> clonezilla-restore-disk,然後記得把-r選起來
    3. 把用戶端開機,讓他還原吧,完成後,就有一個大的檔案系統了。
    方法(3):
    0. 把小硬碟的檔案用Clonezilla存到Clonezilla server上。
    1. 把目的機開機成DRBL的用戶端模式,也就是在server上執行dcs -> remote-linux-txt.
    2. 用root登入目的機器,使用fdisk來產生你要的分割區。記得每個分割區都要比原來的來的大。
    3. 現在在伺服器上,執行dcs -> clonezilla-start -> clonezilla-restore-disk,記得選-k與-r.
    4. 把用戶端開機,讓他還原吧,完成後,就有一個大的檔案系統了。
    以上是假設你是複製NTFS, FAT或是EXT2/EXT3。這些對應的程式,DRBL都已經幫您安裝了。如果是其他檔案系統,例如 reiserfs, xfs 或 jfs,相對應的程式你要自己安裝。
    DRBL環境中,是否有可能讓不同的client用不同的kernel ?
    可以,但是需要手動調整;
    1. 必須要有kernel,vmlinuz與initrd放在/tftpboot/nbi_img/下
    2. 必須要有modules, 放在/tftpboot/node_root/lib/modules/下
    3. 根據/tftpboot/nib_img/pxelinux.cfg/default來改,然後依照client的IP address 或是MAC address給檔名,存在/tftpboot/nib_img/pxelinux.cfg/下。。以MAC address為例,例如Client的MAC address是"00:C0:26:27:71:99",那檔名就要加一個01在前面,取成"01-00-C0-26-27-71-99"。如果要根據IP address來鎖定的話,要換算一下,有程式可以幫忙,例如IP address是192.168.1.1,那可以用 gethostip 192.168.1.1來算,算出來的結果是C0A80101。所以就是用檔名/tftpboot/nbi_img/pxelinux.cfg/C0A80101。
    PS. 1, 2的部份,可以利用drblsrv-offline來協助,自己先下載好kernel的rpm or deb,然後利用"drblsrv-offline -k kernel-...rpm"或是"drblsrv-offline -k linux-image-...deb"
    在OpenSuSE/SuSE下,我如何改變yum的儲藏庫?
    1. 為了避免混淆,先清除/etc/yum.repos.d/下所有的*.rep:
    rm -f /etc/yum.repos.d/*
    2. 修改/usr/share/drbl/setup/yum-repos/下的*.repo, 把opensuse*.repo或drbl*.repo改成你要的。例如,你的套件是OpenSuSE 10.2,那可以類似這樣修改/usr/share/drbl/setup/yum-repos/opensuse-updates-10.2.repo:
    --------------------------------------------------------------
    [updates]
    name=OpenSuSE $releasever updates packages
    baseurl=http://ftp.twaren.net/Linux/SuSE/update/$releasever/
    enabled=1
    gpgcheck=1
    --------------------------------------------------------------
    以及/usr/share/drbl/setup/yum-repos/opensuse-10.2.repo:
    --------------------------------------------------------------
    [base]
    name=OpenSuSE $releasever packages
    baseurl=http://ftp.twaren.net/Linux/OpenSuSE/distribution/$releasever/repo/oss/suse/
    enabled=1
    gpgcheck=1
    --------------------------------------------------------------
    我確定我的GNU/Linux套件和DRBL支援的套件相容,是否可以安裝DRBL ?
    可以,只要在安裝步驟<2b>用drblsrv-offline的方式來做即可,其餘的步驟還是和原來的相同。以下我們分別以Scientific Linux 5.0和M6為例。

    一、以Scientific Linux 5.0為例,它和Fedora/CentOS相容,所以也可以安裝DRBL。以下為安裝的說明:
    a. 依照網頁的安裝方式,步驟<2a>先安裝DRBL的GPG key(GPG-KEY-DRBL)與rpm程式(drbl-current.rpm)
    b. cp /usr/share/drbl/setup/yum-repos/drbl.repo /etc/yum.repos.d/
    c. 建議開啟GPG key的檢查,也就是將
    /etc/yum.repos.d/sl.repo與/etc/yum.repos.d/sl-security.repo中的
    gpgcheck=1
    d. 使用"drblsrv-offline -r"來看需要自己手動安裝哪些必要的程式。
    e. yum install dhcp tftp-server nfs-utils ypserv ypbind yp-tools mkinitrd ntp firstboot iptables wget dialog initscripts rsync parted tcpdump bc grub dos2unix curl lftp openssh-server openssh-clients coreutils gzip bzip2 nc file ethtool net-tools syslinux
    yum install mkpxeinitrd-net clonezilla drbl-partimage drbl-ntfsprogs drbl-chntpw drbl-lzop udpcast drbl-etherboot freedos
    yum install lvm2 ntfs-3g
    f. drblsrv-offline -s `uname -r`
    這裡表示要用目前DRBL伺服器使用的kernel給用戶端使用。如果你要指定某個kernel rpm給用戶端使用,可以先下載該rpm,例如kernel-2.6.18-8.1.4.el5.i686.rpm ,然後執行:
    drblsrv-offline -k kernel-2.6.18-8.1.4.el5.i686.rpm
    更多選項可以執行drblsrv-offline -h"來得到。
    <注意>您選定的kernel必須要能符合用戶端的CPU,如果不確認的話,可以用i586的核心比較保險,但是,當然就會喪失最佳化。
    g. drblpush -i
    執行過程可能會遇到一些警告,不過一般來說無妨。
    二、再以 Opendesktop 計畫所釋出的中文共通應用平台 --- M6 Linux為例,基本上M6是以CentOS 5為基礎來修改的,因此還是可以安裝DRBL。這裡我們以不穩定版的DRBL為例(因為drbl 1.7.12-12(含)之後,可以正確辨識出M6是CentOS的分支)。基本上也是依照安裝步驟<2b>用drblsrv-offline的方式來做即可,其餘的步驟還是和原來的相同:
    0. 設定好所有的網路卡(建議至少至少eth0, eth1) IP address。
    1. 下載unstable中的drbl http://drbl.nchc.org.tw/one4all/desktop/download/unstable/RPMS
    請使用drbl-1.7.12-12.i386.rpm 或是之後的版本。以下以drbl-1.7.12-12.i386.rpm為例.
    2. wget http://drbl.nchc.org.tw/GPG-KEY-DRBL
    3. rpm --import GPG-KEY-DRBL
    4. yum install perl-Digest-SHA1
    5. rpm -Uvh drbl-1.7.12-12.i386.rpm
    6. cp /usr/share/drbl/setup/yum-repos/drbl-* /etc/yum.repos.d/
    7. 修改/etc/yum.repos.d/中的drbl-testing.repo以及drbl-unstable.repo,將
    enabled=1
    8. 使用drblsrv-offline來安裝DRBL。先使用
    drblsrv-offline -r
    來看需安裝的檔案,找到後,就類似這樣執行:
    yum install dhcp tftp-server nfs-utils ypserv ypbind yp-tools mkinitrd ntp firstboot iptables wget dialog initscripts rsync parted tcpdump bc grub dos2unix curl lftp openssh-server openssh-clients coreutils gzip bzip2 nc file ethtool net-tools syslinux mkpxeinitrd-net clonezilla mkswap-uuid drbl-partimage drbl-ntfsprogs drbl-chntpw drbl-lzop udpcast drbl-etherboot freedos
    9. 假設你要使用伺服器上正在用的核心給用戶端的電腦使用:
    drblsrv-offline -s `uname -r`
    如果想用不同核心的話,可以下載kernel rpm, 例如:
    wget http://opensource.nchc.org.tw/centos/5/updates/i386/RPMS/kernel-2.6.18-8.1.8.el5.i686.rpm
    然後這樣執行:
    drblsrv-offline -k kernel-2.6.18-8.1.8.el5.i686.rpm
    10. drblpush -i
    執行過程可能會遇到一些警告,不過一般來說無妨。
    我的網路環境中已經有一個DHCP伺服器了,所以我不能再使用DRBL伺服器中的DHCP服務,請問有沒有解?
    基本上有4個解法:
    1. 在DRBL伺服器上使用不同埠的DHCP服務,這樣就不會和現有的服務相衝突。這個作法可以在你架設好DRBL伺服器再來調整。這裡我們以Debian為例,先記得確認你的DRBL版本是1.9.0-35或者更新的版本:
      1. 修改DRBL伺服器上的/etc/dhcp3/dhcpd.conf, 寫上這兩行:
        local-port 1067;
        remote-port 1068;
        然後重新啟動DHCP服務:
        /etc/init.d/dhcp3-server restart
      2. 在DRBL伺服器上執行這個指令:
        /usr/sbin/mknic-nbi --udhcpc-port 1068
      3. 產生特別的開機磁片或者光碟片:到這個網頁http://www.rom-o-matic.net,選擇適合你的網卡,然後最重要的是在記得選"3. (optional) To customize ROM configuration press:", 選"ALTERNATE_DHCP_PORTS_1067_1068". 再來將產生的dsk或者iso檔放到軟碟或著光碟片上。
      4. 更詳細的細節可以參考這裡的討論.
    2. 另外的方法是透過鎖住用戶端MAC address的方式來提供IP address給用戶端使用。這樣即使是兩個DHCP伺服器也不會互相衝突。你可以在執行"drblpush -i"的時候,選擇要這樣做。
    3. 如果你還是喜歡提供浮動IP位址給用戶端,不想鎖定MAC address,從DRBL 1.8.0-15或者更新的版本,你可以在/etc/dhcp3/dhcpd.conf或者/etc/dhcpd.conf裡,把'allow members of "DRBL-Client";'前面的'#'註解拿掉,然後重新啟動DHCP服務。這個作法是DRBL伺服器只會提供IP位址給PXE, Etherboot或者DRBL的Remote Linux用戶端,其他非這三類的機器或者作業系統,DRBL主機不會發IP位址給它(即使某台機器雖然是DRBL的用戶端,但是是使用本機硬碟裡面的MS Windows或者Linux開機,也會無法從DRBL伺服器要到IP位址)。所以,你要確認所有的PXE或者etherboot開機的機器都是你想要當作DRBL的用戶端使用的機器。
    4. 如果你熟悉DHCP語法的話,你可以合併DRBL伺服器上的dhcpd.conf以及你現有的DHCP服務,然後將DRBL伺服器上的DHCP服務關掉或者移除。可以參考 這個討論區。感謝Karly De Baere提供資料。
    5. 安裝dnsmasq。從dnsmasq版本2.49之後,提供 proxy DHCP 的功能。更詳細資料請參考這個討論區。感謝kasatkin提供此資訊。
    或者你需要類似例子的話,可以參考這裡:
    https://sourceforge.net/forum/message.php?msg_id=5341768
    感謝Nikolay Kasatkin提供資訊.
    我自己寫的一個shell script,例如"myscript.sh",放到/usr/share/drbl/ocs/prerun或是/usr/share/drbl/ocs/postrun中,在啟動clonezilla的時候,我有勾選"--run-prerun-dir"或是"-o|--run-postrun-dir",但是為何clonezilla啟動或是做完clone後,不會執行?
    這個情形主要是檔名的問題,而且主要是在Deiban下比較會遇到,在RedHat系列的套件中不會有此問題。主要是因為在DRBL/Clonezilla中,/usr/share/drbl/ocs/prerun或是/usr/share/drbl/ocs/postrun這些目錄都是由run-parts來執行該目錄下的檔案。由於Deiban的run-parts預設只接受檔名中只能有英文字母、數字、unerscores(_)、以及hyphens(-)。所以有"."的話,run-parts就會略去。
    你寫完之後,可以用類似這樣來測試:
    run-parts --test /usr/share/drbl/ocs/postrun
    相關資料可以參考這裡:
    http://www.debian.org/News/weekly/2002/45/index.de.html
    在Clonezilla live中,我要怎麼增加一個Debian有收錄的程式,例如ncpfs?
    如果是你在用Clonezilla live的時候要增加,可以先確認網際網路有連上後,執行:
    apt-get update; apt-get install ncpfs
    來安裝ncpfs。

    如果你是要把那個ncpfs放到Clonezilla live CD中,以便開機後就有,可以這樣做:
    1. 用Clonezilla live來開機, 進入shell命列列模式, 然後執行"sudo su -"來變成root。並且確認有連上網際網路.
    2. 編輯/etc/drbl/drbl.conf, 把ncpfs放到變數PKG_FROM_DBN_WHICH_OCS_LIVE_NEED中.
    3. 掛在一個工作目錄,可用空間要夠大可以來存放光碟,以及一些暫存檔案。例如:
    mount /dev/sdb1 /mnt
    然後
    cd /mnt
    PS. 不要使用網路磁碟機(nfs, sshfs等)來當工作目錄,因為live-package會使用低階的指令,在網路磁碟機上可能會失敗。
    4. apt-get update; apt-get install live-package
    5. 執行
    create-debian-live -l testing
    來產生Debian live的範本檔iso,這個檔案待會要用來產生clonezilla live.
    執行後,你會得到類似這樣的iso檔案: debian-live-for-ocs-20070807.iso.
    6. 軟連結這個檔案:
    ln -fs debian-live-for-ocs-20070807.iso debian-live-for-ocs.iso
    7. 執行這個指令來產生Clonezilla live的iso檔:
    ocs-iso -s
    執行完後,會得到類似這樣的檔名clonezilla-live-20070807.iso。這就是你要的了,可以燒到光碟上用了。
    當我系統中有兩個casper的檔案(filesystem.squashfs),請問我如何指定其中一個來開機使用?
    這個情形通常發生在你把Clonezilla live或是Debian live放到你的硬碟中,然後你又用clonezilla live的CD或是USB隨身碟來開機。這時候你可以用開機參數(例如:bootfrom=/dev/hdc)來指定,作法如下: 1. 用clonezilla live開機,
    2. 當isolinux的開機選單出現,下方顯示"press [TAB] to edit options"的時候,按下Tab鍵.
    3. 在參數那一行增加開機參數,指定你要的開機檔案,例如你就是要使用clonezill live CD所在的裝置(dev/hdc)內的檔案來開機使用,這時候就增加參數"bootfrom=/dev/hdc",也就是整行變成類似這樣:
    vmlinuz initrd=initrd.gz boot=casper vga=788 bootfrom=/dev/hdc
    我需要在用戶端的電腦編譯核心模組,請問怎麼做才能讓所有的用戶端電腦可以使用?
    1. 先找到你要編譯的那台用戶端的IP位址,你可以這樣查詢:
    /sbin/ifconfig -a
    本例中,我們使用192.168.120.1為例。
    2. 編輯DRBL伺服器中的/etc/exports,找一下這一行:
    /tftpboot/node_root 192.168.120.1(ro,sync,async,no_root_squash,subtree_check)
    把其中的ro改成rw,也就是改成:
    /tftpboot/node_root 192.168.120.1(rw,sync,async,no_root_squash,subtree_check)
    3. 讓修改生效,也就是執行:
    /etc/init.d/nfs-kernel-server reload (在Debian-like的系統)
    或者
    /etc/init.d/nfs reload (在RedHat-like的系統)
    4. 現在可以開始在用戶端上編譯模組,並且安裝到系統中(make, make install...).
    5. ///注意/// 當你完成編譯以及安裝後,在下次該台用戶端開機前,請務必將/etc/exports還原,並且讓設定生效。也就是在DRBL伺服器上,類似步驟2把rw改成ro,並且同步驟3重新讓設定生效。如果你沒這樣做的話,你有可能搞混整個系統。
    我在DRBL的用戶端找不到grub或是lilo的設定檔,請問我怎麼加核心的參數,例如acpi=off noapic ?
    DRBL的用戶端是使用網路開機(PXE),伺服器上提供的是PXELinux,你可以在DRBL server上找到對應的設定檔:/tftpboot/nbi_img/pxelinux.cfg/default。
    其他更詳細的說明請參考syslinux/pxelinux網頁
    我如何結合自動安裝設定檔(kickstart)與DRBL的GNU/Linux網路安裝?
    0. 先確認你已經在DRBL伺服器上開啟網路安裝GNU/Linux功能,如果沒有的話,執行 "drbl-netinstall -i all",然後"generate-pxe-menu"。最後要記得執行dcs來切換用戶端電腦的網路安裝模式.
    1. 把自動安裝設定檔(ks.cfg)放到你的http或是ftp伺服器。本例中,我們把自動安裝設定檔ks.cfg放在網頁伺服器192.168.120.254上。
    2. 以CentOS 5.1為例,修改/tftpboot/nbi_img/pxelinux.cfg/default,加上"ks=http://192.168.120.254/ks.cfg"如下:
    label netinstall-CentOS-5.1-i386
    # MENU DEFAULT
    # MENU HIDE
    MENU LABEL CentOS 5.1 i386 installation via network
    # MENU PASSWD
    kernel vmlinuz-netinstall-CentOS-5.1-i386
    append initrd=initrd-netinstall-CentOS-5.1-i386.img ramdisk_size=65535 ks=http://192.168.120.254/ks.cfg
    用Clonezilla Live來備份Asus Eee PC的時候,沒有辦法看到正體中文環境,請問怎麼解決?
    這主要是Asus Eee PC採用的顯示卡比較特殊,不支援800x600的解析度,所以要改用640x480的解析度。你可以在Clonezilla live開機的時候,出現橘色企鵝選單,選擇解析度是640x480的即可。
    有沒有可能把Clonezilla Live放到硬碟中來執行?
    可,請參考這裡
    我要怎麼自己從無到有做一個Clonezilla live ?
    1. 下載clonezilla live 1.2.0-25 (含)以後的版本
    2. 用上述版本來開機之後選擇好語言與鍵盤後,選擇"Start_Clonezilla" -> "device-image",然後掛載一個空間夠的分割區(必須是Linux的檔案系統,例如ext3, reiserfs等,不可用FAT或是NTFS的分割區)成為/home/partimag目錄來當工作目錄,建議選用local_dev,因為NFS之類的網路磁碟目錄和aufs/squashfs等相容性有些問題,製作的時候可能會失敗.
    3. 在選擇要備份硬碟/分割區或者還原的時候,選擇"exit",進入命令列
    4. 執行"sudo su -"
    5. 執行ocs-live-netcfg來設定網路,以便待會製作Debian Live程式需要.
    5. cd /home/partimag/
    6. apt-get update; apt-get -y install live-helper cdebootstrap
    7. 如果你要特別版本的核心,只要確認Debian套件庫中有的話,例如你要2.6.18-6或是2.6.24-etchnhalf.1的核心,就這樣執行:
    create-debian-live -l e -b unstable -k 2.6.18-6 -i customized
    或是
    create-debian-live -l e -b unstable -k 2.6.24-etchnhalf.1 -i customized
    (-l e是說要使用DRBL套件庫中live-experimental (也同時包含了live-stable, live-testing, live-unstable分類的程式), -b unstable表示要使用DRBL套件庫中的unstable(也就包含stable, testing分類)。套件庫中的程式可以參考這裡http://free.nchc.org.tw/drbl-core/pool/drbl/).
    順利的話,執行完後就會產生檔名為debian-live-for-ocs-customized.iso的Debian live。這個Debian Live我們就可以用來製作Clonezilla live.
    如果你不要選用特別版本的核心,而是讓程式自動選的話,就不需要下"-k 2.6.18-6"(只有Debian Lenny可以,Etch的話一定要指定核心版本),也就是執行:
    create-debian-live -l e -d lenny -b unstable -i customized
    或者
    create-debian-live -d lenny -i customized
    更多create-debian-live的參數可以經由執行"create-debian-live --help"來查詢.
    8. 執行:
    ocs-iso -s -j debian-live-for-ocs-customized.iso -i customized
    ocs-live-dev -c -s -j debian-live-for-ocs-customized.iso -i customized
    就可以分別產生clonezilla-live-customized.iso與clonezilla-live-customized.zip的Clonezilla live了.
    當我使用Clonezilla伺服器版來使用群播(multicast)還原時,用戶端機器停在"Please Wait...", 請問是啥問題 ?
    一般來說你可以在你的DRBL伺服器上的系統日誌檔(/var/log/messages or /var/log/daemon.log)找到線索。你可以找尋關鍵字"udpcast"來查詢原因。
    一般常見的可能問題與解決方式包含:
    1. 網路交換器擋掉群播的封包。如果是這個情況的話,你你可以用設定你的網路交換器,把群播功能開啟。也可以嘗試在還原的時候,進階參數中選擇"-brdcst"。此外,也可以改用便宜的無網管功能的交換器。
    2. 你的用戶端透過多餘一台的網路交換器連接,但是你並沒有用網路線把這幾台網路交換器串連起來。請用網路線把這幾台網路交換器串接,這樣群播封包才可以由第一台交換器送到其他台交換器.
    3. 你指定了用戶端還原時的機器數目,但是因為某些原因,某幾台可能開機失敗或其他原因無法加入群播機制。檢查你的用戶端看看他們的狀態是否正常。
    4. 確認你的DRBL伺服器上的防火牆程式不會擋掉群播封包。
    新增clinet 電腦,我有指定MAC address,該如何操作比較正確 ?
    舉例而言,已經建立好36台電腦的MAC address,如果要再加新的電腦進來 該如何操作比較正常 ?
    做法:
    1. 在DRBL server上登入成root,或者切換成root (sudo su -)
    2. mkdir ~/tmp; cd ~/tmp
    3. cp /etc/drbl/macadr-eth*.txt . (所以/etc/drbl/macadr-eth*.txt這些檔案收集的很辛苦,最好也備份在其他地方。)
    4. 將你新增電腦的MAC address塞到這些macadr-eth*.txt中,例如你確認用戶端新增的一台電腦MAC address是00:AA:BB:CC:DD:EE,而且是透過server的eth1連接,那就把00:AA:BB:CC:DD:EE寫在macadr-eth1.txt的最後一行。記得每一行只寫一個MAC address,且要維持Unix的純文字檔格式。如果你是在MS Windows下編輯,放到DRBL server的時候,要用dos2unix macadr-eth1.txt來轉換成Unix的純文字檔格式。
    5. 執行drblpush -i
      這次就不需要蒐集用戶端的MAC address了,也就是
      ******************************************************
      現在我們可以收集用戶端電腦網卡卡號(MAC Address)!
      透過這個收集的步驟可以幫助您的DRBL環境讓用戶端電腦每次開機都拿到相同的IP,
      如果您沒有用戶端電腦網卡卡號的紀錄檔時,你現在就應該做!
      如果您已經有用戶端電腦網卡卡號時,您也可以把那些卡號依序,分組後,一行一行填在檔案 中(檔案的數目就是您DRBL分流網路卡的張數),那麼,這個步驟您就可以略過.
      這個步驟就是幫您做偵測卡號,然後存到檔案中,省去您抄錄卡號的時間與可能造成的打字錯誤.!
      用戶端電腦的網卡卡號(MAC Adrees)將會依照您用戶端電腦開機的順序依序被紀錄下來.
      所收集到的網路卡卡號將會依照用戶端電腦連到DRBL伺服器的網路卡來給檔名,存下來的檔名如macadr-eth1.txt, macadr-eth2.txt... 你可以在/etc/drbl/目錄下找到這些檔案。
      請先將用戶端的電腦設定為由網路開機(etherboot或是PXE),並依照您想要排列的順序開機!
      你是否要收集用戶端的網卡卡號 ?
      [y/N]
      這裡回答"n",然後
      ******************************************************
      你是否要讓DRBL伺服器的DHCP服務每次都發相同的IP給用戶端電腦(要使用此選項,您必須 已經收集好用戶端電腦的網卡卡號(MAC Adrees)(如前述的步驟)並且存在檔案中),這是針對連接到DRBL伺服器網路連接埠 eth1 ?
      [y/N]
      這裡回答"y"。
      ******************************************************
      請輸入紀錄網卡卡號(MAC Adrees)的檔名,這是針對連接到DRBL伺服器網路連接埠 eth1.
      [macadr-eth1.txt]
      這裡就接受預設的檔名,當然也可以自己指定其他檔案名稱就是了。
    DRBL的 client 端PXE開機時出現 tftp time out?
    先檢查 DRBL server的log檔(/var/log/messages, /var/log/daemon.log, /var/log/syslog),看有沒有任何tftp相關訊息。有幾個可能性:
    • 有兩個DHCP服務存在同一個網段上,你要確認只能有一個存在。
    • DRBL server的TCP wrapper設定(/etc/hosts.allow與/etc/hosts.deny)擋掉用戶端來連接tftp服務。你要修改/etc/hosts.allow與/etc/hosts.deny來開放出來。
    • DRBL server的SELinux擋掉tftp服務,所以無法啟動。建議不熟SElinux的話,關掉它。
    • 網路交換器擋掉tftp UDP的封包。這個要調整網路交換器的設定。
    • 舊的ARP表被快取在網路交換器或者DRBL server上,將這兩者關機,拔掉電源,等個幾分鐘,然後重新開機。
    • 試著執行"drbl-all-service restart"看看
    • ...
    在伺服器版的Clonezilla上使用群播(multicast)複製的時候,只有一台用戶端速度很快,但是只要多於一台,速度就非常慢,如何解?
    正常的話,群播一台的時候,速度如果是1000 MB/min,群播多台應該也是差不多速度。如果你的情況不是這樣的話,可以這樣檢查:
    • 確認網路交換器對於群播封包處理沒問題。
    • 確認你所有的用戶端的網路卡以及硬碟沒有問題。由於群播的機制,只要有一台網路卡或者硬碟有問題,就有可能拖慢所有的群播速度。
    • 確認你的Linux套件對你的網路卡使用正確的核心模組。例如有老師回報過,他的Clonezilla伺服器開機後,都是自動啟動r8169這個模組,但是他的網卡應該要用r8101模組。所以他只好手動執行"rmmod 8169"後再"modprobe r8101"。
    • 其他奇怪的情形。例如有人遇到,只要他的用戶端在BIOS開啟PXE (LAN boot)網路開機功能,即使是那台機器是關機的狀況,也會影響到整個群播。因此他必須在群播的時候,把那台機器的網路線拔掉。(他的機器的網卡是Intel(R) 82567LM Gigabit)。 Ref: http://groups.google.com.tw/group/drbl/browse_thread/thread/d87fbe17afea174c?hl=zh-TW (Chinese)
    • ...
    • 如果以上檢查都沒問題的話,也許你可以嘗試修改Clonezilla伺服器上的檔案"/etc/drbl/drbl-ocs.conf", 將
      udp_sender_extra_opt_default=""
      改成類似
      udp_sender_extra_opt_default="--max-bitrate 150m"
    穩定版,測試版與替代版的Clonezilla live有啥差別?
    Clonezilla live有穩定版,測試版與替代版。穩定版一般是測試版測試一段時間後,穩定性足夠了,才會變成穩定版。亦即測試版會有比較新的功能,或者新的核心等。而替代版使用的底層Linux程式與核心會是更新的。基本上以穩定性來分的話,"一般"是穩定版會比測試版佳,而測試版會比替代版好。
    目前穩定版與測試版的Clonezilla live是基於Debian Linux,而Ubuntu Linux只用在替代版上,會有這樣的分別是:
    1. 我們要一個完全"自由"的Clonezilla live,也就是所以的程式都是從Debian的"main"分類中來的,沒有從"non-free"的分類來的。Ubuntu Linux有時不容易切開"restricted"(非自由)分類的部份。
    2. 但是,在大部份的狀況下,stable與testing的Debian中核心都比較舊,對於新一點的硬體無法支援。因此我們另外提供一個方式,使用最新的(可能是alpha或者beta狀態的)Ubuntu Linux來製作一個替代版的Clonezilla live.
      此外,有時不容易隨著Ubuntu linux每6個月的"大改變"來開發,因此,這個版本我們給的名稱是"替代版"。
    穩定版/測試版與替代版之間的差異:
    差異
    穩定版/測試版Clonezilla live (Debian-based)
    替代版Clonezilla live (Ubuntu-based)
    iso/zip檔案大小 大約小10 MB 大約大10 MB
    是否包含不自由的軟體(例如firmware)


    對486 CPU的支援 486版的iso/zip有支援(CONFIG_M486=y) 不支援(CONFIG_M586=y and CONFIG_X86_GENERIC=y)
    多核心/多處理器的支援 686版有支援, 486版不支援


    簡言之,穩定版與測試版的Clonezilla live是會基於Debian Linux,而替代版的基於Ubuntu Linux。
    我的DRBL用戶端的帳號怎麼擁有sudo的權限?
    請修改用戶端的/etc/sudoers檔案(對應的是DRBL伺服器上的/tftpboot/nodes/$IP/etc/sudoers檔案,$IP就是那台用戶端的IP address),將帳號加入。例如,要把帳戶john加入的話,可以增加一行:
    john	ALL=(ALL)       ALL
    
    由於一般/etc/sudoers都是唯讀型態,大部分是使用"visudo"這個指令來編寫。當然你也可以先把/etc/sudoers的權限用chmod改成可寫(chmod u+w /etc/sudoers),然後用你熟悉的編輯器修改/etc/sudoers之後,再把權限改回唯讀(chmod u-w /etc/sudoers)。
    遇到某些網卡(如:EeePC 1005HA 上的 Atheros AR8132/L1c Gigabit Ethernet) 導致當 server 時用戶端有 nfs 掛載問題時如何解決?
    說明:
    以 EeePC 1005HA 為例,在 Ubuntu 9.10 或 10.4 上官方提供的 atl1c 核心模組會導致 sever 提供 NFS 異常,所以用戶端開機時會停留在掛載用戶端根目錄階段;在 server 觀察 /var/log/daemon.log 會停留在下面訊息
    ....... authenticated mount request from 192.168.xxx.xx:671 for /tftpboot/node_root (/tftpboot/node_root)

    解決辦法:使用Atheros 官方驅動程式

    步驟(以在核心版本 2.6.32-22 下為例):

    1. 確認目前使用 atl1c 核心模組
      lsmod | grep atl1c
    2. 至 Atheros 網站(http://partner.atheros.com/Drivers.aspx)下載 linux driver (AR81Family Linux Driver)
    3. 確認系統上已安裝 build-essential 與必要的核心 header (ex: linux-headers-2.6.32-22-generic)
    4. 解開並編譯、安裝
      tar xzvf AR81Family-Linux-v1.0.1.9.tar.gz ; cd src; make ; sudo make install
      理論上會有 /lib/modules/2.6.32-22-generic/kernel/drivers/net/atl1e/atl1e.ko 這個新的核心模組
    5. 暫停使用並更名舊模組(或將舊模組寫入 blacklist 中)
      sudo rmmod atl1c; cd /lib/modules/2.6.32-22-generic/kernel/drivers/net/atl1c; sudo mv atl1c.ko atl1c.ko.bak

      sudo rmmod atl1c; sudo -i 'echo blacklist atl1c >> /etc/modprobe.d/blacklist.conf'
    6. 重新計算核心模組相依性
      sudo depmod -a
    7. 若用戶端也使用相同網卡,建議重跑一次 drblsrv -i
    注意事項:
    若有更新核心需要重做步驟 4,5,6 (需注意新版核心模組路徑)
    Clonezilla是否與WD先進格式化(WD Advanced Format)硬碟相容?
    Clonezilla可以用在以下這種複製方式:
    1. Advanced Format 互相 clone 不會有問題。
    2. Advanced Format 硬碟 clone 到 沒有 Advanced Format 的硬碟也沒有問題。
    會有問題的方式:在舊硬碟(160G)安裝XP, clone起來,還原到新硬碟 1.5T(WD15EARS)

    解法一:把還原好的硬碟 裝在其他Windows 電腦,用 wd align 工具去修復...,之後就正常了。

    解法二:clonezilla + DIY 自己來解決

    因為目前 Linux kernel 無法正確辨識 4K sector size,clonezilla 暫時無法自動解決這個問題,但是你可以DIY,以後也有機會放進 Clonezilla...

    我們嘗試過wd的工具,他也是改partition table的表,start 會設定在2048第一個partition會縮小一點點,因此 clonezilla 無法還原,所以可以嘗試改Sector and Head,如下:

    step 1. 手動修改 partition table,要注意數字是否可被4096整除,且 start設定在64

    ex:63 * 512 /4096 這就是錯誤的地方!

    原先錯得 partition table

    # partition table of /dev/sdd
    unit: sectors
    
    /dev/sdd1 : start=       63, size=143363997, Id= 7, bootable
    /dev/sdd2 : start=143364060, size=169196580, Id= f
    /dev/sdd3 : start=        0, size=        0, Id= 0
    /dev/sdd4 : start=        0, size=        0, Id= 0
    /dev/sdd5 : start=143364123, size=169196517, Id= e
    

    修改之後的

    ### new size=((size / 8) + 1) * 8
    # partition table of /dev/sdd
    unit: sectors
    
    /dev/sdd1 : start=       64, size=143364000, Id= 7, bootable
    /dev/sdd2 : start=143364064, size=169196584, Id= f
    /dev/sdd3 : start=        0, size=        0, Id= 0
    /dev/sdd4 : start=        0, size=        0, Id= 0
    /dev/sdd5 : start=143364128, size=169196520, Id= e
    

    寫入table
    sfdisk -H 224 -S 56 --force /dev/sdd < sfdisk.log

    step 2. 還原之後 修改 windows boot

    ntfsfixboot -w -h 224 -t 56 -s 64 /dev/sdd1

    經過這樣的處理之後,可以開機,資料正確,wd align pass!

    ps: 目前 kernel 對 WDxxEARS 硬碟 sector size 還是 512,所以以下的工具統統認為是 512,不過實做過程中都不會因此產生錯誤。


    Last modified: August 15 2019 21:06:53.