Arch Linux 官方安裝指南 (Deprecated)

From ArchWiki

Jump to: navigation, search


i18n
English
简体中文
正體中文
Česky
Русский
Español
Italiano


這是 Arch Linux 發行版本,代號 (Don't Panic) 的一般使用者文件。它的內容涵蓋:取得必要檔案、安裝及配置基本可以開機的系統。此外,還提供系統設定及 Arch 專用工具(pacman 套件管理器及 ABS)的簡短說明。

Contents

介紹

Arch Linux 是什麼 ?

Arch Linux 是個專為 i686 微處理器最佳化過的 linux 套件發行版。Arch Linux 一開始是取用 CRUX 的核心思想,CRUX 是一套由 Per Lidén 開發,很棒的 Linux distribution。

Arch 的特點是快速、輕巧、可塑性高和簡易。這幾個形容詞看起來可能一點也不吸引人,但是至少他們都很正確的描寫出 Arch Linux 的特點。因為 Arch 特別針對 i686 微處理器做最佳化,所以你可在每個 CPU cycle 內得到所能提供的最大的效用。與 RedHat 等其他的 Linux 發行版相比,Arch 顯得輕巧多了,同時 Arch 的簡化設計也讓使用者可以輕易地擴充並整合成您需要的系統。

Arch 使用了一種易用的 binary package 管理系統 - pacman - 它讓你可以只用一個指令就能升級整個系統。 Arch 也使用類似 ports 的套件建立系統 (Arch Build System - ABS) 來簡化套件的製作,它可以只用一個指令讓系統同步到最新的狀態。沒錯! 您也可以只用一個指令達到重新編譯整個系統的目的。所有的動作都在相當簡單與清楚中完成。

Arch Linux 努力地維護它的最新穩定版本。我們目前提供了相當精簡的 core 套件集,並搭配逐漸擴大蒐集的 extra 套件集,它們由AL 的開發者維護。同時數以千計的額外套件則由社群中可信的成員向AUR提出,如果他們認為合適的話。

為了達到簡單與輕巧的目的,一般 linux 系統相對上沒有用的部份會被省略,例如 /usr/doc 目錄 及 info 說明頁等。從個人經驗來看這些真的很少用,而且一旦需要它們時,同樣的內容都能在網路上取得。有 Man pages 就夠了…

Arch Linux 也致力於運用許多 Linux 上已經可以用的新功能,Arch Linux 0.8 (Voodoo) 當然地,預設使用 2.6 版的 Linux 核心,並支援 EXT2/EXT3/REISERFS/XFS/JFS, RAID/LVM、以及加密的檔案系統。

版權宣告

Arch Linux, pacman, documentation, and scripts are copyright ©2002-2007 by Judd Vinet and are licensed under the GNU Public License.

致謝與回饋

This document is heavily based on the works of Judd Vinet judd@archlinux.org. Minor corrections and a good bunch of modifications and additions have been made by Dennis Herbrich dennis@archlinux.org and Tobias Powalowski tpowa@archlinux.org. Corrections and feedback should be fed into the bugtracker. An uncountable lot of people have contributed and will contribute to the evolution of the official Arch Linux Documentation by submitting corrections and suggesting improvement, it's way too unpractical to list them all. However, you know who you are, and without your help this would be near impossible to maintain and improve. Thank you!

安裝 Arch Linux

在安裝之前

由於 Arch Linux 針對 i686 指令集的處理器做了最佳化,因此無法在任何等級較低或不相容的 x86 CPU 上運行(例如 i386、i486、i586)。 必須 Pentium II 或 AMD K6-2 以上的處理器才行。x86-64 架構也在正式的支援範圍中。

另有由社群推動的計畫,提供了於 i586 及 ppc 架構使用的套件。詳情請見本站文件。

在安裝 Arch Linux 之前,您需要決定將採取何種的安裝方式。 針對光碟安裝,Arch Linux 提供了兩種不同的可開機 ISO 映像檔。

首選的安裝方法是靈活的光碟安裝,我們為你提供3種不同的安裝光碟,它們唯一的區別是包含的套裝軟體不同。通過這些鏡像,你可以在安裝程式中指定 FTP 伺服器來使用最新的套裝軟體來安裝你的系統。並且這些鏡像光碟可以作為最終恢復光碟使用。

  • 完整的鏡像:arch-0.8.iso(550MB),它包含了在發佈時的整個core(原文為current,這裏改為core,譯者注)套裝軟體倉庫。通過線上檢查套裝軟體列表可以瞭解所包含的套裝軟體的詳細資訊。使用這個鏡像來創建安裝光碟,你可以直接安裝一個功能完整的linux系統,包括視窗管理器和一些幫助程式,當然它可能沒有包括一些你需要的軟體。如果你的機器無法訪問網際網路,你最好使用這個鏡像,因為它提供的套裝軟體是最多的。
  • 另一個小得多的鏡像:arch-0.8-base.iso(150MB),它只包含基本系統包及內核包。請注意,如果你打算在安裝過程中使用RAID/LVM,你不必非要下載上面的完整iso鏡像了,因為在不久前相關的套裝軟體已經轉移到base鏡像當中。使用這個鏡像安裝出來的是一個具有完整基本功能的linux系統,除了命令行之外它沒有其他任何附加品。這個鏡像適合安裝一個可工作的最小化基本系統,無法直接設置網路連接以支援FTP安裝。
  • 最後一個鏡像:arch-0.8-ftp.iso(22MB),它只包含最基本的安裝環境,其他所有的套裝軟體都必須在安裝過程中從FTP伺服器上下載。因此它只適用於那些可以方便快捷地連接網際網路或者擁有局域網鏡像的用戶。這種安裝方式最大的優點是:在安裝過程中使用的套裝軟體都是當前最新的,安裝完成之後不必再更新系統。如果你的網路連接又快又便宜,就選擇這個鏡像吧。

如果你的電腦上沒有CD-ROM,你就需要多廢一點功夫了(如果你機器上有可運行的windows系統,可以下載iso鏡像,然後使用grub4dos引導進入安裝環境,譯者注)。

現在就可以取得一份可啟動的Arch安裝光碟:如果你連網方便,可以從鏡像列表中下載一個鏡像,然後燒錄成光碟;如果你連網不方便或者沒有光碟燒錄機,可以請別人幫忙刻錄一張;你還可以通過OSDisk線上購買光碟。此外你不需要為使用老的ISO鏡像進行安裝而擔心,因為當你完成系統安裝之後只需要一條命令就可以將整個系統更新到最新狀態――當然,這需要你擁有寬頻連接。

現在在安裝過程中已經支援使用PPP撥號連接網際網路,ppp工具、rp-pppoe及ISDN用戶空間工具已經被包含在安裝鏡像之內。

0.8的ISO鏡像的運行方式和安裝後的arch系統相似,下面是它的一些特點:

  • 包含pacman,這樣在安裝環境中可以通過它安裝其他所需的套裝軟體
  • 完全支持 /etc/rc.d/ 和 /etc/rc.conf
  • 完整的arch網路支援,包括ssh,telnet和埠映射服務
  • 支援定制配置檔:任何位置的/config目錄及其中的檔都會被拷貝到安裝環境的/etc/中
  • 在啟動過程中可以載入額外的包作為附件:任何位置的/packages目錄及其中的檔都會被安裝
  • 包含links和naim程式,可以連接網際網路
  • 完整的kexec支持

對新手來說,最有利的Arch Linux安裝方法無疑是通過光碟安裝基本系統以及所有所需的套裝軟體,然後在設置好網路連接之後再更新系統並安裝其他的套裝軟體。

在試圖安裝Arch Linux之前你還要注意一點:在安裝過程中你需要回答一些諸如硬碟分區、模組載入、修改系統關鍵檔(如grub.conf,rc.conf等)一類的問題。安裝程式不會手把手地引導你完成這些配置,你必須獨立完成這些工作。這對新手是個不小的要求,如果你對這些內容感到為難,那麼你需要先通讀整篇文檔,整理一下不清楚的地方,然後通過IRC、論壇或者周圍的linux專家來解決這些疑問,在弄清楚所有的問題之前不要輕易嘗試以免破壞你的系統。當然你可以大膽地嘗試直到它可以正常工作,但是一定要記得我們已經警告過你了。儘管這樣說,其實一般沒有那麼糟糕。;)

你需要準備的東西:

  • 掌握一定的linux系統知識,詳細瞭解電腦的硬體配置
  • Arch Linux安裝介質(見鏡像列表)
  • 一台基於i686或者x86-64構架的電腦(奔騰Pro,奔騰II或者更高,Athlon/Duron等。注意:不支持AMD K6,Transmeta Crusoe,CyrixIII,VIA-C3)
  • 至少128MB內在
  • 抽出一點時間

取得 Arch Linux

你可以從任何一個鏡像下載 Arch Linux。進入iso目錄,下載對應的鏡像檔即可。一般來說,你最好下載最新版本的鏡像,這一方面可以減少出問題的可能,另一方面可以減少升級系統的時間。

準備安裝介質

  • 下載鏡像: <mirror>/iso/<your_architecture>/Archlinux-<version>.iso
  • 下載md5sum: <mirror>/iso/<your_architecture>/md5sum-<version>.txt
  • 使用md5sum驗證iso鏡像的完整性:
md5sum Archlinux-<version>.iso
  • 使用燒錄機將下載的ISO鏡像燒錄成光碟。
  • 如果你需要在安裝過程配置網路(如FTP安裝),記下當前的網路設置:
    • IP地址
    • 子網路遮罩
    • 閘道
    • 乙太網網卡模組名稱(例如: eepro100, 8139too, ne2k-pci,等)

使用 CD-ROM

如果你對啟動過程已經很熟悉了,可以跳過這一節,直接從“通用安裝過程”開始 Arch Linux 的安裝。

將Arch Linux安裝光碟放進驅動器,然後重啟系統,確保BIOS的設置可以從光碟啟動。如果你不知道如何修改BIOS設置,請參考你的主板手冊或聯繫系統廠商。從光碟啟動之後,會出現一個引導提示符,這時你可以輸入一些選項參數或者直接按回車。大部分用戶直接按回車就可以了。

如果你的CD-ROM無法啟動,你可能需要排查一下可能的原因甚至更換CD-ROM,直到可以通過CD-ROM啟動為止。

在啟動過程結束後,你已經自動進入(實際上還需要按一下回車,譯者注)一個根用戶shell,螢幕的上方會顯示一些使用說明。在這裏你已經可以開始實際的安裝了,或者手動做一些必要的準備工作。

通用安裝過程

到這裏,你的系統(安裝環境)已經啟動起來,安裝源(光碟或者FTP伺服器)和要安裝的硬碟都必須處於可用狀態。

安裝步驟:

  1. 載入non-US鍵盤映射
  2. 運行安裝程式
  3. 配置網路(針對FTP安裝)
  4. 準備硬碟分區:
    1. 自動分區
    2. 手動分區
    3. 設置檔系統掛載點
  5. 選擇套裝軟體
  6. 安裝套裝軟體
  7. 配置系統
  8. 安裝內核
  9. 安裝引導器
  10. 退出安裝

有經驗的用戶可以在啟動安裝程式之前,在shell裏面利用一些工具手動進行硬碟分區。如果你認為不需要進行更多的手動交互,可以跳過這一步。要注意,Arch Linux安裝介質為有經驗的用戶提供另外一個安裝腳本:/arch/quickinst。該腳本將“基本”套裝軟體安裝到指定的目錄。如果你想進行一些特殊、有趣的安裝(如RAID,LVM)或者不想使用安裝程式,你可以使用quickinst腳本。這樣的安裝方法很酷。

載入non-US鍵盤映射

如果你需要非美國鍵盤映射,你可以使用km工具載入新的鍵盤映射表。在命令提示符下輸入km,然後利用方向鍵流覽、選擇正確的鍵盤映射表或者控制臺字體。

運行安裝程式

現在你可以運行/arch/setup啟動安裝程式。在顯示過一些說明資訊之後,程式會提示你選擇安裝方法。如果你擁有快速的網路連接,可以選擇FTP安裝,使用最新的套裝軟體來構建你的系統。請注意如果你需要使用一些複雜的、需要驗證的代理設置,這可能會帶來一些問題。如果你不能使用CD-ROM或者其他任何當前可以掛載的介質,FTP安裝是你唯一的選擇。

在安裝過程中,確保每完成一步後都選擇了“DONE”,這樣才會保存你當前所作的設置。此外,儘量按照安裝腳本的順序進行設置,以免安裝程式出錯。 設置一個套裝軟體FTP鏡像或者根據自己需要的套裝軟體創建安裝光碟是很簡單的,這在為多台機器安裝Arch Linux的時候是非常有用的,它節省了帶寬和下載時間。為了讓你我的生活更簡單,請認真的考慮一下這些選擇吧。

如果選擇了CD-ROM或者其他安裝源(一些可以掛載的介質,如DVD,USB,已存在檔系統等),你就只能安裝介質裏面包含的比較舊的套裝軟體。這樣做的優勢在於你不需要網路連接,推薦撥號用戶或者不願意下載100MB以上套裝軟體的用戶使用這種安裝方式。

在選擇一種安裝方式後,就進入安裝功能表,順序列出了要完成的安裝步驟。

在安裝過程的任何一步,你都可以按ALT-F5進入第5個虛擬控制臺觀察安裝命令的輸出結果,然後按ALT-F1可以返回安裝程式正在運行的第1個控制臺。如有需要你還可以切換到其他的控制臺做一些所需的操作。

配置網路(針對FTP安裝)

配置網路允許你安裝並配置網路設備。

已經列出了當前所有可用的網路設備。如果沒有可用的乙太網卡或者要使用其他的網卡,你可以先切換到其他終端(如按下ALT-F2切換到第2個終端),然後手動載入需要的模組。或者你也可以直接按照說明來做:點擊“OK”,在接下來的螢幕上選擇“Probe”命令來偵測網路模組。如果安裝程式無法找到正確的網路模組,請檢查你的網卡是否正常安裝在主板上並且被內核所支持。有些時候必須從網卡製造商獲取一份二進位的專有驅動,把它拷貝到安裝系統然後手動載入它。一般說來這不算什麼很痛苦的事情,使用不同的網路模型也是深思熟慮的。

如果已經載入正確的模組,並且所有的網卡已經被列出來了,此時你可以選擇要配置的網卡進行詳細的設置。如果你的網路中有DHCP伺服器,那麼這裏可以直接選擇“YES”,它將自動配置你的網路;如果你使用靜態IP位址,請選擇“NO”,然後手動輸入網路資訊(和你前面記下來的一樣)。根據自己的情況配置好網路之後,可以用一些標準工具(如ping)來測試網路是否連通。

由於自動化配置還不是非常完美,安裝程式有可能無法成功配置網路。如果你碰到了這樣的稀有事件也不用煩惱,可以通過其他的控制臺手動配置網路設備。這一步的目標是為安裝程式提供一個到安裝用FTP伺服器的透明連接。

顯然,這一步只對FTP安裝有效。

準備硬碟分區

選擇“Prepare Hard Drive”後將會進入一個子功能表,在這裏有2個選擇可以準備安裝的目標驅動器。

第一個選擇是“Auto-Prepare”,它會自動在你的硬碟上創建3個分區及相應的檔系統,分別用於/boot,swap,root(即/),這些分區會被掛載在適當的位置。更詳細一點,這一步將會創建以下分區:

  • 32 MB ext2 /boot 分區
  • 256 MB swap 分區
  • / and /home 分區(所有剩餘空間)

根據不同的硬碟結構,各分區實際大小可以會有輕微變化。如果你對硬碟分區瞭解不多,可以選擇這個選項,但是要特別注意: 選擇“AUTO-PREPARE”會擦除所選硬碟上所有的資料!你必須仔細閱讀安裝程式給出的警告資訊,並確保將要分區的設備正確無誤!

你可以通過下面的方法來驗證你所選擇的設備是正確的:打開另一個終端(ALT-F2),輸入 “cfdisk –P s <設備名稱>”,螢幕上會顯示出所選設備的分區情況,這足以讓你識別正確的硬碟。

如果沒有顯示任何設備名稱(即”[nothing] will be COMPLETELY ERASED!...”),並且點擊“YES”後安裝程式顯示設備不可用(”Device not valid”)的錯誤,請確認你為SCSI,RAID等類似的設備載入的正確的驅動模組。你仍然可以通過切換到另一個終端手動輸入命令來載入模組,然後再返回到安裝進程所在的終端(ALT-F1)。

如果你想手動分區,請根據自己的需要(見下面2節),使用另外兩個選項來準備目標介質:”Partition Hard Drives”,手動進行分區;”Set Filesystem Mountpoints”,設置檔系統掛載點。硬碟分區準備完畢後返回到主菜單。

手動分區

如果你選擇了“Auto-Prepare”來自動分區,請跳過“Partition Hard Drives”這一步!

如果你要手動分區,請在這一步選擇要分區的硬碟,然後會自動運行cfdisk程式,在這裏你可以自由的修改分區資訊,修改完畢後依次選擇 [Write]和[Quit]返回安裝程式。

你至少應該有一個根分區(/),並且記下每個分區的掛載位置,然後在下一步中進行設置。

設置檔系統掛載點

如果你選擇了“Auto-Prepare”來自動分區,請跳過”Set Filesystem Mountpoints”這一步!只有當你在控制臺或者在前一個選項中手動完成分區的情況下你才需要進入這個功能表設置檔系統掛載點。

安裝程式首先詢問用於swap的分區,要麼在前面建立的分區中選擇一個作為swap分區;要麼直接選擇”DONE”,這樣你的系統將不會使用交換分區。安裝程式本身不支援使用交換檔,如果你想使用交換檔,需要先設置好掛載點,然後使用swapon命令啟動一個格式化好的分區上的交換檔。

設置好交換分區之後,安裝程式將會繼續詢問根檔系統(/)使用的分區,這是必須要有的。

接著安裝程式會建議為/boot選擇一個單獨分區。具體如何選擇取決於用戶的分區策略。

然後安裝程式將反復詢問不同的掛載點,直到用戶選擇”DONE”為止。

每當你指定一個要掛載的分區,安裝程式都會詢問是否要在選定的分區上創建檔系統。如果選擇”YES”,程式會詢問檔系統的類型(如果你不瞭解各種檔系統的特點,那麼ext3是個不錯的選擇),然後根據指定的檔系統類型格式化分區,這會擦除該分區上所有的資料!當然你可以選擇”NO”來保留分區上已有的檔系統。

如果想保留分區上的資料,強烈建議用戶先備份再安裝。否則一旦安裝過程中發生不可預料的錯誤,不要說我們沒有警告過你! 安裝程式還會詢問是否在交換分區(swap)上創建檔系統,因為這個分區使用獨有的檔系統,這裏你應該選擇”YES”。

如果你還想掛載其他的分區,比如將/boot或者/home建立在單獨的分區上,可以簡單地通過下面的操作來完成:

  • 選擇一個要掛載的分區
  • 選擇一個檔系統(如果你不想保留原來的資料,而是建立一個新的檔系統)
  • 為這個分區輸入一個唯一的掛載點

重複這個步驟直到所有的分區掛載點都被設置好,然後選擇”DONE”,安裝程式會列出所有要格式化的分區及相應的掛載點,仔細檢查無誤後,選擇”OK”來實際完成這上面所有的操作。完成分區、格式化、掛載點設置後請返回到主功能表進行下一步。

選擇套裝軟體

“Select Packages”讓你選擇需要從光碟或者FTP鏡像上安裝到機器上的軟體。

如果你選擇的是光碟安裝,你必須告訴安裝程式是需要它掛載光碟自身,還是你手動將安裝介質掛載到/src目錄。根據自己的需要進行選擇,一般來說選擇”CD”即可,然後安裝程式會讓選擇正確的光碟機。

如果正確的光碟機沒有出現在列表中,請確認你已經載入了所需的驅動模組(如SCSI,USB記憶體等),如果沒有可以切換到其他終端手動載入。 如果選擇了FTP安裝,你需要從鏡像列表中選擇一個鏡像,或者選擇”Custom”輸入指定的鏡像FTP伺服器位址(必須是包含core.db.tar.gz的目錄的完整路徑)。安裝程式會檢測你輸入位址的有效性,如果一切正常就可以進入下一步。

無論選擇了什麼樣的源,當成功獲取套裝軟體列表資料後,將會進入套裝軟體類別選擇螢幕。

如果在獲取套裝軟體資料庫時顯示錯誤,你應該選擇其他的FTP鏡像,並確保網路可以正常工作、位址輸入無誤。在光碟安裝時需要檢查一下/src有沒有正確掛載。仔細閱讀錯誤資訊,大部分情況下只要稍微修改一下輸入路徑即可解決問題。

安裝源準備好之後,就可以開始選擇要安裝的套裝軟體了。首先要選擇套裝軟體組,然後進入子功能表通過選擇/取消調整具體的套裝軟體。

Base組中的套裝軟體必須全部選擇安裝,其他套裝軟體組中的套裝軟體視需要安裝。請注意:只有你選擇了對應的包組,這個包組中的套裝軟體才會出現在後面的軟體列表當中以逐一選擇。也就是說,如果你只選擇了base組,那麼在接下來的螢幕列表中不會出現base組中以外的軟體。

如果你想最小化安裝,同時又想順便流覽一下所有可選擇的套裝軟體,那麼你應該把所有的套裝軟體組都選上,然後在提示”Select all packages by default?”時選擇“NOT”來手動選擇要安裝的包。

對於"Select all packages by default?"的詢問,如果選擇“YES”,你選擇的包組中所有的套裝軟體默認都是被選擇的,你要做的是把不需要的套裝軟體取消掉;如果選擇“NO”,所選包組中的軟體仍然出現在列表中,除了base包中的軟體是選中的之外,其他包組的軟體全部處於未選中狀態,你要做的是把需要的套裝軟體選中。

選擇“NO”對於最小化安裝系統更方便一些!

建議用戶安裝base中所有的包,其他組中的包不必馬上安裝,可以在系統安裝完畢後通過pacman直接安裝最新的軟體。當然為了讓安裝後的系統能正確地訪問網路,需要根據自己的網路環境安裝一些必要的包:

dhcpcd(base)
如果你需要dhcp來配置網路
isdn4k-utils(network)
如果你使用ISDN撥號
ppp(base)
如果你使用貓撥號
wvdial(network)
用貓撥號的簡單前端
rp-pppoe(base)
DSL虛擬撥號

下載得到的base ISO鏡像中只包含base組中的套裝軟體,如果你在安裝過程中需要其他組中的軟體(如netwok中的isdn4k-utils),你必須下載完全版ISO鏡像。

在選擇完要安裝的套裝軟體之後,選擇”DONE”進入下一步:安裝套裝軟體。

安裝套裝軟體

“Install Packages”將會把在上面選中的套裝軟體安裝到硬碟,實際安裝的套裝軟體數目可能比你直接選擇的要多,這是因為一些套裝軟體之間有依賴關係。為了你選擇的軟體能正常工作,安裝這些依賴包是必要的,所以安裝程式不會再次詢問。

在選擇好套裝軟體之後,安裝程式不會檢查目標分區是否有足夠的空間!這項看起來微不足道的工作會花費相當長的時間,因此安裝程式簡單的假定目標分區上有足夠的剩餘空間。萬一目標分區上沒有足夠的空間,安裝程式將會出現一些稀奇古怪的錯誤。你可以切換到另一個控制臺利用”df –h”命令來查看/mnt下掛載分區的使用情況。如果目標分區空間不足,請重新分區或者減少要安裝的套裝軟體數量。

錯誤資訊及調試輸出會顯示在第5個終端上(ALT-F5)。在正常情況下,如果操作成功,這裏的顯示就沒有多大意義了。當套裝軟體安裝完成後,進入下一步“配置系統”。

配置系統

“Configure System”允許你編輯一些重要的系統配置檔。首先安裝程式會詢問是否允許hwdetect腳本自動檢測硬體、生成默認配置檔。除非遇到了特殊情況或問題,否則一般情況下選擇“YES”就可以了。

接下來回答一些RAID,LVM,加密卷方面的問題。如果你的根系統寄存於RAID,LVM或加密卷上,這裏要回答“YES”,安裝程式會自動將相應的HOOKS添加到mkinitcpio.conf中,以使內核可以從相應的設備上啟動根分區。否則在新系統啟動時會出現”kernel panic”錯誤。大多數用戶可以選擇“NO”。 經過這個自動化預配置後,安裝程式會讓你選擇一個喜愛的編輯器(vim,nano)來手動調整產生的配置檔。如果你沒有用過這些編輯器,那麼請選擇nano。

如果你很趕時間,你可以直接跳過這一步,直接使用自動生成的配置檔,並祈禱它能正常工作。強烈建議用戶仔細的檢查所有的配置檔。詳細的配置方法請參考“系統配置”一節。

安裝內核

“Install Kernel”讓你選擇要安裝到硬碟上的內核鏡像。

“2.6”將會安裝支持SCSI/SATA/IDE的2.6內核,更加準確的支援取決於你在初始化記憶體虛擬碟(initramfs)中的配置。默認配置支援所有的SCSI/SATA/IDE設備。詳細資訊請參考“系統配置”一節中關於虛擬鏡像的內容,特別是新的PATA驅動及老的IDE驅動可能帶來的問題。

請注意當前放出的Arch Linux只提供一個內核,並且為了提高靈活性它被放入了initramfs當中。

光碟中包含2.6.21.1內核(這是vodoo的情況,以後放出的ISO都會使用當時最新的內核。譯者注),如果使用FTP安裝,可以安裝FTP鏡像上最新的內核,這可能會帶來一些不可知的變化或者相容性問題。雖然出現問題的可能性比較小,但是請留意這種可能性。

安裝引導器

“Install Bootloader”將會將引導器安裝到硬碟上。你可以根據自己的喜好選擇安裝GRUB(建議)或者LILO。

在安裝引導器之前,安裝腳本會讓你確認引導配置檔的正確性。請確保其中/系統(及/boot,如果單獨分區的話)的配置正確。

如果你選擇安裝LILO,它會根據你的配置檔自動安裝;如果安裝GRUB,你需要指定它將被安裝到哪個分區上(如/dev/sda代表第一個硬碟的mbr,/dev/sda1代表第一個硬碟的第一個分區的引導磁區。輸入的時候一定要再三確認,不要搞混了)。如果出現錯誤,請到5號控制臺檢查出錯資訊。 如果你打算設置多系統引導,最好把引導器安裝在根分區或者/boot分區,然後利用主引導磁區上的引導器來啟動該分區引導磁區上的grub(or lilo)。 將引導器安裝到MBR會覆蓋當前MBR中的引導器!在這麼做的時候你必須清醒地認識到這個後果!

退出安裝

現在選擇“Exit Install” ,然後將安裝光碟從光碟機中取出,在命令行下輸入“reboot”,然後耐心地等待一會。 如果你的系統成功啟動,請以root用戶直接登錄(無密碼),然後馬上用passwd命令修改root密碼,用useradd命令添加一個普通帳戶(詳細資訊請參考“用戶管理”一節),設置網路連接等等。

恭喜你!屬於你自己的Arch Linux已經安裝成功了,你可以根據自己的需要來調整這個系統。

系統配置

這部分講述一下Arch Linux核心配置檔的修改。你必須手動編輯這些檔,沒有圖形工具幫你進行配置。這裏只介紹一下最基本的配置檔,如果你需要瞭解其他的配置資訊請查看相應的manpage或者線上文檔。在多數情況下,在Archlinux維琪和論壇可以得到很好的幫助。

Arch Linux在管理系統方面沒有使用任何抽象層,都是直接操作。一般說來你可以直接按照軟體作者的說明進行設置,或者直接按照在網路上搜索到的資訊進行設置,兩者都是可以的。

配置檔

在準備啟動你的新系統之前,你最好檢查一遍下列配置檔,確保無誤: 配置檔列表:

  • 安裝相關配置檔:
    • /etc/rc.conf
    • /etc/hosts
    • /etc/fstab
    • /etc/mkinitcpio.conf
    • /etc/modprobe.conf
    • /etc/resolv.conf
    • /etc/locale.gen
    • /boot/grub/menu.lst
    • /etc/lilo.conf
  • 其他配置檔:
    • /etc/conf.d/*
    • /etc/profile

/etc/rc.conf

該檔是Arch Linux主配置檔。在這個檔中你可以設置鍵盤映射、時區、主機名、網路、運行的後臺服務、啟動時載入的模組、個人設置等等。你必須 把這個檔中所有的設置及其說明都詳細的看一下,理解它們的含義,根據自己的情況修改它們:

LOCALE 這個變數可以設置系統語言,所有支援i18n的程式都會使用這個設置。在locale.gen檔中可以查看可用的locale。默認設置為美國英語。

HARDWARECLOCK 如果你的BIOS中設置的是UTC,這裏就使用UTC,如果BIOS是本地時間,那麼使用”localtime”。如果你機器上有某個作業系統無法處理UTC時間(如windows),那麼為了避免時間混亂,你需要把BIOS時間設置為本地時間,同時該變數設置為”localtime”;其他情況下最好使用UTC時間,這可以支持日光節約時間及其它一些有益的功能。

TIMEZONE 指定你的時區。所有的時區設置都在/usr/share/zoneinfo目錄下面,該變數的值為這個目錄下對應設置檔的相對路徑。例如中國用戶可以設置成”Asia/Shanghai”,也就是使用/usr/share/zoneinfo/Asia/Shanghai這個設置檔。如果你現在還不知道你所在的地方對應的時區檔,可以稍後完成其他配置之後在網路上搜索一下再進行設置。

KEYMAP 該變數定義啟動時載入的鍵盤映射表。所有可用的鍵盤映射表在/usr/share/kbd/keymaps下可以找到。請注意該設置只對TTY有效,對X無效。默認的設置為美國標準英語鍵盤。

CONSOLEFONT 該變數定義在啟動時setfont程式載入的控制臺字體。所有可用的字體在/usr/share/kbd/consolefonts下面可以找到。

CONSOLEMAP 該變數定義在啟動時setfont程式載入的控制臺映射。所有可用的映射表在/usr/share/kbd/consoletrans下可以找到。如果你在locale變數中使用了utf8編碼並且使用的程式會產生8位元輸出,那麼你需要根據自己的語言選擇合適的映射表(如拉丁文使用8859-1)。如果你平時在X下工作,可以忽略這個變數,因為它只對控制臺程式有效。

USECOLOR 啟用(或者禁用)啟動時輸出彩色資訊。

MOD_AUTOLOAD 如果設置為“yes”,Arch在啟動時自動掃描機器硬體並試圖自動載入合適的模組,這個功能是通過hwdetect程式完成的。

MOD_BLACKLIST 這是一個陣列變數,所有寫入該變數的模組在啟動的時候將會被禁止載入。例如,如果你不想使用PC揚聲器,你可以把pcspkr模組加入到這個變數中。

MODULES 這也是一個陣列變數,所有寫入該變數的模組在啟動的時候都會被自動載入,這可以自動載入那些沒有通過modprobe.conf綁定到特定硬體設備的模組。直接把模組名稱寫入到這個變數當中即可,如果該模組需要輸入參數可以在modprobe.conf指定。在模組名稱前面加一個”!”可以禁止啟動時該模組的載入(這與MOD_BALCKLIST不同!),這樣在必要的時候可以臨時取消一些模組的載入。在這裏加入一些指定的網路模組可以使得系統總是自動按照指定的模組序列檢測網卡,這樣固定的網路設備具有固定的介面編號,這可以避免每次啟動系統後網路介面編號的混亂。當然,這個問題更好的解決辦法是在udev中設定固定的介面標籤。

USELVM 設置為“YES”時,在系統初始化過程中會調用vgchange程式來啟動LVM組。如果你不知道這是什麼意思,就不用管它。

HOSTNAME 該變數設置機器主機名(不包含域部分)。這個變數該如何設置完全取決於你的選擇,它可以是任何字母、數位、通用特殊字元的組合。當然也不要太出格。如果不明白就使用默認設置好了。

INTERFACES 該變數用來設置網路介面。默認設置及注釋掉的說明很好地示範了設置方式。默認是使用DHCP自動配置網路;如果你不使用DHCP,你需要在這個變數中填入一些參數,至於參數的格式,你只要記住一點:該變數的內容與用ifconfig命令手動配置網路時傳遞的參數相同。

ROUTES 通過該變數來定義靜態網路路由。可以參考一下默認閘道的定義方式。基本上變數的內容與傳遞給routes add命令的參數相同。如果你對此不清楚,可以不用修改它。

NET_PROFILES 通過該變數可以在啟動時載入不同的網路配置。在多網路環境中可以為每個網路進行不同的配置,然後通過該變數指定一個配置檔,方便地替代 INTERFACES/ROUTES變數中的設置。如果你的機器需要在不同的時間、不同的地點連接不同的網路(如筆記本),你可以在/etc/network-profiles/目錄下建立一些不同的配置檔(該目錄下有一個設置範本以供參考),然後通過NET_PROFILES變數指定要載入的配置即可。

DAEMONS 該變數中列出的是一些自動啟動的腳本名稱。所有的腳本都放在/etc/rc.d目錄下。在腳本名稱前面加一個“!”表示該腳本不會被執行;在腳本名稱前面加一個”@”表示該腳本在後臺執行,即不等序列中所有的腳本啟動完成就直接繼續下面的操作。一般情況下默認啟動的一些腳本不需要進行修改,只有當你安裝了一些服務程式(如sshd)並且希望它能在系統啟動時自動運行,你可以把它的服務名稱加入到這個變數當中。這一點是Arch與其他發行版不同的地方,其他發行版大多通過不同運行級別的到/etc/init.d/下的鏈結來完成腳本的自動運行。

/etc/hosts

在這個檔中可以設定所有網路中主機名/ip的對應關係。如果DNS無法解析某個主機名,你可以將該主機名及其IP添加到這個檔中進行正確的解析。一般說來不需要修改這裏的內容,只需要把自己機器的主機名+域及機器IP寫到該檔即可,因為有一些服務程式(如postfix)如果不能正確解析本機名稱會發生錯誤。如果你不瞭解相關內容,可以通過man hosts察看相應說明,或者讓該檔保持默認即可。

/etc/fstab

該檔保存檔系統及掛載點設置。安裝程式已經按照你的選擇創建了一個合適的fstab檔,你需要檢查一下以確保無誤(特別是當你使用LVM,RAID,加密根設備的時候)。

在當前的內核中,對ATA/IDE子系統引入了一個比較重要的變化:使用新的pata(並行ATA)驅動代替舊的IDE子系統,新的驅動下IDE磁片的名稱由had,hdb等變成sda,sdb等,和SCSI、SATA設備名稱相同。所以當在/etc/mkinitcpio.conf的HOOKS中使用新的pata驅動時,/etc/fstab中的分區名稱要作相應的改動!除了直接使用設備名稱,還可以通過/dev/disk/by-uuid/…或者/dev/disk/by-label…的方式來引用正確的分區。仔細檢查/etc/mkinitcpio.conf中的HOOKS,如果你使用了pata代替ide,硬碟設備名稱形式為sd?;如果沒有使用pata,硬碟設備名稱形式為hd?。其他用到硬碟設備名稱的配置檔也需要進行相應的修改。

/etc/mkinitcpio.conf

該檔用來調整系統初始化虛擬磁片(即常說的initrd,initramfs)。initrd是一個壓縮鏡像,內核啟動的時候會把它載入到記憶體當中。使用initrd是為了使系統自舉以有能力訪問真正的根檔系統。這意味著它必須載入訪問IDE、SCSI、SATA、USB/FW等設備所需要的模組。一旦initrd載入了合適的模組(無論是直接通過modprobe命令還是通過udev),它就將系統控制權轉交給Arch系統並繼續啟動過程。所以,initrd中只需要包含訪問根檔系統所必須的模組,沒有必要把所有要載入的模組都放到initrd當中。大多數要使用的模組在稍後的init進程中由udev載入。

默認情況下,mkinitcpio.conf中的設置是通過HOOKS載入支援全部IDE、SCSI、SATA設備的模組,也就是說默認的initrd幾乎適合所有用戶。這樣做的缺點就是可能會載入許多不需要的模組,啟動後通過lsmod命令可以查看所有載入的模組。載入過多的模組並不會對系統產生多大危害,但是許多用戶仍然不喜歡這樣的結果。這些用戶可以修改mkinitcpio.conf檔的HOOKS,去除不需要的模組(如IDE、SCSI、RAID、USB等),然後重新製作initrd。 或者有經驗的用戶可以將需要的模組放在MODULES變數中載入,這可以進一步精簡HOOKS。但是要注意察看檔中的注釋,因為精簡HOOKS是不是一件簡單的事情。

如果你正在使用RAID或者加密的根檔系統,你需要設置底部的RAID/CRYPT變數。在維琪中可以獲取更多關於RAID/LVM、檔系統加密、mkinitcpio方面的內容。

當配置好mkinitcpio.conf檔後,必須以根用戶運行mkinitcpio –p kernel26命令來重新製作鏡像(除非你正在安裝系統當中,此時當安裝完內核之後由安裝程式自動製作鏡像)。

警告:如果mkinitcpio.conf檔設置有錯誤,系統可能會無法啟動!所以在修改該檔的時候一定要非常小心。

在安裝內核的時候會自動生成一個備用啟動選項,它使用一個安全的默認鏡像,當你配置的系統無法啟動時可以試著使用該選項啟動系統。

請仔細閱讀fstab小節中關於pata轉變問題的警告!

/etc/modprobe.conf

該檔告訴內核在啟動時需要為系統設備載入的模組以及模組所需的參數。例如,為了讓內核能夠為Realtek8139網卡載入驅動模組並將其初始化為eth0網路介面,在modprobe.conf文件加入一行:alias eth0 8139too。

該檔的語法規則與舊的modules.conf幾乎相同(除非你使用一些很怪異的選項)。大多數用戶不需要更改這個檔。更多詳細資訊可以察看:man modprobe.conf。

/etc/resolv.conf

通過該檔來手動設置要使用的功能變數名稱解析伺服器。檔格式為:search domain.tld nameserver 192.168.0.1 nameserver 192.168.0.2。 將”domain.tld”及相應的IP換成自己的設置即可。”search domain.tld”表示當主機名不完整時,自動添加相應的域”domain.tld”來進行解析。這樣設置後,當你”ping myhost”時實際上就是”ping myhost.domain.tld”。一般來說這些設置不是非常重要:如果你使用DHCP,就沒必要修改該檔,當網路啟動的時候系統會自動的修改合適的值;如果你使用靜態IP,一般只要按照以前記下的網路資訊將功能變數名稱伺服器的IP添加進去即可。

/etc/locale.gen

該檔列出了所有支持的locale及字元集。根據你的自己的語言文字,將合適的locale反注釋掉,以根用戶運行locale-gen命令來生成相應的locale即可,然後在系統中就可以使用這些locale了(例如將/etc/rc.conf中的LOCALE變數設置為對應的locale了,或者在啟動X的時候設定合適的locale變數)。

在安裝過程中,你不需要手動運行locale-gen。當你手動編輯完locale.gen檔後,安裝程式會自動運行該命令。 默認情況下所有的locale(包括/etc/rc.conf中默認使用的en_US.utf8)都被注釋掉了,為了使你的系統能正常工作,你必須編輯該檔並至少反注釋掉在/etc/rc.conf中使用的locale(對中國用戶來說一般只保留en_US及zh_CN相關的即可,譯者注)。

/boot/grub/menu.lst

GRUB是Arch Linux的默認引導器。你必須檢查並修改該檔來適應你的啟動設置。關於LILO的用法請參考其他文檔。

請確保你自己已經仔細閱讀了fstab小節中關於pata轉變問題的警告!

配置GRUB非常簡單,最大的難題是它使用了不同於/dev/的命名方案。硬碟通過(hd0),(hd1)…的形式命名,設備序號與其在IDE/SCSI匯流排上的位置相對應,分別對應Arch Linux系統中的sda,sdb…。而且分區編號也是從0開始。在默認的menu.lst檔有有一些轉換的例子可以幫助你理解這種用法。

當你掌握了設備命名方法之後,你只要為你的啟動選項設定正確的內核、正確的根系統分區,並取一個好聽的名字就可以了。如果使用打包好的2.6.x內核,還需要添加一個合適的虛擬磁片鏡像檔。鏡像檔的位置必須與內核位置相同。一般情況下使用默認設置即可,你只需要檢查一下啟動根分區(/boot)和系統根分區(/)的設置是否正確即可(特別是要注意到pata問題)。

如果要為其他的作業系統創建一個啟動選項,可以參照下面的例子,它可以啟動任何一個分區上的引導磁區。用這種方法可以方便的啟動微軟所有的作業系統,只要把下面這段代碼加入到menu.lst檔的後面並修改相應的啟動分區即可。

(1) Other OS
title My Other OS
rootnoverify (hd0,1)
makeactive
chainloader +1

關於利用GRUB啟動其他作業系統方面的內容請參考GRUB線上手冊。

GRUB配置檔設置正確後,安裝程式會提示安裝GRUB,一般按照默認選項將其安裝到MBR即可。

/etc/conf.d/*

在安裝過程中,該目錄下的內容並不重要。

一些服務程式腳本在這個目錄中會有一個相應的配置檔,其中包含了一些有用的預設值。當一個服務程式啟動後,它首先從這個配置檔中讀取設置,然後再讀取/etc/rc.conf中的設置。這意味著你可以將一些服務公用的設置放在/etc/rc.conf檔中來簡化設置。當然如果你喜歡為每個服務程式單獨設置變數,也可以在/etc/conf.d分別為它們創建一個配置檔。所有的服務都可以通過簡單的腳本進行控制,這是多麼美妙的事情。

/etc/profile

當每個用戶登錄到系統並開始初始化時會運行該腳本。在Arch Linux中該腳本非常簡單(同其他方面一樣,KISS)。你可以根據自己的需要來編輯它。

啟動腳本

Arch Linux使用與*BSD系統類似的簡單啟動序列。第一個運行的啟動腳本是/etc/rc.sysinit。它運行結束後,/etc/rc.multi被運行(正常啟動時)。最後一個運行的腳本是/etc/rc.local。當從運行級別1(即單用戶模式)啟動時,/etc/rc.single將取代/etc/rc.multi的運行。與其他系統不同,你不會在代表不同運行級別的/etc/rc?.d目錄下找到數不清的鏈結。事實上,Arch Linux只有3個運行級別,除了前面2個,另外一個就是運行級別5,它用來啟動X。啟動腳本會調用/etc/rc.conf中的變數和定義以及/etc/rc.d/functions中的腳本。如果你打算創建自己的服務程式腳本,可以參考一下這些檔與現有的服務程式腳本。

啟動腳本縱覽:

  1. /etc/rc.sysinit
  2. /etc/rc.single
  3. /etc/rc.multi
  4. /etc/rc.local
  5. /etc/rc.shutdown
  6. /etc/rc.local.shutdown
  7. /etc/rc.d/*

/etc/rc.sysinit

這是主系統啟動腳本。它完成一些啟動過程中必須的工作,如掛載檔系統、運行udev、啟動交換分區、載入模組、設置本地化參數等等。你最好永遠不要編輯這個檔!

/etc/rc.single

當以單用戶模式啟動系統時運行該腳本,在正常情況下不會運行該腳本。如果系統以單用戶模式啟動,例如在啟動時向內核傳遞參數1或者在正常多用戶模式下運行命令init 1,該腳本確保除了少數系統關鍵服務(syslog-ng,udev)之外沒有其他服務運行。單用戶模式用於在修改系統設置時確保沒有其他用戶使用系統,以免造成資料丟失或損壞。 對於桌面用戶,單用戶模式沒有多大用處。同樣的,你不需要修改這個腳本。

/etc/rc.multi

多用戶啟動腳本在調用完/etc/rc.local後,會啟動在/etc/rc.conf中設定的所有服務程式。你也沒有修改這個檔的必要。

/etc/rc.local

本地多用戶啟動腳本,你可以把你希望系統在啟動過程結束後執行的命令放在這裏,這些命令會在最後階段執行。這是唯一一個你有可能會修改的啟動腳本,你可以隨意地在這個腳本中加入任何命令。

大部分常見的系統配置任務,如載入模組、改變控制臺字體、設置設備,都有自己專用的領地。為了避免混亂,你必須確保你在rc.local中加入的任何命令都不會比加在/etc/profile.d/或者其他已有配置檔中更合適。

/etc/rc.shutdown

系統關機腳本的任務是停止服務程式、制裁檔系統、解除交換分區等待。最好不要修改它。

/etc/rc.local.shutdown

與/etc/rc.local類似,在這個檔中可以放入任何你希望在rc.shutdown之前執行的命令。請注意默認情況下這個檔並不存在,如果你要創建這個檔,請確保它具有可執行許可權才能正常工作。

/etc/rc.d/*

該目錄中存放著用於rc.conf中DAEMONS變數的服務程式腳本。除了在啟動時被執行,你還可以在系統運行中利用這些腳本來管理服務程式。例如下面這個命令:

/etc/rc.d/postfix stop

將會停止postfix服務。當然只有你安裝了相應的套裝軟體之後,對應的腳本才會出現在這裏。如果只安裝了基本系統,這裏的服務程式腳本是非常少的,隨著套裝軟體的安裝,所有需要的啟動腳本最終都會被放在這裏。這個目錄的作用與其他發行版中的/etc/rc3.d/或者/etc/init.d/相似,好處就是免去了數不清的鏈結。

用戶管理

可以通過標準linux命令:useradd,userdel,groupadd,groupdel,passwd,gpasswd來添加或者刪除用戶和組。添加一個帳戶的典型操作如下:

#useradd –m –s /bin/bash johndoe
#passwd johndoe

第一個命令向系統添加一個名為johndoe的用戶,為他創建主目錄/home/johndoe,將一些默認的登錄檔放進主目錄中,同時設定他的登錄shell為/bin/bash。第二個命令為該帳戶創建密碼。只有創建密碼之後該帳戶才算被啟動。

除了useradd命令,還可以通過adduser腳本來互動式的創建新帳戶。 剩下的命令的用法可以察看相應的manpage。建議創建一個或多個普通用戶用於日常使用,這可以大提高安全性、降低系統損壞的可能性。

訪問網際網路

由於缺乏解決撥號問題的開發者,通過撥號線路將Arch連接到網際網路需要經歷相當多的手工操作。如果可能,儘量設置一個專有的路由,然後就可以把它作為默認閘道來使用。 在Arch Linux維琪上有一些撥號相關的文檔:

模擬貓

要想使用外接的賀氏相容類比貓,你需要安裝ppp套裝軟體。根據自己的需要修改/etc/ppp/options檔(如有問題請察看man pppd)。你還要建立一個交互腳本(chat),用來在初始連接建立後向ISP提交用戶名和密碼。pppd和chat的manpage裏有詳細的例子說明。使用udev的情況下,串口一般為/dev/tts/0和/dev/tts/1。 如果你覺得pppd太簡陋了,可以安裝wvdial或者類似的工具來簡化設置過程。 如果你使用的是WinModem(不懂,內置貓?譯者注),即內置貓PCI卡,你可以在LinModem的主頁獲取詳細的資訊。

ISDN

設置ISDN需要3個步驟:

  1. 安裝、配置硬體
  2. 安裝、配置ISDN工具包
  3. 配置自己的ISP

Arch打包好的內核中包含了必要的ISDN模組,這意味著你不必重新編譯內核,除非你使用的是非常舊的ISDN硬體。將ISDN硬體設備連接到電腦上後,你可以試著使用modprobe命令來載入相應的模組。幾乎所有的被動式ISDN PCI卡都可以使用hisax模組,只需要為它添加型號和協議兩個參數。根據你所在國使用的標準設定協議號:

  • “1”-1TR6
  • “2”-EuroISDN(EDSS1)
  • “3”-無D通道的租用線路
  • “4”-US NI1

內核文檔中有如何設置這些參數的詳細描述(ISDN分支),你可以線上訪問它。型號參數取決於你使用的ISDN卡,內核文檔中README.HiSax檔列出了所有支持的型號,查找到你的卡對應的型號,然後通過下列命令來載入模組:

modprobe hisax type=18 protocol=2

上面這條命令會為ELSA Quickstep 1000PCI卡載入模組,並設置它使用EDSS1協定(德國)。/var/log/everything.log中記錄了調試輸出資訊,如果出現問題可以在這裏找到線索。請注意,如果使用外部USB ISDN適配器,還需要先載入一些相應的USB模組。 一旦你確定卡及基設置可以正常工作,就可以把相應的模組放到/etc/modprobe.conf中:

alias ippp0 hisax
options hisax type=18 protocol=2

或者你也可以只把參數設置留在這裏,而把hisax模組放到rc.conf的MODULES陣列中進行載入。兩種方法隨你選擇。不過前一種方法有一個優點:只有在使用到的時候才會真正的載入模組。

現在硬體已經正常工作,你需要一些基本的工具來真正地使用它!

安裝isdn4k-utils套裝軟體,通過man isdnctrl來獲取更多的資訊。在manpage中給出了配置檔的詳細說明,並且給出了一些有用的例子。

如果你使用US NI1標準,你必須把SPID回到MSN的設置中,並用冒號隔開。

當你用isdnctrl工具配置好ISDN卡後,應該已經可以撥入PHONE-OUT參數指定的機器,但是會出現用戶名、密碼認證錯誤。所以和普通的類比PPP連接一樣,你需要把正確的用戶名和密碼添加到/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets,具體是哪個檔取決於你ISP的認證協議。如果不清楚,在兩個檔中都寫上就可以了。 如果你所有的設置都是正確的,現在應該已經可以以根用戶身份,使用“isdnctrl dial ippp0”命令來建立撥號連接了。如果出現問題,記得檢查日誌檔!

DSL (PPPoE)

這段說明只對那些自身可以管理到ISP的連接的PC有關。你什麼都不用做,除非你使用某種單獨的路由,才需要定義一個正確的閘道。 你首先要把連接DSL貓的網卡安裝到電腦上,再載入網卡對應的模組(可以寫入modeprobe.conf或者rc.conf),然後安裝rp-pppoe套裝軟體並使用pppoe-setup腳本來配置連接,最後輸入所需的資料,這樣才能建立DSL連接。建立連接或者斷開連接的命令分別為:

/etc/rc.d/adsl start
/etc/rc.d/adsl stop

一般來說設置相當簡單、明瞭,隨時可以通過manpage來獲取資訊。如果想在啟動時自動撥號,只需把adsl加入到DAEMONS陣列中即可。

套裝軟體管理

Pacman

pacman是Arch Linux的套裝軟體管理器,它可以追蹤所有安裝的軟體。它支援簡單的依賴檢查,使用標準gzip壓縮的tar包來管理所有的套裝軟體。下面列出了一些常用的命令(分別使用長參數和短參數,它們的功能是完全一樣的)。如果想瞭解更多有關pacman的命令參數,請查閱man pacman。這裏只是一個概覽,它只描述了pacman很少的一部分功能,但是都是最常用的功能:

典型工作:

  • 將一個套裝軟體檔添加到系統
  • 使用套裝軟體檔更新軟體
  • 移除套裝軟體
  • 更新軟體包列表
  • 更新系統
  • 從軟體倉庫添加/更新軟體
  • 列出所有已安裝的軟體
  • 檢查某個套裝軟體是否已經被安裝
  • 顯示指定套裝軟體的資訊
  • 顯示軟體中所有檔的列表
  • 找出某個指定檔所屬的套裝軟體

將一個套裝軟體檔添加到系統

pacman --add foo.pkg.tar.gz
pacman -A foo.pkg.tar.gz

這個命令會把foo.pkg.tar.gz套裝軟體安裝到系統。如果不能滿足依賴關係,pacman會出錯退出,並自動顯示出缺少的依賴包。但是它不會嘗試解決依賴關係,如果你想讓它這麼做,可以加上”--sync”參數。可以在一個命令中添加多個套裝軟體,如果這些套裝軟體之間有依賴關係,pacman會以正確的順序來安裝它們。

使用套裝軟體檔更新軟體

pacman --upgrade foo.pkg.tar.gz
pacman -U foo.pkg.tar.gz

該參數的功能與 “--add”相同,區別在於如果要添加的包比已經安裝的包版本要新的話,它會自動升級該軟體。顯然”--upgrade”比”--add”更好用,除非你僅僅只是想讓pacman檢測一下某個套裝軟體是否被安裝。

移除套裝軟體

pacman --remove foo
pacman -R foo

該命令可以移除所有屬於套裝軟體foo的檔(已經修改過的配置檔除外)。只需要給出套裝軟體名稱即可,不用加上pkg.tar.gz的尾碼。 要移除套裝軟體所有的檔,可以在上述命令中加上”--nosave”參數。

更新軟體包列表

pacman --sync --refresh
pacman -Sy

該命令將從/etc/pacman.conf定義的軟體倉庫中獲取最新的套裝軟體列表,並解壓到本機資料庫。在你更新系統(--sysupgrade)之前最好運行一下這個命令以確保下載的軟體都是最新的。根據你在pacman.conf設置的軟體倉庫位址,該命令可能需要相應的FTP/HTTP連接。該命令的作用與Debian的”apt-get update”非常相似。

更新系統

pacman --sync --sysupgrade
pacman -Su

該命令會將系統中已經安裝的套裝軟體更新到倉庫中的最新版本。注意,該命令不會更新本機套裝軟體列表,所以一般情況下需要將兩個命令合併起來使用:

pacman --sync --refresh --sysupgrade
pacman -Syu

使用這樣的參數pacman會自動更新軟體包列表,然後根據新的列表更新系統中的軟體,並自動解決依賴關係。

從軟體倉庫添加/更新軟體

pacman --sync foo
pacman -S foo

該命令會獲取並安裝套裝軟體foo,並自動完成所有的依賴關係。在做任何同步操作(--sync,-S)前一定要先更新軟體包列表,或者在命令中加入”--refresh”或”-y”參數來自動更新。與”--add”參數不同,”--sync”參數對安裝軟體或更新軟體同一看待。根據你在pacman.conf設置的軟體倉庫位址,該命令可能需要相應的FTP/HTTP連接。

如果在從伺服器下載套裝軟體的時候遇到奇怪的問題(如下載文件損壞、檔未找到),一般是因為你沒有更新軟體包列表造成的,或者是因為伺服器本身正在同步鏡像。

列出所有已安裝的軟體

pacman --query
pacman -Q

該命令會顯示系統中所有已安裝套裝軟體的列表。

檢查某個套裝軟體是否已經被安裝

pacman --query foo
pacman -Q foo

在上面的命令中加入一個套裝軟體名稱,如果該軟體已安裝,它會顯示軟體名稱和版本;如果沒有安裝,不會顯示任何資訊。

顯示指定套裝軟體的資訊

pacman --query --info foo
pacman -Qi foo

該命令顯示已安裝軟體foo的資訊(大小,安裝日期,創建日期,依賴關係,衝突等)。如果該軟體還沒有安裝,可以添加參數”--file”或者”-p”來察看套裝軟體檔的相關資訊:

pacman --query --info --file foo.pkg.tar.gz
pacman -Qip foo.pkg.tar.gz

顯示軟體中所有檔的列表

pacman --query --list foo
pacman -Ql foo

該命令顯示軟體foo中所有檔的列表。

找出某個指定檔所屬的套裝軟體

pacman --query --owns /path/to/file
pacman -Qo /path/to/file

該命令中的檔參數要使用完整路徑(只有檔案名是不會給出任何結果的),會顯示包含指定檔的套裝軟體的名稱和版本。

訪問軟體倉庫

套裝軟體倉庫是一個套裝軟體及其元資訊的集合,它可以位於本地目錄或者遠端FTP/HTTP伺服器上。Arch系統中默認的倉庫是core倉庫(原文為current,譯者注),裏面的套裝軟體由開發都進行更新、維護,裏面的軟體一般都是最新版本。 許多用戶也會啟動extra套裝軟體倉庫,它裏面包含core倉庫所沒有的更多的套裝軟體。你可以在/etc/pacman.conf中啟動extra倉庫,默認情況下該倉庫是啟動的。 你也以創建、維護你自己的套裝軟體倉庫,請察看pacman的manpage來獲取詳細資訊。 如果你是用光碟安裝,並且無法訪問網路,你可能需要從光碟中安裝額外的軟體。具體內容請參考FAQs,特別是FAQ #3,它給出了如何使用安裝光碟作為套裝軟體倉庫的方法。

Arch Build System (ABS)

二進位檔 vs. 源碼

在包管理中,pacman負責二進位檔方面,而ABS則是負責源碼方面:它幫助你從源碼開始建立你自己的自定義套裝軟體,同時還讓你可以用你定義的方式重建Arch Linux的套裝軟體。過程通常如下: 1. 與伺服器同步你的ABS樹。 2. 在/var/abs/local/裏建立一個目錄,其名字和你將要創建的套裝軟體一樣。 3. 將PKGBUILD.proto原型從/var/abs/複製到你新建立的目錄中,刪除掉.proto尾碼,然後將它編輯為適合新軟體包的需要。 4. 在PKGBUILD檔的工作目錄中運行makepkg。 5. 用pacman安裝新建立的套裝軟體。 6. 把套裝軟體發給你的朋友炫耀一番(或者把它給一位Arch用戶讓他/她迷上ABS)。

同步你的ABS樹

通過以root身份運行abs腳本,你可以同步所有/vb/abs中所需包的檔。它需要cvsup包來執行,如果你沒有安裝的話會出現提示。當然這需要連上internet才行。使用CVS作為傳輸介質使你可以緊跟ABS裏的不同版本的樹 ── 這可以在/etc/abs/supfile.arch裏配置。例如,缺省的supfile設置為跟蹤核心包樹,這是最新而且是推薦使用的源碼。你也可以使用其他版本。詳情可以查看supfiles中的注釋。

ABS支援多個倉庫,可以在/etc/abs/abs.conf中進行設置。缺省情況下abs只會選擇core和extra倉庫。

你還會發現一個/etc/abs/supfile.extra文件。它讓你可以訪問所有不在主ABS倉庫中的非官方的創建腳本。如果你不想使用這個倉庫,你可以刪除這個檔,不過通常最好的做法還是編輯abs.conf,取消你不需要的倉庫。

如何創建套裝軟體

創建過程在makepkg的man手冊裏已經詳細解釋了。你可以在它的指導下創建自己的套裝軟體。如果還不夠,在wiki裏找一下有關教程,或者上論壇或者IRC尋求幫助。

套裝軟體的指導規則

創建Arch Linux的套裝軟體時,你應到遵循下列套裝軟體的指導規則,特別是在你想將新軟體包貢獻給Arch Linux的時候。

套裝軟體命名

  • 套裝軟體的名字應當只包含字母與數位;所有字母都應該是小寫。
  • 套裝軟體的版本號應當和作者發佈的版本號一致。如果有需要版本號可以包含字母(例如2.54beta32)。版本號不可以包含連接號!只允許字母、數位和小數點。
  • 套裝軟體發佈號對Arch Linux來說也是有明確用途的。它讓用戶可以區分包的新舊。當一個新軟體包第一次發佈時,發佈號從1開始。然後經過了修改和優化,套裝軟體再次發佈給公眾,發佈號就會遞增。當一個新版本出來後,發佈計數復位回1.套裝軟體發佈號的命名規則和版本號一樣。

目錄

配置檔應當放置在/etc目錄,如果有超過一個以上的配置檔,依慣例使用一個子目錄來保持/etc盡可能整潔。當你的套裝軟體名為{pkgname}時,用/etc/{pkgname}/來放置(或者其他恰當的名字,例如apache使用/etc/httpd/)。

套裝軟體裏的檔應當遵循下列的目錄規則:

 /etc             系統必須的配置檔
 /usr/bin         程式可執行檔
 /usr/sbin        系統級程式
 /usr/lib         庫文件
 /usr/include     頭文件
 /usr/lib/{pkg}   模組、插件等等
 /usr/man         幫助手冊
 /usr/share/{pkg} 應用程式資料
 /etc/{pkg}       {pkg}的配置檔
 /opt             不適合放置於Linux檔系統框架內的包可以放在這裏

如果包裏的檔可以很明確歸類到以上目錄,那就按這樣做。如果有其他高一級的目錄不適合這樣放,可以使用/opt。

例如,acrobat裏的Browser、Reader和Resource目錄都同樣在bin目錄下。這不合適放置在正常的Linux檔系統框架內,所以我們把所有檔都放到/opt下。

都清楚了嗎?好的。


makepkg的任務

當你用makepkg創建套裝軟體時,它自動執行這些步驟:

  1. 檢查包的依賴關係是否已經安裝
  2. 從伺服器上下載原始檔案
  3. 解壓原始檔案
  4. 進行所需的修補
  5. 創建軟體,並安裝到一個fake root
  6. 包裏的刪除/usr/doc、/usr/info、/usr/share/doc和/usr/share/info
  7. 去除二進位檔裏的symbols
  8. 去除庫裏的debugging symbols
  9. 生成每個套裝軟體都會包含的meta檔
  10. 將fake root壓縮為套裝軟體檔
  11. 將套裝軟體存放在配置指定的目標目錄(通常是當前目錄)

其他

不要在你的PKGBUILD腳本裏引入新的變數,除非沒了它就無法創建包,因為這有可能和makepkg本身的變數發生衝突。如果一定需要一個新變數,那就在變數名前加下劃線作為首碼。

避免使用/usr/libexec/存放檔,可以換用/usr/lib/{pkgname}。

The "Packager" field from the package meta file can be customized by the package builder by modifying the appropriate option in the /etc/makepkg.conf file, or alternatively by exporting the PACKAGER environment variable before building packages with makepkg:

 export PACKAGER="John Doe <your.email>"


Submitting Packages

If you'd like to submit packages, please take a look at the Arch User Repository and their guidelines. New packages should be submitted to the AUR.

If you're submitting a package, please do the following:

  • Please add a comment line to the top of your PKGBUILD file that follows this format:
 Contributor: Your Name <your.email>
  • Verify the package dependencies (eg, run ldd on dynamic executables, check tools required by scripts, etc.). It's also a good idea to use the namcap utility, written by Jason Chu jason@archlinux.org, to analyze the sanity if your package. namcap will tell you about bad permissions, missing dependencies, un-needed dependencies, and other common mistakes. You can install the namcap package with pacman as usual.
  • All packages should come as a compressed tar file containing a directory with the newly built package, the PKGBUILD, filelist, and additional files (patches, install, ...) in it. The archive name should at least contain the name of the package.
  • Read the appropriate documents regarding the AUR, and the newest version of the packaging guildelines on the AUR Homepage.

常見問題(FAQs)

這裏的FAQs只列出了一些在安裝、初始配置、啟動Arch Linux過程中常見的問題。如果你在進一步使用(如系統工具、X11設置等)或者如何配置硬體遇到問題,請到維琪中查詢。如果你認為某個問題應該列在這裏,請通知該文檔的作者(他的聯繫方式在該文檔的最頂端)。

在安裝套裝軟體過程中,pacman報告錯誤:“因為軟體B不在軟體集中,無法解析軟體A的依賴關係。”

除非是系統本身的問題(如果是這樣,那麼很快會收到許多用戶的錯誤報告),一般說來是因為你可能沒有正確地掛載目標分區,這導致pacman試圖將套裝軟體檔解壓縮到虛擬磁片上,就導致了這個錯誤(一般剛完成安裝後,如果fstab或者grub menu.lst中的根分區設置錯誤就會導致該錯誤。譯者注)。 請確認在安裝過程中設置檔系統掛載點一步中選擇了“DONE”而不是“CANCEL”。一般如果你使用自動分區就不會出現這個問題,如果使用了自動分區後仍然出現這個錯誤,請將你遇到的問題作為bug提交給開發團隊。

如何利用pacman從光碟上安裝套裝軟體(自動解決依賴關係)?

如果你想從光碟上安裝軟體(例如無法訪問網路時),首先要把光碟掛載到某處(如/mnt/cd),然後在/etc/pacman.conf的[core]下麵加一行“Server = file:///mnt/cd”。 用你的光碟掛載點代替上面的”/mnt/cd”。然後用”pacman --sync”來同步光碟上的套裝軟體。

如何在安裝過程中創建多交換分區?

如果你想使用多交換分區,那麼就不能使用安裝程式的自動分區功能。手動創建所需的交換分區,然後用mkswap命令在上面創建交換檔系統(這很重要,如果沒有執行這個命令,系統啟動時會出問題)。然後繼續下面的步驟,在設置掛載點時安裝程式仍然只會詢問一次交換分區,這沒有關係。在完成安裝要修改系統配置檔的時候,你可以修改fstab檔,在裏面為每個交換分區添加一個入口:這很簡單,拷貝一下標準的交換分區設置行,然後粘貼、修改一下分區號就可以了。這樣系統啟動時初始化腳本會用”swapon -a”命令自動啟動所有的交換分區。 如果你想在安裝完成之前就使用多交換分區,可以切換到另一個終端,然後利用swapon命令逐個啟動要使用的交換分區。 在你真得打算使用多交換分區之前,你要明白一點:內核對記憶體的需求更為迫切,交換分區的大小不是非常重要。請好好照顧自己的小企鵝。謝謝。

無法ssh連接到機器!

編輯/etc/hosts.deny檔,允許遠端IP訪問。默認設置會拒絕所有的連接請求(不僅僅是ssh連接)。 Edit your /etc/hosts.deny file. The default configuration will reject all incoming connections, not only ssh connections.

如何在啟動時載入模組?

如果你想載入未綁定到設備的模組,只要把模組名稱加入到/etc/rc.conf的MODULES陣列中即可。如果想在訪問設備時才載入相關模組,按照通常的alias/option格式將模組添加到/etc/modprobe.conf即可。如果udev無法正確的載入某個設備模組(這很少見),也可以使用這個方法。如果模組是通過MODULES變數載入的,而又想為它傳遞輸入參數,那麼只把相應的參數按照option的格式添加到/etc/modprobe.conf中即可。

內核因為“中斷丟失”無法啟動

內核拒絕啟動,並顯示類似“had IRQ探測失敗,had中斷丟失”的錯誤資訊。在2.6.x內核中,某些硬碟控制器會出現類似的錯誤,一般在啟動時給內核傳遞”acpi=off”參數可以解決這個問題。

播放音樂或者DVD時出現“拒絕訪問”錯誤

用下面的命令將你當前使用的用戶添加到optical和music組中:

gpasswd -a johndoe optical
gpasswd -a johndoe audio

先註銷再重新登錄以使組變換生效,此時就不存在設備許可權問題了。 如果你有一個DVD驅動器,你可能需要創建一個鏈結(如/dev/dvd)到真正的DVD驅動器。一般情況下,udev已經幫你完成了這個工作,我們以此為例子描述一下如何創建類似的鏈結。 例如,你的DVD設備名稱為/dev/sdc,以根用戶身份執行下面的操作:

cat >>/etc/udev/rules.d/00.rules <<EOF
> KERNEL="sdc", NAME="sdc", SYMLINK="dvd"
> EOF
/etc/start_udev
mount /dev/pts
mount /dev/shm

這樣就可以通過/dev/dvd訪問DVD驅動器了。

Personal tools