ArchLinux安裝與配置小結

最近無心間發現一個基於ArchLinux的發行版——BlackArch,主題十分炫酷(中二)。固然滲透類的Linux
發行版已經有BackTrack和Kali了,不過都是源於Debian的,使用者衆多,隨波逐流沒法突顯咱們的逼格,
要論小衆,ArchLinux算是個中翹楚。呵呵開個玩笑,其實ArchLinux的亮點在於「小」,不一樣於其餘發行版的「最小化安裝」,
ArchLinux的安裝過程就不同凡響,手動分區,手動配置bootloader,而後從網絡源下載必要的包安裝到指定的分區中。
安裝完必備的軟件(如gcc)後其他一律本身去添加,包括圖形界面。對於喜歡定製而又不怕折騰的朋友來講,Arch系列確實
是一個不錯的選擇。正好我尚未用過Arch系的發行版,所以就在虛擬機裝一個體驗一回,順便把其中遇到的坑記錄一下。php

安裝ArchLinux

關於ArchLinux的安裝,已經有無數文章介紹過了,不過質量參差不齊,每一個人遇到的問題也不盡相同,所以強烈建議先看一遍
官網的Beginner-guide。總的來講,操做系統的安裝過程不算複雜,問題主要出如今分區和bootloader的配置上,
能解決就好辦多了。html

準備工做

在官網的Download界面裏就有最新的iso鏡像源能夠下載,包括磁力連接和bt種子,下載好後燒錄到光盤或者u盤,就能夠做爲一個操做
系統直接啓動了。和通常的系統安裝不一樣,啓動後以root用戶進入一個傳統的linux命令行,內含/root /boot /home /etc /mnt等常見
目錄,這時能夠看到有不少軟件能用,好比ifconfig,由於此時軟件都是在鏡像上面的。咱們所須要作的,就是經過這個命令行來把咱們
的操做系統安裝到預留的磁盤空間內。linux

磁盤分區

磁盤分區是安裝系統的第一步,也是最重要的一步,分區的好壞決定了之後使用磁盤的效率,甚至會影響系統的正常啓動。關於磁盤分區能夠
先閱讀一下Arch Wiki的相關部份內容。首先,咱們能夠用lsblk命令查看分區和掛載點,在沒分區時應該只能看到空閒的/dev/sdx
分區信息主要存儲在分區表中,目前有兩種主流的模式,即MBR(Master Boot Record)和GPT(GUID Partition Table),鳥哥的私房菜裏講的就是
傳統的MBR分區,但其限制較多,好比只支持4個分區(後來加入拓展分區和邏輯分區),而GPT是較新的一種分區模式,解決了前者許多限制,所以這裏
就採用GPT來進行分區。分區的工具備不少,好比partedfdiskgdiskcfdisk等,這裏以gdisk(GPT版的fdisk)爲例,假設空閒磁盤爲sda:ios

gdisk /dev/sda

進入交互的命令行模式,顯示效果以下:網絡

Command (? for help):

此時按‘n’回車能夠添加分區,依次交互選擇分區號,起始扇區,終止扇區和「hex code」。如第一個分區(boot)選擇分區號爲默認(1),起始扇區選默認,
終止扇區設置爲「+250M」(不要引號)。hex code表示文件系統類型,默認爲8300(Linux File System),通常選默認就能夠了。不過要注意的是若是有交換分區,
要把hex code設置爲8200。都完成後能夠在交互模式輸入p回車查看分區詳細信息,若是沒問題,就輸入w回車寫入分區。退出後能夠經過命令查看詳細分區:tcp

fdisk -l

值得一提的是boot分區格式要設置爲EFI System,能夠在hex code裏指定也能夠在parted交互命令行中設置:ide

parted /dev/sda
(parted) set 1 boot on

格式化並掛載磁盤

假設咱們已經將/dev/sda分區爲四部分sda1~sda4,分別對應boot,swap,/目錄,home,首先格式化通常的存儲目錄:工具

mkfs -t ext4 /dev/sda1
mkfs -t ext4 /dev/sda3
mkfs -t ext4 /dev/sda4

對於交換分區咱們要用mkswap命令設置格式:字體

mkswap /dev/sda2

設置好文件格式後須要把咱們的分區(臨時)掛載到文件系統上:ui

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home
swapon /dev/sda2

在掛載點安裝Arch Linux

這裏用到Arch系列的經常使用命令pacstrap從網絡安裝基礎包和基礎開發包:

pacstrap /mnt base base-devel

通過大概半小時就能夠安裝好全部基礎的文件,此時Arch Linux已經算是安裝好了,可是若是直接重啓是進不了系統的,由於硬件啓動時候尚未掛載分區。
所以咱們先生成操做系統當前的分區信息文件:

genfstab -p /mnt >> /mnt/etc/fstab

這個文件的做用是在之後啓動時自動掛載你的磁盤分區,同時也會檢測前面設置的交換分區(若是有的話)。

安裝bootloader

在電腦剛剛啓動的時候,並不知道該如何進入操做系統,所以須要一個引導,bootloader起的就是引導做用。最多見的bootloader就是grub和syslinux
若是使用GRUB legacy做爲bootloader,必須使用MBR,所以咱們選擇syslinux。

首先咱們如今分區裏安裝syslinux:

pacstrap /mnt syslinux

關於syslinux的配置過程能夠參考官網的wikiSyslinux,安裝可分爲自動安裝和手動安裝,推薦自動安裝:

syslinux-install_update -i -a -c /mnt

安裝完成後用arch-chroot命令進入咱們的新系統設置語言,時區等其餘配置:

arch-chroot /mnt

修改/etc/locale.gen文件選擇語言,建議不要選中文否則會出現命令行亂碼。

locale-gen
echo LANG="en_US.UTF-8" > /etc/locale.conf
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改syslinux的配置信息,在文件/boot/syslinux/syslinux.cfg中能夠進行自定義的配置。這裏注意的是在Comboot modules
中能夠看到有啓動時須要的模塊XXX.c32,咱們須要把對應的/usr/lib/syslinux/bios/XXX.c32複製到/boot/syslinux/目錄下。
而後運行:

extlinux --install /boot/syslinux

此時bootloader已經安裝好了,對於PC來講,還須要一個啓動協議,即啓動系統的指令,對GPT而言就須要適合GPT分區的啓動協議,這裏是gptmbr.bin:

dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/sda

最後初始化磁盤環境, 「Make an initial ramdisk environment (mkinitcpio) using presets (-p) suitable for Linux」 :

mkinitcpio -p linux

而後退出chroot,取消掛載再重啓就能夠了,重啓以後記得拔出安裝光盤(u盤):

umount -R /mnt
swapoff /dev/sda2

更詳細的安裝圖文過程能夠參考ArchWiki或者國外一些博客如Braun's guide

使用ArchLinux

這裏先簡單介紹下ArchLinux的包管理工具pacman,相似與debian系列的apt和redhat系列的rpm,
方便咱們搜索,安裝,升級和卸載軟件。源的配置文件在/etc/pacman.conf,鏡像列表在/etc/pacman.d/mirrorlist,能夠根據速度選擇一個合適的源。

在安裝軟件前咱們須要先和軟件源進行一次同步,至關於apt-get update:

pacman -Syy

同步以後能夠選擇批量更新,相似與apt-get upgrade:

pacman -Syu

在源裏搜索並安裝單個軟件包,會自動安裝其依賴:

pacman -S package

安裝從其餘地方下載到本地的軟件包:

pacman -U /path/to/package/package_name.pkg.tgz

安裝某個軟件前能夠先在源裏搜索一有沒有,相似apt-cache search xxx:

pacman -Ss package

相似的在本地搜索軟件包:

pacman -Qs package

刪除某個軟件包,以及只有其用到的依賴包,若是要保留依賴能夠只指定-R:

pacman -Rs package

更詳細的命令能夠查看pacman的manpage。

安裝驅動

顯卡驅動

Xorg默認安裝的時候已經安裝了部分開源的圖形驅動,通常來講已經夠用,咱們也能夠安裝本身顯卡對應的閉源驅動,好比能夠去其
顯卡官網或者筆記本電腦官網下載Linux版本的最新驅動,或者從鏡像源下載不那麼新的穩定版:

pacman -S mesa xf86-video-intel #A卡
pacman -S nvidia  nvidia-utils  #N卡

聲卡驅動

聲卡驅動有oss和alsa,通常選擇後者,裝好後能夠用alsamixer命令調節音量:

pacman -S alsa-utils

其餘

除了聲卡和顯卡的驅動,咱們通常還須要無線網卡的驅動,能夠在筆記本官網下載。值得一提的是,若是筆記本沒有
有線網絡的話,這個最好在安裝以前就先準備好無線網卡的驅動,以方便隨後用pacman安裝其餘軟件。

配置網絡

上述步驟完成後咱們就能重啓進入ArchLinux的命令行了,默認是tty1,沒有桌面環境,而此時也好不能上網,須要手動配置。
首先在/etc/rc.conf文件的NETWORKING段配置ip(你的IP)/netmask(子網掩碼)/broadcast(廣播地址)/ROUTES(路由),
若是爲動態,將/etc/rc.conf文件的eth0改成dhcp形式。注意對於新版本的ArchLinux,啓動程序的管理已經從initscript
變成systemd,統一用systemctl命令管理而不用/etc/rc.conf管理。

若是隻有無線網絡,咱們能夠用iwconfig命令鏈接上路由器:

iwconfig wlan0 essid AP_NAME key KEY_NAME

其中essid後面是Wifi的名字,key後面是Wifi密碼。此時應該就能夠訪問互聯網了。值得一提的是若是爲虛擬機,默認網絡就
已經鏈接好了,咱們只須要經過sudo dhcpcd命令打開便可。

圖形界面

利用pacman命令咱們就能夠安裝須要的軟件了,對通常PC而言先裝一個圖形界面是挺有必要的,首先安裝Xorg。

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

Xorg是X11的其中一個實現,而X11(X Window System)是一個C/S結構的程序,Xorg只是提供了一個X Server,
負責底層的操做,當你運行一個程序的時候,這個程序會鏈接到X server上,由X server接收鍵盤鼠標輸入和負責屏幕輸出窗口的移動,
窗口標題的樣式等等,都是由一種叫作窗口管理器的程序來完成的,安裝好後startx,以下圖所示,其中包涵了Xorg,4個窗口及對應的程序,
和Xorg自帶的窗口管理器twm:

能夠看到這些窗口已經有了圖形界面的雛形,若是爲了更好的顯示效果能夠本身去安裝其餘窗口管理器如Gnome,KDE,xfce等。
下面三個命令分別安裝xfce窗口管理器,字體以及輸入法:

sudo pacman -S xfce4
sudo pacman -S ttf-arphic-uming ttf-arphic-ukai ttf-bitstream-vera 
sudo pacman -S ibus ibus-pinyin

安裝好後reboot,而後進入tty,用startxfce4就能夠進入窗口管理器了:

能夠看到畫面十分簡潔清秀~嘿嘿。

後記

至此ArchLinux的安裝和配置就完成了,雖然步驟比較多,但因爲其Wiki很是詳細且全面,所以90%的問題都能找到解決方法。 前期安裝bootloader的時候也有好幾回由於配置不全/不正確致使開機黑屏沒法進入引導幾近抓狂,但俗話說得好,失敗是免費的, 從失敗中學到正確的方法,對本身也沒什壞處。另外經過玩一遍ArchLinux,又對系統的分區和啓動過程瞭解很多,真算得上是"獲益匪潛"了。

相關文章
相關標籤/搜索