標籤:

Arch Linux 怎麼安裝?

新的 Arch 究竟是怎麼安裝的呢?

不要讓人去看 wiki,就是看了又實際的動了,就是沒裝上。

VB 虛擬機里安裝和實際安裝有什麼區別?

怎麼在虛擬機里安裝?

怎麼進行實際安裝?


這可能是你能找到的最適合你的中文ArchLinux安裝教程。

我根據自己四次安裝ArchLinux的經驗並完全依照官方Wiki的流程與操作,寫了兩篇安裝與配置教程,推薦給看到這個問題的你們:

以官方Wiki的方式安裝ArchLinux

ArchLinux安裝後的必須配置與圖形界面安裝教程

如果覺得有幫助請點個贊吧,如果有任何的意見、建議請指出,幫助我來完善這個教程。


半年來教程的閱讀量已經達到了1.3w+了,最高興的是看到有人按教程成功裝好了系統,這個教程我會一直跟進官方文檔來做更新,也結合大家提出的常見問題做了很多補充。希望每一個有興趣的人都可以從這裡走近ArchLinux。


Arch的安裝過程被人為複雜化了。它很可能是個過濾用戶的陰謀:如果你按wiki裝不上,那麼就算給你台裝好的arch,你用起來也必定很痛苦。

Linux老司機如果身邊有別的arch機器,你只需要:

1. 用tar把那台機器的根目錄整個打包(記得加--one-file-system參數,防止把/proc, /dev等打進來)。

2. 找個新一點的live usb啟動機器(grml就挺好)。

3. 分區,mkfs。

4. 整個包解壓到根目錄。

5. 修改/etc/fstab里的dev或UUID。

6. 支持UEFI的機器上沒必要grub,把vmlinuz-linux和initramfs-linux-fallback.img複製到EFI分區,efibootmgr加個啟動項即可。精簡版的initramfs可以等系統安完之後再生成。

7. 收工。

以上流程其實適用於各種發行版。


提供一個ArchLinux 網路安裝的方法,為了嘗試各種linux發行版,我沒事就會倒騰各種版本,使用鏡像安裝比較麻煩,所以都盡量嘗試netboot方式。Archlinux也提供了netboot安裝方法。 安裝步驟如下:

步驟一: 安裝準備

1,下載ipxe.lkrn文件,放到一個非安裝目錄。

2,編輯grub.cfg, 增加一個啟動項

menuentry "Network boot" {

linux16 /boot/ipxe.lkrn
}

步驟二: 重啟電腦,在grub菜單處選擇Networkboot,該過程會獲取DHPC IP,並下載啟動文件。

步驟三: 在啟動過後會進入archlinux的命令行環境,提供了基本的shell操作命令行,已經archlinux特有的安裝命令。在更目錄提供了install.txt。基本上按照install.txt步驟執行,則可以完成安裝。

注意:因為是在線安裝,所以選擇一個下載速度快的鏡像源非常重要,我使用阿里雲的archlinux鏡像源,基本上20分鐘可以完成所需包的下載。 地址為:http://mirrors.aliyun.com/archlinux/iso/2017.05.01/arch/x86_64/

詳細參考: https://www.archlinux.org/releng/netboot/


如果你日常使用linux的年限不能用年來衡量的話,我建議你先從ubuntu或者fedora開始你的linux旅。

目前看來,對於一個有linux使用經驗的用戶,安裝arch最快捷的方法就是閱讀arch wiki的Installation guide和Beginners" guide,只是你可能要閱讀不只一篇wiki, 當然如果你的身邊有arch用戶,直接向他們求教是最快捷的方式,但對操作背後的理解可能不會有太多的幫助。而且需要指出的是,arch的安裝只是萬里長征的第一步,之後你還會面臨數不盡的配置難題,arch wiki是你最好的資料來源

另外,安裝arch之前我建議你瀏覽一下wikipedia上的Linux startup process條目和uefi和gpt條目,使用lvm會讓你日常的arch救援更得心應手

如果你覺得以上內容比較晦澀的話,那麼我建議你還是應該從ubuntu入手,在實踐中積累linux的使用經驗

這裡有這樣一個共識,是關於linux發行版進階的:ubuntu/fedora/centos/opensuse -&> arch -&> gentoo -&> LFS

所以不建議一上手就嘗試arch,對於新手而言會有挫敗感,人生苦短,自己何必難為自己呢 :)


manjaro


寫在最前:

首先ArchLinux真的不適合做自己的工作開發機器,如果你的代碼無比珍貴,請不要使用Arch。不管你贊不贊同,這是一句忠告。

-------------------

update:2017年03月15日00:18:33

已經把這個linux入門寫入到了文章裡面,後續考慮開專欄持續更新,

亂彈Linux之從入門到放棄 - 知乎專欄

承蒙各位關照。

--------------------

OK,我們可以來折騰折騰arch了,那麼我來一步一步教你如何在vbox裡面安裝archlinux。

配置Vbox首先,在vbox裡面新建一個VM,選擇好Archlinux 64bit類型,然後一路下一步。

然後選中它,點擊「設置」來對它進行一些簡單的配置工作。

  1. 去掉軟碟機
  2. 如果你勾上「啟用EFI」那麼接下來的分區方式就要用GPT,引導方式EFI。(可自行參見archwiki)

在此,我們沒有勾選啟用EFI,經我自行測試發現vbox對EFI的模擬還不是很完善,系統有很大幾率無法自動引導而是進入UEFI Shell,不過也無所謂,可以在這個shell中直接運行 *.efi文件來進入系統,真機上無此問題

然後,切換到「處理器」選項卡,如圖配置

  1. 處理器分配自己拿捏吧,如果你覺得虛擬機處理太慢,按鍵有延遲等情況,可加大。
  2. 勾選這個選項,傳遞主板的電源管理到虛擬機,如果不支持的話會造成開機時出現

intel_rapl: no valid rapl domains found in package 0

告警,不過不影響進入系統。

最後,配置一下「顯示」

  1. 顯存自然是越大越好咯
  2. 3D加速需要安裝顯示驅動之後才能打開,在此勾不勾無所謂

到此,配置工作結束,選擇存儲,載入ISO光碟鏡像後,點擊「運行」。

  • 安裝 ArchLinux

進入光碟系統之後,首先是對硬碟分區以及格式化。這個光碟系統本身自帶了很多工具。可以從archwiki上進行了解。在此,我使用parted來分區。

1. 使用parted進入

2. mkpart的用法是 &<主/次分區&> &<格式&> &<起&> &<止&>

  • 使用msdos分區表(如果在之前的設置勾選了「啟用EFI」則要使用GPT)
  • 創建一個主要分區,大小100M
  • 設置為boot分區
  • 創建一個交換分區,大小1G
  • 創建一個主要分區,大小為其餘所有剩餘空間
  • p 列印分區表,看看是不是我們想要的
  • q 退出

接下來便是格式化的工作了。lsblk 列印設備,可以看到剛才的分區對應的真實設備名為sda1~3

mk* 格式化設備,把sda1,sda3(你們的順序可能跟我不同,所以按照自己剛才分區的節奏來帶)使用mkfs.ext4格式化為ext4,那個1G的sda2使用mkswap格式化為交換分區(虛存)

舉個栗子。

mkfs.ext4 /dev/sda1 #就是把sda1格式化成ext4

一條一條的解釋,

swapon 啟用一個交換分區

mount 把sda3這個設備掛載到本系統的/mnt目錄(本系統為我們正在運行的光碟系統)

cd /mnt 進入這個目錄就相當於進入了sda3這個設備,也就是剛剛我們分區並格式化的這個設備

mkdir boot 建立一個boot目錄

mount /dev/sda1 /mnt/boot 還記得第一個分區(100M)嗎?掛載到boot上面

理論上,接下來我們就可以安裝系統了。為了加速安裝,我們添加一下網易的源。

使用命令

nano /etc/pacman.d/mirrorlist

  1. 用方向鍵調整游標,在合適的地方寫上網易的源,然後使用ctrl+o保存修改,ctrl+x退出編輯。
  2. 使用pacman -Syy更新源以捕獲剛剛添加的網易源

最後, 使用

pacstrap /mnt base base-devel

來安裝系統到/mnt目錄中去(也就是sda3分區上)

base-devel 是gcc g++ m4 make 等等編譯打包相關的工具集我個人覺得是很必要的。

安裝完成之後使用

genfstab -U /mnt &>&> /mnt/etc/fstab

意思是把/mnt目錄下的所有掛載關係映射一份到etc下面以便於下次開機就會自動掛載,比如那個交換分區,那個sda1掛載到boot。

自此,系統就安裝好了,接下來,我們聊聊配置系統

  • 配置ArchLinux

現在系統雖然已經安裝上去了,但此時重啟是進入不了系統的,因為還有引導程序沒有安裝。(註:如果使用GPT+EFI的方式此時應該是可以直接引導,如果不能可以試試安裝systemd-boot)

首先切換到我們剛剛安裝的那個系統的文件系統

arch-chroot /mnt /bin/bash

此時,根目錄/ 變成了新安裝系統的根,也就是原來位於/mnt的地方這樣就再訪問不到原光碟系統的文件了,使用bash登錄root用戶

下載grub

pacman -S grub

然後安裝grub到sda設備上並生成配置文件

grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

這裡不要選錯了,不是sda1而是整個sda

OK,我很佩服你的耐心,能看到這裡得話,你的系統就完全弄好了。你可以彈出ISO文件,重啟一把

卻看到了這個畫面,方的一逼,以為自己安裝失敗,怎麼進不去系統?其實仔細看看

如果不看後面那個警告,最前面localhost login: 這裡就已經代表成功安裝了,偏偏警告太過於顯眼導致一些新手在這裡心理崩盤重裝。此時回車幾下就好了。

怎麼樣,愉快的進入了系統!

UPDATE:2016-4-19

使用root進入系統,前方有大量的配置等待著我們。

下面的工作如果有意折騰Arch的話,應該要自己寫成一個shell腳本,以後重裝的時候會大幅減少重裝成本!而且,trust me,你一定會在折騰之初大量反覆重裝的。

  • 配置語言環境(編碼)

這個工作非常重要,重要到它會關係到我們之後想要使用的zsh和zsh的主題oh-my-zsh會不會出現顯示錯亂和亂碼。

使用nano編輯器編輯/etc/locale.gen,用ctrl+v向下翻頁(ctrl+y向上翻)

放開en_US.UTF-8 這一行(默認這一行是被注釋的)

這個環境是系統能正常工作的保證,當然它是英文的環境,如果你希望看到的中文的系統環境

再往下翻找到zh_CN.UTF-8 放開注釋

保存退出

注意:en_US.UTF-8是必須要有的不管你是不是打算選擇中文的環境除非你有能力解決你碰到的所有軟體的兼容性問題。

然後使用

locale-gen

生成編碼。然後使用

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

配置系統優先語言環境為英文

  • 配置時間

設置時區

使用date命令,八成看到的是UTC+0時間,跟我們的時區相差8個小時

看一下/etc/localtime是否存在,如果存在可以使用rm刪掉

然後使用軟鏈接,把上海的timezone文件鏈接過來,使用如下命令

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

最後使用date命令檢查一下看看時間對不對。

  • 配置主機名

一旦配置了主機名,登錄的用戶就會顯示出xxx@hostname的形式了。

echo Sjet &> /etc/hostname

  • 創建用戶

我們剛才一直是使用root裸奔,這對於linux而言是非常危險的,所以接下來的工作就是添加用戶了

useradd -m -G wheel -s /bin/bash rowland

-m是創建的用戶默認生成/home/xxx 的用戶目錄,下文用」~「來指代。

-G是追加到一個組裡面去在此是wheel組,這個組是接下來我們要配置的擁有sudo許可權的組

-s是使用哪種shell,在此呢,我們先使用bash,接下來我們也會改掉它

rowland是我的用戶名了:)

然後創建密碼

passwd rowland

到此用戶創建完畢。

  • 為用戶添加sudo許可權

這個用戶目前還沒有sudo執行許可權,所以暫時沒有必要切換用戶,還是使用root安裝sudo。

pacman -S sudo

安裝了sudo之後就使用

visudo

來配置那些用戶可以使用sudo了。

visudo使用的是vim的編輯環境,進入之後是命令模式,使用/privileget 回車是查找privilege關鍵字,如果要重複查找下一個可以直接打 / 之後回車。找到截圖中的這一行的開頭,然後按兩下x放開這一行的注釋。這一行代表wheel組用戶可以使用sudo執行所有的命令,下面那一行的意思是說wheel組用戶可以不需要密碼執行所有命令。大家可以按自己的需求來吧。改好了之後按兩下ZZ保存退出(你可以使用shift+zz也可以打開caps lock之後按兩下z)

OK,使用su rowland來切換用戶,然後使用sudo reboot來測試一下。

重啟之後可能上不了網,可以使用

sudo systemctl start dhcpcd

來啟動dhcp服務進程。

sudo systemctl enable dhcpcd

來添加開機啟動服務中去。

如果順利重啟,那可以接著往下看。cause 重頭戲就要來了,那就是桌面DE環境,這個讓人既愛又恨的linux桌面運行環境:)

  • 桌面

關於linux上面的桌面一般的架構都是採用的x,連接本地的xserver,調用x11介面來實現的,關於linux的桌面顯示架構arch和wiki都有很完善的文檔。在此就不多做介紹了。

所以,第一步安裝x,xserver

sudo pacman -Syu xorg xorg-xinit xorg-utils dbus

然後就是安裝桌面了,本來按照我一開始的打算是安裝E的,但是試用了一段時間發現不是很穩定,所以在此還是決定以比較穩定的gnome為例吧,安裝gnome

sudo pacman -Syu gnome gnome-extra

extra是gnome環境下的應用合集,如果你有潔癖可以只安裝gnome。

安裝完畢之後,拷貝一份xinit的初始化配置文件到用戶目錄下

cp /etc/X11/xinit/xinitrc ~/.xinitrc

接下來用nano編輯它,翻到最後,把twm 開始到末尾的信息全部注釋掉,然後添加gnome的啟動參數,如圖(截圖由於被壓縮了導致把export後面的變數的下劃線給壓沒了!注意了變數的下劃線,文檔:GNOME - ArchWiki)

export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session --session=gnome-classic

接下來,激動人心的一刻來臨了,使用命令

startx

啟動桌面。

久違的桌面就這麼赤果果的展現出來了!

  • 自動登錄

每次手動startx肯定不爽吧,如果我們的確需要自動登錄的話,就得使用dm登錄管理器

sudo pacman -Syu gdm

安裝gnome dm。

然後使用

sudo systemctl enable gdm

添加開機啟動

sudo systemctl start gdm

進入gdm

---------update 2016/05/23

  • 安裝驅動

進入了桌面但是發現圖標大的爆表,窗口也無法拖大。因為我們還沒有安裝vbox的專用驅動vbox-guest-additions。

首先進入vbox官網下載最新的vbox extpackage擴展安裝包,Linux用戶下載guest additions updates

下載完成雙擊安裝。

接下來到ArchLinux的桌面環境中,在安裝驅動之前,先打開終端(點擊gnome桌面左上角A標記圖標,搜索terminal),然後使用

sudo pacman -S linux-headers

安裝內核頭文件,因為vbox的驅動是需要編譯內核的,之後點擊Vbox頂部的「設備」,「安裝增強工具」。桌面會彈出如何處理光碟,直接點擊run就可以了。它會自動安裝並配置好驅動程序!

然後重啟一把,現在你應該可以縮放你的vbox窗口了,試一試吧!

ps:現在我們可以找個機會先關機並把最開始沒有配置的vbox選項卡裡面的3d加速打開了。

pss:如果有人不能啟動桌面的話試試安裝dbus和xorg-utils,然後重新安裝guest-additions。

updated 2016/05/25

  • 環境設置

1 字體

由於缺乏字體,你稍微探索目前這個桌面,會發現中文的顯示要麼亂碼,要麼很醜,要麼顯示不出來。

pacman -Ss font

可以用來搜索含有font關鍵詞的安裝包,可以自己選擇感興趣的安裝。

sudo pacman -S ttf-dejavu wqy-microhei wqy-zenhei

我就安裝這幾個啦。順便一說ubuntu的字體是很漂亮的噢,大家可以試試。

2 瀏覽器

接下來安裝瀏覽器firefox,雖然被很多前端開發者詬病,但我個人覺得firefox是linux桌面環境裡面最好的瀏覽器(是的,沒有之一)。

sudo pacman -S firefox

安裝完成之後桌面左上角application裡面搜索,打開瀏覽器。在performance中的content可以自己設置字體。

然後重啟一下瀏覽器。中文頁面就顯示正常了。

3 ZSH以及ZSH主題oh my zsh

sudo pacman -S zsh

安裝完成之後什麼都不需要做,打開瀏覽器,百度搜素oh my zsh,彈出的第一個頁面往下拖,

找到install oh-my-zsh now 複製這句命令(不要複製最前面那個美元符),然後到terminal裡面ctrl+shift+v粘貼,運行。不出問題的話一切就都自動搞定了。

4 輸入法

sudo pacman -S fcitx-im fcitx-configtool fcitx-sunpinyin

安裝完成之後使用命令(如果fcitx-im安裝不上,可以試著添加sohu源和中科大的源)

fcitx-configtool

打開設置面板。點擊左下角有個「+」號

在彈出的面板中去掉「Only Show Current Language」,搜索sunpinyin 選中點擊OK,編輯~/xinitrc(如果你是用startx方式進入桌面的話)或者etc/profile(gdm進入桌面的話),加入輸入法的啟動變數,免得在某些編輯框下打不開輸入法。

(記得要放到exec這句話的前面,exec這句話就已經是啟動桌面了,下面的語句都沒有機會執行)

此時最好重啟一下。使用ctrl+空格,Lshift切換輸入法。瀏覽器測試一下!搞定。

這個輸入法跟所有的輸入框並不是完全兼容的,也算是bug吧。其實也是linux生態混亂的一隅。不過這阻擋不了我們探索Linux的決心不是么?

  • 玩轉Linux

……接下來,hmmm,接下來就是談談Linux究竟TMD應該怎麼玩了,這個玩就需要一點技術含量了,我可能會用到shell,C語言,python來完成。如果你真的有意玩轉Linux而不是淺嘗輒止的玩,不太可能避免這3個玩意。

想要抓取一個頁面中的所有圖片?OK(shell基本使用)

想要一個自動更換桌面背景的腳本?OK (shell高級應用)

想第一時間知道女神的動態?OK (爬蟲,定時器)

想寫一個桌面程序?OK(C語言,gtk,glib)

其他的看反響和各位朋友的要求,也可以加入內容進來!總之你們說了算 : )

-----------update 2016年12月13日14:19:02(大綱,有時間再更!!!)

  • 安裝配置emacs(什麼?你是vim黨?來來來,教程我們先放一放,先大戰300回合)
  • shell腳本入門
  • shell腳本實戰——自動下載圖片
  • shell腳本實戰——定時更換桌面背景
  • 配置C語言開發環境
  • linux C編程入門
  • linux C可投產實戰(非demo性質的玩具代碼)

----------update 2016年12月20日11:26:52

  • 安裝配置emacs

emacs是*nix系統最常見的編輯器之一,其優秀的設計哲學被*nix系統幾乎所有的互動式編輯環境所採納,包括terminal自身,nano編輯器,都或多或少的吸收了emacs的精華。如果說vim是回合制rpg遊戲的話,你總是要在策略模式和戰鬥模式間切換,讓我覺得多少有點拖泥帶水。那麼emacs就是即時rpg,拔刀猛砍,扒了猛乾的直截了當。兩種類型的遊戲都能產生大量擁躉。在下也是一個堅定的emacs粉。

安裝,無需多言

pacman -S emacs

安裝完成之後直接在terminal運行

$&> emacs

打開之後看到的是emacs窗口,別急,這會還沒到如何使用emacs,叉掉它。

然後使用搜索引擎搜索「emacs elpa」關鍵詞(elpa是emacs的插件包管理器,一開始是單獨的插件,目前已經吸收集成到最新的emacs中了,elpa之於emacs就相當與pacman之於archlinux,apt-get之於ubuntu)

把如下兩句話添加到~/.emacs中,這個文件不存在的話則需手動創建!

(add-to-list "package-archives "("melpa" . "https://melpa.org/packages/"))
(add-to-list "package-archives "("popkit" . "http://elpa.popkit.org/packages/"))

分別添加了兩個插件包倉庫的軟體源,然後使用無窗口模式啟動emacs

$&> emacs -nw

使用快捷鍵meta+x(在linux上alt鍵就是meta鍵!)進入命令行,輸入package-list-packages(多次按tab鍵可以完成命令提示和補全),如果我們能在5秒左右看到列表,說明我們剛才的配置已經生效了。每一列分別是「包名」,「版本」,「狀態(可用已安裝)」,「源」,「描述」。

OK,走到這一步,大家應該覺得emacs比較棘手了吧,是時候教幾個基本操作了。

emacs的操作一般都是快捷鍵實現的,大概會用到兩個功能鍵 C鍵和M鍵,它在大多數linux上面對應ctrl和alt,mac電腦則是ctrl和esc鍵,當然你覺得不爽,它們都可以修改的。

當我說到「C-x 2」的時候,實際的操作是ctrl按住的情況下再按一下x 然後鬆開這兩個鍵,最後按2

  • 縱向分屏(創建窗口):C-x 2
  • 橫向分屏:C-x 3
  • 切換窗口:C-x o
  • 關閉窗口:C-x 0
  • 下翻頁:C-v
  • 上翻頁:M-v
  • 保存:C-x C-s
  • 退出:C-x C-c
  • 游標到行首:C-a
  • 游標到行尾:C-e
  • 游標到上一行:C-p
  • 游標到下一行:C-n
  • 取消已輸入的:C-g

好了,到此emacs的基本操作就這麼多,是不是很簡單呢?

回到包目錄這裡來,首先要安裝的一個最重要的包就是自動補全提示插件——auto-complete

使用C-s 搜索auto-complete,重複C-s查找下一個。找到如圖所示:

回車撞它。應該會在分屏出現它的信息,使用剛才教你的操作,切換到信息窗口,游標移動到Install關鍵詞上面,回車。就可以進行安裝了。是不是非常簡單呢。退出,然後編輯~/.emacs配置文件,末尾追加

(require "auto-complete)
(require "auto-complete-config)
(ac-config-default)

保存退出之後再次使用emacs來編輯~/.emacs配置文件,嘗試寫一個「(req」看能否正確的提示出補全文法。

好了,已經可以提示了。auto-complete只是補全框架,所以要補全特定的編程語言,還不夠。希望各位能夠自己探索,勇於嘗試,多問百度谷歌。多裝裝裡面的插件,很多插件的安裝信息窗口裡面也給出了配置方式,多折騰折騰。俗話說師傅引進門,修為靠個人。

----------持續更新中(目標:打造一個帶圖形界面並能夠娛樂工作寫代碼的arch環境!)


用 Antergos 圖形界面安裝,然後把 Antergos 那兩個壁紙和圖標包刪了,然後你就獲得一個 Arch Linux。


  • Arch Wiki寫的已經相當好了,幾乎沒有更好的關於Arch的資料了。為什麼說Arch Wiki好?因為一個連打字都費力的電腦小白按照Arch Wiki一步一步地操作,順利地安裝Arch了。

  • 虛擬機里安裝成功了,真機基本也沒多大問題了。當然,不排除可能有硬體不支持。

  • 沒安裝成功?哪一步出問題了?提示了什麼錯誤信息?有沒有按照錯誤信息有針對地查找資料?

  • 程序給出的提示信息(尤其是錯誤信息),是很重要的線索,千萬不能視而不見哦。


如果給你wiki你還是安裝不成功, 說明你不是archlinux的目標用戶.


請去b站搜索一下視頻教程


打開http://wiki.archlinux.org,右邊有個Beginner"s guide

英文好的話直接跟著這個來,弱一點的話在左邊欄往下拉可以選擇簡體中文,然後跟著做就行了,很詳細,這個網頁做完了Arch也就裝好了。

裝好之後可以看看那個General recommendations,一些常用的命令/工具可以根據這個裝。


官方 Wiki 還是很完善的,唯一的問題就是分散。按照 Beginners" guide 只能安裝好一個沒有桌面環境、沒有常用軟體的基本系統,其它的需要查看各自的文檔,對於新手來說確實費時費力。

但仍然建議新手按官方文檔多安裝幾次,如此方能熟悉原理,以後出問題了也知道怎麼解決。

我已經安裝過很多次,不想每次都花一兩個小時了,於是寫了個安裝腳本 GitHub - bianjp/archlinux-installer: Shell scripts that help install and setup Arch Linux,執行後把桌面環境、常用軟體(按我個人的喜好)都配置好了。代碼很簡單,懂點 Shell Script 的都可以自行修改以滿足自己的需求。

免責聲明:目前該腳本未經過完善的測試,不保證不出問題。


反對說Arch Linux安裝經過人為複雜化。所有發行版安裝過程都大同小異。而一個安裝指引過程要靈活的擁有各種姿勢,又要簡單易用方便,還要輕量級不出複雜的問題。這三點不可能同時做到。

Arch Linux選擇的是靈活輕量的路線。方便易用上也做了一些不過就不多。

比起gentoo 的二進位文件定製安裝archlinux靈活性還是差不少。不過基本上安裝多樣性和可選擇性差不多。

pc上沒有0基礎就能安裝的系統,Windows也一樣需要一定基礎才能安裝上去。

Arch需要的基礎至少比gentoo slackware lfs還是低不少。如果你想靈活定製安裝Ubuntu Fedora Debian等發行版。還是有類似Arch Linux安裝的chroot方法不過只會比Arch更複雜。

因為Arch不假定你的目標系統是個什麼組合 配置。(gentoo更是連你的軟體編譯配置也不假定)。

所以我只能說Arch Linux安裝大概分4步,分區配置空間,掛載空間預裝基礎系統,chroot然後配置安裝內核,安裝bootloader。重啟進系統折騰。具體情況要看你自己想怎麼整了。

如果你不知道你想怎麼整,那或許你的基礎還不夠安裝Arch Linux,至少你還沒有直接的需要到這種靈活性。虛擬機嘗試應該不錯,至少可以給以後的安裝打基礎。


對一個已經學會騎自行車的人來說,騎自行車是一件很簡單的事; 安裝 Arch linux 也是如此。No bashing.

虛擬機信息:

  • 由 ESXi 建立,VMware 11
  • 虛擬機系統為,其他 3.x Linux (64 位)
  • 硬碟分配 20G,網路自動獲取

啟動

  • 從 CD 啟動,選擇第一項 Boot Arch Linux (x86_64)

檢查網路

1.root@archiso ~ $ ping -c 4 1.2.4.8
2.# 如果網路不通,可以啟用 DHCP 功能(一般默認開啟)
3.root@archiso ~ $ systemctl start dhcpcd

創建分區

1.root@archiso ~ $ lsblk # 查看磁碟信息
2.root@archiso ~ $ parted /dev/sda # 使用 parted 分區
3.# parted 命令 1000MB=1GB
4.(parted) mklabel msdos # 創建 MBR/msdos 分區表
5.(parted) mkpart primary ext4 1m 1g # 大小為 1G
6.(parted) set 1 boot on # 設置 boot 為啟動目錄
7.(parted) mkpart primary ext4 1g 11g
8.(parted) mkpart primary linux-swap 11g 13g
9.(parted) mkpart primary ext4 13g 100%
10.
11.(parted) print # 查看分區是否正確
12.(parted) quit # 退出 parted 交互界面

格式化分區

1.# 格式化分區為 ext4 格式
2.root@archiso ~ $ mkfs.ext4 /dev/sda1
3.root@archiso ~ $ mkfs.ext4 /dev/sda2
4.root@archiso ~ $ mkfs.ext4 /dev/sda4
5.root@archiso ~ $ mkswap /dev/sda3 # 格式化為 swap
6.root@archiso ~ $ swapon /dev/sda3 # 啟用 swap

掛載分區

1.root@archiso ~ $ mount /dev/sda2 /mnt
2.root@archiso ~ $ mkdir /mnt/{boot,home}
3.root@archiso ~ $ mount /dev/sda1 /mnt/boot
4.root@archiso ~ $ mount /dev/sda4 /mnt/home

安裝系統

1.root@archiso ~ $ sed -i "/Score/{/China/!{n;s/^/#/}}" /etc/pacman.d/mirrorlist # 注釋所有非中國的軟體源
2.root@archiso ~ $ pacman -Syy # 更新本地資料庫
3.root@archiso ~ $ pacstrap /mnt base base-devel # 安裝基本系統

生成 fstab

1.root@archiso ~ $ genfstab -U -p /mnt &>&> /mnt/etc/fstab # 自動生成 fstab

進入新系統

1.# 將配置文件複製到 /mnt,chroot 進入
2.root@archiso ~ $ arch-chroot /mnt /bin/bash

語言設置

1.[root@archiso /]$ vi /etc/locale.gen # 反注釋 en_US.UTF-8 和 zh_CN.UTF-8
2.[root@archiso /]$ locale-gen # 生成 locale
3.[root@archiso /]$ echo LANG=en_US.UTF-8 &> /etc/locale.conf # 設置默認 locale

時區設置

1.[root@archiso /]$ ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

時間設置

1.[root@archiso /]$ hwclock --systohc --utc # 使用 UTC 時間

主機名設置

1.[root@archiso /]$ echo HostName &> /etc/hostname # HostName 改成你想要的主機名,下同
2.[root@archiso /]$ sed -i "/localhost/s/$/ ""HostName""/g" /etc/hosts # 將主機名添加到 hosts 中

安裝引導

1.[root@archiso /]$ pacman -S grub os-prober # 安裝 GRUB
2.[root@archiso /]$ grub-install --recheck /dev/sda # 將引導信息寫到 sda
3.[root@archiso /]$ grub-mkconfig -o /boot/grub/grub.cfg # 生成配置文件 grub.cfg

重啟

1.[root@archiso /]$ exit # 退出安裝環境
2.root@archiso ~ $ umount /mnt/{boot,home} # 卸載掛載點
3.root@archiso ~ $ umount /mnt
4.root@archiso ~ $ reboot

參考:

  • Arch Linux 中文論壇 Arch Linux 安裝指南


我來更新一下現狀(2016.11.23)……

Arch Wiki 的特點首先是內容豐富全面,另一方面也在於內容分散,一般專頁專用,鏈接多。意思就是,「本頁面只介紹某某軟體包,這個軟體包還有個很好用的搭配,欲知詳情請出門左轉哦不請點擊 xxx 鏈接查看」;「本頁面只介紹安裝系統的整體流程,流程中的每一步用到的工具不管是磁碟分區工具也好 Boot loader 也好顯卡驅動也好,欲知詳情都請點開對應的鏈接去看」。這種文檔組織方式還是非常合理的,減少了重複,有利於保持內容的更新,但是對於想要一個 Step by Step 教程的新手而言還是不太友好的。

而且現在 Beginners Guide 也已經沒了,Installation Guide 也如上所述,看著像是 Step by Step 但也只是提綱挈領,要想真的按照這個 Guide 裝好系統,你怎麼著也得耐心瀏覽十幾個甚至幾十個不同的 wiki 頁面鏈接吧,可能還要不時地去 Google. 新手看了被嚇到是可以理解的。

這個 Installation Guide ,我感覺在熟悉的人眼裡,可能就是一個 Step by Step 的傻瓜教程,一路走下來再簡單不過。但對不熟悉的人來說,就像一條充滿了各種各樣分支岔路的路,而且每條岔路還不知道咋選。

我就是那種只輕度用了幾年 Linux(各種 VPS),但也就日用,也就僅僅在 VPS 上用幾條命令,跑個 ss,跑個 apache + wordpress,跑個資料庫,平時敲敲 git, ssh, yum update, systemctl xxx 的新手,剛看到 Arch wiki 的時候也是畏難情緒。前幾天剛在自己筆記本上用上 Arch Linux. 這幾天 95% 以上的時間都在用這台單 Arch Linux 系統的電腦,還挺舒服的。

同樣作為一個新手我可以給的建議:

  • 首先肯定要會科學上網,這個是基本技能;安裝的時候手邊有另外一台能科學上網隨時 Google、隨時看 wiki 的設備是極好的;

  • 靜下心來多看幾遍 wiki,Installation Guide 裡面的鏈接盡量都打開看一下,其實如果目的只是安裝成功的話,很多鏈接稍微瀏覽一下就行了
  • 如果誠心誠意想安裝及學習,失敗的時候要總結具體是如何失敗的,回想哪裡遇到了問題,如果有錯誤提示或者錯誤代碼的話要去 Google 具體的問題原因、解決方案(屏幕上有錯誤提示的話,把錯誤提示照著在 Google 搜索框里敲一遍總可以吧?如果直接開不了機的話,再仔細對照 wiki 的步驟回想自己每步做的是不是正確,總可以吧?),而不是在知乎上提一個籠統的問題「Arch Linux 怎麼安裝?我看了 wiki 就是沒裝上。」,卻對具體的失敗情形隻字不提,這樣眾答主也只能告訴你看 Wiki 而已,並不能提供什麼針對性的幫助。
  • 不排除奇葩硬體奇葩 bug 的問題導致安裝失敗
  • 的確是要稍微熟悉一點 Linux Shell 里的那些基本工具再安裝才比較好,還是要有一點基礎知識,會用至少一個命令行編輯器(nano, vi, blahblah),知道 Linux 的幾個目錄比如 /, /home 還有掛載磁碟分區的概念,一些最基本的命令你要知道是在大體上是在做什麼事情,比如 ls(list), cp(copy), mv(move), mount(mount), chown(change owner), chmod(change mode), chroot...感覺以上基本只要了解,就算一知半解,也足夠上路安裝使用了。不能總是不明不白地敲了一行完全看不懂的命令,回車,電腦在做什麼也不知道。


今天剛剛在VMware里裝了Arch Linux,趁著還記得細節,過來回答一發。

我是按照這個視頻教程裝的,youtu.be 的頁面。

看到有很多回答建議題主最好按照https://wiki.archlinux.org/index.php/Installation_guide上的來,話雖沒錯,但題主既然試過了,沒裝上,應該和我情況類似,一來英文不好,二來缺少經驗。這個視頻基本上一步一步跟著來,裝上Arch Linux是沒什麼大問題的。而且該視頻講解的是裝 Arch Linux 2016 + GNOME 3 + Open-VM-Tools,恰好可以滿足我的需求,對題主應該也是有幫助的。

如果按照這個視頻來,裝的過程中有一點需要注意,一定要換源!一定要換源!一定要換源!如何換源請看Mirrors - ArchWiki我一開始沒有換源,看到自己下載各種包的速度只有幾十K/S,而視頻中的速度幾M/S,我的內心是崩潰的。最初以為是宿舍里的網路狀況不佳(學校宿舍的網動不動就炸),第二天一早,轉移到實驗室繼續裝,然而依然龜速,這時才意識到是下載源配置的問題,因為實驗室的網速一向飛快的。連忙在網上找解決方法,說來「諷刺」,在Arch Wiki的幫助下完美解決問題。更新完源之後,下載包的速度比視頻中還快,基本上將近 10M/S。如果懶得跑Mirrors - ArchWiki中提供的腳本(測試所有伺服器,找到最快的幾個,有點花時間),我在這裡貼出我測完速的結果,國內的朋友可以一試:)


難道沒有人聽說過archboot嗎?


多年前的Arch粉過來回答一下(雖然已叛入Ubuntu陣營久矣,sigh)。。

不像Ubuntu等發行版,Arch的特色是個性化程度高,系統的各個組件都可以自由選擇,靈活組合,不過也因為太崇尚定製化,官方鏡像只提供了個命令行的安裝界面(畢竟不能強制替用戶選擇Desktop),安裝時需要利用linux下的工具進行安裝配置,因此最好具備一定的shell使用基礎,無形中將新手門檻提高了不少。。

不過安裝一次Arch可以加深對linux的認識(前提是要弄明白每一個步驟的作用和原理)(LFS玩家可以無視這句話),反正往後幾年系統出了什麼問題基本都能快速定位自己解決

裝Arch最重要是參考ArchWiki,ArchWiki是Arch的參考文檔,包羅萬象,而且非常友好,新手可以跟著Installation guide、General recommendations 兩個文檔做(記得以前叫beginner"s guide,感覺比這兩個好。。。)

總的來說,Arch的安裝分為以下幾個步驟:

1、下載並進入安裝鏡像;
2、在鏡像里連接網路;
3、硬碟分區並格式化,掛載分區,在分區中安裝base包,相當於安裝一個基本系統;
4、chroot到安裝好的系統,在裡面設置語言、時區、鍵盤布局、網路、密碼、用戶名;
5、安裝並配置grub(即系統引導),多系統的話可以用os-prober發現一下,重啟進入新裝的Arch;

現在開始裝應用軟體,需要注意的是,因為base包並不包括Desktop,因此現在依然處於命令行

6、安裝音效卡alsa之類;
7、修改/etc/fstab設置開機自動掛載ntfs、fat之類的分區;
8、安裝GUI界面,首先安裝Xorg、顯卡驅動等,簡單地啟動twm、xclock、xterm測試一下;
9、安裝你喜歡的桌面登錄器(slim、gdm等)和桌面管理器(openbox、fvwm、enlightment等),
當然也可以一次性的安裝大包大攬的KDE、GNOME等桌面
10、安裝yaourt、ABS,安裝軟體的時候可能需要用到;
11、安裝常用軟體如瀏覽器、輸入法、字體、 ntfs-3g 等等

因為Arch沒有強制選擇desktop,因此可以完全由用戶自由選擇,光是個性化定製就夠你玩很久,什麼conky、dock、cairo dock、compiz配合使用,可以打造出各種狂拽炫酷、充滿未來感的桌面。

值得一提的是,Arch安裝鏡像的shell是zsh,而且是經過配置的zsh,配置文件在/etc/zsh/zshrc,總共兩千七百多行,可謂良心配置,你可以把這個文件copy下來自己用,再搭配oh-my-zsh就完美了

其實已經好久沒關注過Arch,臨表涕零,不知所云。。。。


實在覺得安裝麻煩,可以試試這個

Arch-Anywhere

u盤安裝可以直接用這個小工具吧iso寫入到u盤

USBWriter download


Archlinux安裝照著Wiki做一邊就可以輕鬆搞定,沒有那麼複雜。

實在懶得折騰還可以上manjaro之類的


推薦閱讀:

有非常豐富的 Linux/Unix 下工作的經驗指的是什麼?
Nginx 和 Apache 在 Windows 下的性能表現誰更好?
為什麼這兩個ps命令執行結果不同?
Linux 的正確發音是什麼?
Android 系統無法被分支 (fork) 嗎,AOSP 和 GMS 是何關係?

TAG:Linux | ArchLinux |