2012年11月15日 星期四

Arch Linux 安裝血淚 -- 安裝主程式


Arch Linux 安裝任務一:設定鍵盤配置

因為台灣用的都是美式鍵盤, 直接跳過.
如果有用其他的鍵盤配置, 參考arch beginner's guid.

Arch Linux 安裝任務二:設定語系檔

這一步可以跳過, 這一步只是在設定安裝環境的語系, 之後目標系統的語系會在重設,
不需要在這裡花間打開用不到的中文語系.(感謝arch中文社區Brli7848的指正)

# nano /etc/locale.gen
zh_TW.UTF-8 UTF-8
zh_TW.BIG5
  • nano /etc/locale.gen
    • 進去之後一路end到底, 把下面這兩行前面的#拿掉
      • zh_TW.UTF-8 UTF-8
      • zh_TW.BIG5
    • 如果怕以後簡體無法顯示的話, 就把zh_CN那幾行也都打開
    • Ctrl + X 存檔離開nano編輯器
# locale-gen
# export LANG=de_DE.UTF-8
  • locale-gen  #執行locale-gen讓統產生語系檔

Arch Linux 安裝任務三:設定網路

因為arch的安裝都要連上網抓一堆有的沒的, 強烈建議直接插一條網路線, 下指令:
  • dhcpcd eth0  #取得ip連上網路

如果像我一樣手邊沒有網路線, 只能用筆電的wifi的話.
好險現在無線網卡的驅動已經被包進安裝arch的安裝環境中了, 所以設定很容易.
首先用iwconfig找到無線網卡, 通常是wlan0
# iwconfig

找到之後, 把它啟用

# ip link set wlan0 up


啟用之後, 搜尋可用的wifi連線.

# wifi-menu wlan0


找到連線之後會跳出介面要你選擇連到哪個網路, 然後輸入wifi的密碼.很容易就搞定了.

Arch Linux 安裝任務四:建立檔案系統(filesystem)


# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2

這邊因partition的分割不同, 要自己查清楚, 可以用

# lsblk /dev/sda

這指令來確認要格式化的partition

Arch Linux 安裝任務五:掛載檔案系統

  • mount /dev/sda1 /mnt
  • mkdir /mnt/home
  • mount /dev/sda2 /mnt/home
如果像我一樣是  UEFI的主機板, 就要把UEFI partition掛載起來

# mkdir /mnt/boot/efi
# mount /dev/sdaX /mnt/boot/efi

Arch Linux 安裝任務六:選擇下載鏡像

pacman是package manager的縮寫,是一個套件管理程式,也是Arch Linux的重要特色之一。超好用, 用一次就會愛上, 在安裝的過程中, 會需要透過pacman安裝許多驅動程式, 桌面環境......等, 現在要做的是修改pacman的鏡像server參數, 選擇我們要到哪裡下載軟體, mirrolist這個檔案裡面在source後方有個數字, 代表的是這個鏡像伺服是的分數, 越大越好, 所以通常我會一路#下去, 只留下最後兩個分數最高的鏡像.
# nano /etc/pacman.d/mirrorlist
  • 進去之後, 我的作法是只留下台灣的鏡像, 其他的server都把他們#註解起來
  • 最近土耳其的鏡像也蠻快的, 所以我也會打開
  • 之後按ctrl+X 存檔離開


Arch Linux 安裝任務七:安裝主程式base和base-devel

終於作到這一步了,使用pacstrap指令安裝arch主程式, 高手可以用-i指令選擇要安裝的套件, 像我這樣的新手都是直接全部裝起來就對了.
  • pacstrap -i /mnt base base-devel
由於要下載個500多MB, 靜候30分鐘吧...土耳其的鏡像真的很快不到10分鐘就跑完了.


Arch Linux 安裝任務八:產生fstab檔

這個檔案會告訴linux, 開機的時候要掛載哪個檔案系統, 還很很多功能, 詳見https://wiki.archlinux.org/index.php/Fstab
在這裡我們只做基本的設定, 要系統開機時掛載對的檔案系統

# genfstab -U -p /mnt >> /mnt/etc/fstab        #用genfstab自動產生fstab檔
# nano /mnt/etc/fstab                          #進入nano編輯fatab檔



做一些官方建議的小設定
  • 只有root(也就是/)所在的partition需要在最後一個值設定成1,其他的partition都設成0或2即可.
  • data-ordered可有可無, 可以直接刪掉
  • 改完大概像下面這樣, /那行的結尾為 1 ,relatime後面的變數都刪掉


Arch Linux 安裝任務九:切換帳號chroot

到這一步開始就是切換到已經裝好的系統上作業囉!
# arch-chroot /mnt

Arch Linux 安裝任務十:再一次設定語系

我們在任務二設定時區是針對安裝環境做設定, 現在是對安裝好的arch linux主系統做設定, 不可以跳過喔. 動作和任務二完全相同.


# nano /etc/locale.gen
zh_TW.UTF-8 UTF-8
zh_TW.BIG5
# locale-gen


然後接著設定locale.conf檔, 這個檔案arch預設不會自動產生, 所以要跑下面這兩行,

# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8


如果用的不是美式鍵盤, 這裡就要在設定一次keymap喔. 在此就先跳過了.

Arch Linux 安裝任務十一:設定時區




# ls /usr/share/zoneinfo/

這句的執行結果如下圖, 要先從裡面找到想要的主時區, 台灣的話就是Asia.


# ls /usr/share/zoneinfo/Asia

然後進入主時區, 選擇想要的子時區, 在台灣就選Taipei.

真正要執行的式下面這行, 在/etc/localtime把時區設為Asia/Taipei

# ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime


 範例如下:

# ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime


Arch Linux 安裝任務十二:設定硬體時鐘(hardware clock)

硬體時鐘設定為UTC(建議作法), 這個方案並不是說會顯示成utc時間, 而是Arch Linux會照utc時間再調整成你時區的時間.

hwclock --systohc --utc



硬體時鐘設定為localtime(微軟預設採用localtime)

# hwclock --systohc --localtime



Arch Linux 安裝任務十三:設定hostname



echo myhostname > /etc/hostname




Arch Linux 安裝任務十四:建立初始的ramdisk環境


# mkinitcpio -p linux



Arch Linux 安裝任務十五:設定root密碼


# passwd

Arch Linux 安裝任務十六:新增一個經常使用的帳號

# useradd -m -g users -s /bin/bash 帳號名稱
# passwd 帳號名稱
使用useradd指令新增一個用戶,
-m 是強至的, 會為user建立家目錄
-g 會把該用戶的初始群組設為, 後面指定的群組, 這個例子裡也就是users

第二行是用passwd設定該帳戶的密

Arch Linux 安裝任務十七:建立開機表單


# pacman -S grub-bios
# grub-install --target=i386-pc --recheck /dev/sda
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
安裝grub2時,最好是指定target platform和做recheck比較保險。
(grub-install --target=i386-pc --recheck /dev/sdX)
未指定platform的話,根據經驗,預設會使用目前的平台,但是有機會判斷錯誤.
(感謝arch中文社區hyslion補充)


# grub-mkconfig -o /boot/grub/grub.cfg


Arch Linux 安裝任務十八:結束安裝


# exit
結束arch-chroot回到安裝環境


# umount /mnt/{boot,home,}
卸載所有剛剛掛載上去的分割區


# reboot
重新啟動


ArchLinux的主程式安裝就先報告到這, 之後再來報告桌面環境的安裝與設定.

4 則留言:

  1. 按照您的文章安裝
    在安裝任務九:切換帳號chroot 後
    出現 sh-4.2#
    接著
    在 安裝任務十:再一次設定語系 時
    出現 sh: nano: command not fond
    請問要如何解決
    謝謝

    回覆刪除
    回覆
    1. 把第七步改成pacstrap /mnt base base-devel再試一次
      -i的話是要選取特定套件時 才會用的參數

      刪除
    2. 作者已經移除這則留言。

      刪除
    3. 感謝您解答 有空時我會再試試(抱歉這麼晚才回)

      刪除