Arch Linux 是通用 x86-64 GNU/Linux 發行版。Arch採用滾動升級模式,盡全力提供最新的穩定版軟件。初始安裝的Arch只是一個基本系統,隨後用戶能夠根據本身的喜愛安裝須要的軟件並配置成符合本身理想的系統。 —— 引自Arch Linux Wikiphp
我就爲了上面的最後一句話:」用戶能夠根據本身的喜愛安裝須要的軟件並配置成符合本身理想的系統「。而後本身就根據Arch Linux 的WiKi上的安裝教程,再配合網上其餘人的安裝教程安裝並配置本身的Arch Linux;另外說一句,Arch Linux的WiKi真的是很是全面,基本上能夠解決平常使用中的大部分問題,並且大部分都有對應的中文翻譯(這篇教程不少也直接引用了Arch Linux WiKi上安裝教程的內容)。然而,就算有如此多的資源可用,但在實際安裝過程當中仍是出現了很多問題。linux
廢話少說,下面就開始安裝咱們的Arch Linux吧!shell
因爲我是使用VMWare workstation虛擬機(VMWare的安裝和使用就不介紹了,網上一搜一大片)來安裝的Arch Linux。新建一個虛擬機,而後我爲Arch Linux在WMWare上分配了1G的內存和8G的硬盤,你也可使用更大的硬盤空間。要注意的是VMWare在新建虛擬機選擇系統時是沒有Arch Linux的選項的,這裏我選擇的是」其餘Linux 3.x內核64位「,由於我使用的是x86_64的ISO映像文件;而後在虛擬機中設置下載好的ISO映像文件的路徑便可,再在「虛擬機->設置->選項->高級」中勾選」經過EFI而非BIOS引導(B)「選項(其實這一步不是必須的,最要是看你使用什麼方式來引導系統),最後直接啓動虛擬機就能夠開始正式安裝Arch Linux了。vim
先給出幾個有用的Arch Linux的WiKi連接:安全
一、Installation guide(簡體中文)bash
二、VMware/Installing Arch as a guest (簡體中文)網絡
上面兩個連接對安裝基本的Arch Linux其實就足夠了,可是因爲Arch Linux是「高度自治」的Linux發行版,因此在安裝後須要根據本身的喜愛來配置系統(例如,對於圖形桌面的選擇,固然前提是你須要使用圖形桌面),所以你還須要搜索你須要的其餘信息。dom
好了,如今開始安裝Arch Linux吧,使用EFI和BIOS引導時的啓動界面分別以下圖:tcp
使用EFI引導時的啓動界面ide
使用BIOS引導時的啓動界面
不管使用哪一種引導方式,均選擇第一項啓動就能夠了,啓動成功後就會進入命令行模式,此時若是在真機上安裝的話,能夠在此處列出efivars目錄以驗證啓動模式來判斷主板是以何種方式引導系統的(這對以後對硬盤的分區有用):
ls /sys/firmware/efi/efivars
若是該目錄不存在,系統就可能以BIOS模式啓動。
因爲Arch Linux在啓動後,守護進程dhcpcd已被默認啓用以探測有線設備,所以,若是是在真機上安裝的話,請確保使用的是有線網絡。
Arch Linux的安裝必須使用網絡才能完成,使用下面命令以驗證網絡是否正常:
ping -c 3 www.baidu.com
若是網絡不正常,多是因爲dhcp服務沒有開啓,可使用如下命令來開啓此服務:
systemctl enable dhcpcd.service
首先仍是驗證一下系統的時間是否正常:
timedatectl status
若是時間和當前時間對不上的話,使用下面命令來更新系統時間:
timedatectl set-ntp true
ntp服務會每隔一段時間進行一次網絡對時,更新系統時間後,能夠再次驗證一下時間是否正常。
硬盤若是被系統識別到,就會被分配爲一個塊設備,如/dev/sda;所以先查看一下硬盤的狀態:
lsblk
輸出以下圖:
這裏sda便是我分配給虛擬機的8GB硬盤,由於sda節點下無任何顯示,因此此硬盤尚未分區;loop0和sr0能夠忽略。若是硬盤已經有分區,sda節點下應當會顯示以下圖:
具備3個分區的硬盤
也可使用命令:
fdisk -l
來查看硬盤的分區狀況。
接下來咱們要對這8GB的硬盤進行分區,可以建立分區的命令不少,如fdisk,parted,cfdisk等,這裏使用有GUI的cfdisk命令(在真機上分區時,請認真檢查你的硬盤是否選擇正確,若是你有多個硬盤,可能你要用來安裝Linux的硬盤並非以下所寫的/dev/sda,而是/dev/sdb也說不定;或者你是想安裝雙系統):
cfdisk /dev/sda
對於一個選定的硬盤,有一些分區是必需要有的:
由於我前面設置的是EFI引導,所以須要在此處需分一個EFI分區(EFI分區推薦大小爲512MB)。使用cfdisk分區命令後進入分區界面,以下圖:
分區表類型選擇
這裏咱們選擇gpt分區表,進入以後,我就分了上面所講的3個必要分區,分別爲根分區,EFI系統分區,Swap分區:
使用cfdisk分好區
分好區後確認寫入分區到硬盤,而後退出分區工具,再次使用lsblk查看一下,顯示以下圖:
已分好區後的硬盤
分區完成後,須要對分區作格式化處理,因爲這裏使用了EFI分區,由於EFI分區須要FAT32文件格式(若是是在真機上已安裝有Windows的狀況下安裝Linux成雙系統,且以EFI引導系統,則EFI分區不須要再次格式化),因此須要將其格式化爲FAT32格式;根分區格式化爲ext4格式;設置並開啓Swap分區:
mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2 mkswap /dev/sda3 -L Swap swapon /dev/sda3
格式話完成後,須要將分區掛載到 /mnt ,先掛載根分區(這裏是/dev/sda2);再掛載EFI分區(這裏是/dev/sda1),掛載EFI分區時,須要在/mnt上先建立 boot/EFI 目錄,而後將EFI分區掛載到/mnt/boot/EFI上;Sawp分區不須要掛載:
mount /dev/sda2 /mnt mkdir -p /mnt/boot/EFI mount /dev/sda1 /mnt/boot/EFI
在安裝基本系統以前,須要修改一下軟件鏡像源,否則安裝基本系統時會安裝不上。鏡像源列表在 /etc/pacman.d/mirrorlist 文件中。
咱們選擇軟件鏡像源時,最好選擇國內的鏡像源,由於國內網絡環境的關係,選擇其餘國家或地區的鏡像源,安裝時可能很慢或失敗也不必定。
下面首先添加了阿里巴巴鏡像源到一個新文件(此處爲mrlist),而後從mirrolist文件中選出全部國內鏡像源追加到mrlist中,而後將mirrorlist文件的內容追加在mrlist的最後面,最後將mrlist重命名爲mirrorlsit:
echo '## China\nServer = http://mirrors.aliyun.com/archlinux/$repo/os/$arch' > mrlist grep -A 1 'China' /etc/pacman.d/mirrorlist|grep -v '\-\-' >> mrlist cat /etc/pacman.d/mirrorlist >> mrlist mv mrlist /etc/pacman.d/mirrorlist
執行完以上命令後,可使用如下命令來查看mirrorlist文件是否修改爲功:
nano /etc/pacman.d/mirrorlist
若修改爲功,會看到mirrorlist文件中的開頭的內容全是國內的鏡像源。最後,建議將16三、清華(tuna)放在最前面。
修改完軟件鏡像源後,而後就能夠開始安裝系統了:
pacstrap -i /mnt base base-devel vim
使用-i選項會在實際安裝前進行確認;安裝 base-devel組,可讓咱們經過 AUR (簡體中文) 或者 ABS (簡體中文) 編譯安裝軟件包,若是不須要經過AUR或ABS安裝軟件包,則只須要安裝base組就能夠了 。
等待基本系統安裝完成後,用如下命令生成 fstab 文件 (用 -U
或 -L
選項設置UUID 或卷標):
genfstab -U /mnt >> /mnt/etc/fstab
而後使用如下命令檢查一下生成的fstab文件是否正確:
nano /mnt/etc/fstab
若是生成的fstab文件正確,會看到以前分的3個分區的信息。
切換到新安裝的系統:
arch-chroot /mnt
chroot以後,當前目錄就變成爲 / 。此步會自動進行建立初始的ramdisk環境,可是若是之後更改了內核配置了的話,最好使用一下命令再從新生成ramdisk環境:
mkinitcpio -p linux
而後將系統時區設爲東八區:
ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
設置時間標準爲UTC,並調整時間漂移:
hwclock --systohc --utc
這一步對使用地區和語言等進行配置。在/etc/locale.gen文件中進行配置,locale.gen是一個僅包含註釋文檔的文本文件。指定須要的本地化類型,只需移除對應行前面的註釋符號(#
)便可,使用下面命令打開locale.gen文件:
nano /etc/locale.gen
而後找到下面3項,去掉每項前面的#便可:
en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
locale-gen生成Locale信息,並列出全部啓用的Locale:
locale-gen
locale -a
最後建立locale.conf文件,並提交所要使用的本地化選項,而後使用locale命令顯示當前正在使用的Locale和相關的環境變量:
echo LANG=en_US.UTF-8 > /etc/locale.conf
locale
/etc/locale.conf用來配置整個系統所使用的Loacle,而這也能夠由用戶經過用戶本身的 ~/.config/locale.conf (~表示當前用戶的Home目錄)來覆蓋整個系統的Locale配置。
提示:創建 /etc/skel/.config/locale.conf 文件,能夠在新用戶的創建(新用戶的創建見下文)且同時建立用戶主目錄(useradd -m)時,自動應用其中的Locale(會將此文件複製到新建用戶的 ~/.config/locale.conf 中)。
注意:不推薦此時設置任何中文locale,由於這樣作可能會致使tty顯示亂碼。
要設置主機名,建立 /etc/hostname 文件並將主機名寫入該文件便可。個人主機名爲freeLinux:
ehco freeLinux > /etc/hostname
而後配置主機名對應的IP到 /etc/hosts 中:
nano /etc/hosts
將其中的主機名改成你本身的主機名(我這裏是freeLinux):
127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost 127.0.1.1 freeLinux.localdomain freeLinux
若使用有線網絡的話,啓動dhcp服務:
systemctl enable dhcpcd.service
若使用無線網絡的話,則安裝如下幾個軟件包(由於使用的時虛擬機,並未驗證過):
pacman -S iw wpa_supplicant dialog
設置root密碼:
passwd
而後輸入兩次密碼便可。
由於使用root用戶登錄後,root用戶擁有系統的全部操做權限,這樣對系統的操做很是不安全(如一不當心將系統文件刪除了,怎麼辦?),因此須要新建一個普通用戶,讓其對系統的操做受到必定限制,使用下面命令新建用戶free:
useradd -m -G wheel -s /bin/bash free
-m:建立用戶主目錄(/home/[用戶名])
-G:用戶要加入的附加組列表;此處
將用戶加到wheel
組中,以後能夠給這個組執行sudo
命令的權限-s:
指定了用戶默認登陸shell的路徑,此處設置爲bash的路徑
更多建立新用戶的使用請查看Arch Linux WiKi:Users and groups(簡體中文)。
而後修改新建立用戶的用戶密碼,和修改Root用戶密碼所使用的命令同樣(只是須要指定要修改密碼的用戶名):
passwd free
而後輸入兩次密碼便可。
之後大部分時間咱們都將使用此普通用戶來工做,但因爲此用戶的操做權限有限,有時會對不少操做帶來不便,所以須要給該用戶在某些狀況下提權,這就須要容許該用戶所在的wheel組有執行sudo命令的權限,此時須要修改 /etc/sudoers文件 ,但請不要直接修改此文件,而是用下面的命令修改:
visudo
使用上面命令打開sudoers文件後,刪除wheel組前面的註釋(#)便可:
## Uncomment to allow members of group wheel to execute any command %wheel ALL=(ALL) ALL
若執行visudo時,提示找不到vim,則請先安裝vim後在執行上面的操做,執行下面指令安裝vim:
pacman -S vim
grub是一個啓動引導器,同時支持EFI和BIOS方式的啓動。若使用的UEFI方式引導系統,則還須要安裝efibootmgr,若是是雙系統的話,還須要安裝os-prober,且若是使用Intel CPU的話,則須要安裝 intel-ucode 並啓用因特爾微碼更新。
由於咱們使用的是虛擬機和UEFI引導方式,所以只須要安裝grub和efibootmgr:
pacman -S grub efibootmgr
而後,還須要將其安裝到EFI分區當中:
grub-install --recheck /dev/sda
注意:此處的 /dev/sda 後沒有數字。
若提示 error:cannot find EFI directory,則說明EFI文件夾的路徑不正確,找不到EFI文件夾的位置,此時就須要在上面命令中加入 efi-directory 參數指定安裝路徑:
grub-install --recheck /dev/sda --efi-directory=/boot
最後還須要生成一個grub的配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
提示:如是在已經有Windows系統的PC上安裝Linux成雙系統,那麼因爲在安裝介質環境中,此時可能檢測不到Windows系統。在以後重啓後進入Arch Linux後,再從新執行一遍此命令,這樣就能檢查到全部的系統了。
到此,Arch Linux的基本系統的安裝就完成了。如今須要重啓以進入新系統:
exit umount -R /mnt reboot
下圖顯示爲使用exit命令退出chroot環境先後的命令提示符:
退出chroot環境以前
退出chroot環境以後
若使用exit沒法退出chroot環境,請多輸入幾回或則請使用Crtl+D組合鍵多試幾回。退出chroot環境後再執行以後的操做便可。
重啓系統以後,會出現下圖啓動界面:
重啓以後的啓動界面
選擇第一個就進入到咱們新安裝的Arch Linux了,以下圖:
進入新系統以後的界面
而後咱們直接使用前面建立的free用戶登錄到系統,以下圖:
使用free登錄到系統
這樣,Arch Linux的基礎系統就算安裝完成了。
因爲尚未安裝桌面,因此登錄後還處在命令行模式。之因此使用free用戶登錄而不直接使用root用戶登錄(實際上這也是安全的方式,除非你肯定知道你想以root用戶登錄作些什麼),是由於我以後只想默認在free用戶下安裝和啓動桌面;而若是使用root登錄時,默認仍是繼續運行在命令行模式,而若是想要在root用戶下使用桌面,則還須要相關的配置。
桌面及其基本軟件的安裝等配置,以後再寫吧!