搜尋此網誌

2025年1月15日 星期三

安裝 Arch Linux

緣起:


    看我師傅都是用 Arch Linux 來作業的,為了跟上他的腳步,所以我也開始學著使用這個輕量的系統。我先是在我 asus x415 筆電上測試,把它當成白老鼠來做實驗,斷斷續續的弄了好幾天後,終於把系統給弄好,而且也有裝了桌面的環境跟其它日常作業所需的功能,後來還有載了 steam,用九日來測試在 arch 上跑遊戲的效果如何,很驚訝地發現跑起來超順的,我想,應該要歸功於 Arch 簡潔的架構,他不會像 windows 那樣在背景跑一堆有的沒的,除非你自己去啟動那些服務。

    體會到 Arch 的強大後,我後來也把那台 MSI KATANA 17 B13V 也換成 Arch,把原本的 Pop_OS 給換掉。這篇文章想記錄安裝系統的經過,如果不小心弄爆系統的話,下次可以快速重裝一個。踩了不少雷,也學到不少經驗。


基本安裝:


    官方的教學寫得很詳盡了,基本上就照著它寫的教學來做就行了。

    載完映像檔後,寫入 usb,用 usb 開機,要記得 disable secure boot,進入選單後,選擇第一個 Arch Linux install medium 再按 Enter,然後等它把系統都載入 ram 後,就可以開始安裝了。

    我要裝 arch 的硬碟,因為之前就有裝過其它的 linux 系統,已經有分好 boot 跟 root 的 partition,我要做的就是把它們格式化,MSI 那台比較不一樣,那時在用 Pop_OS 時,是切成 150 G 的 root,1G 的 boot,然後剩下的都給 home,所以需要用 fdisk 來刪除 home partition,再擴展 root partion 的空間,把它們合併。

    時區跟鍵盤 layout 的東西,我沒去設定,我是載完 gnome,進入桌面環境後再去 setting 那邊調整這些。

    在 live 環境下,可以用 iwctl 來連 wifi,要記得先把 device 或 adapter 開啟。


    成功連上網路,用 chroot 進入 arch 的環境後,記得要先在上面裝 iwd 跟 vim,之後進去才能用 iwctl,還有編輯一些設定檔。我 chroot 進入後,在裡頭用 pacman 載 package 時,有碰上這問題


    後來在這邊看到解法,下 pacman 指令時再加上 y 跟 u 參數


    我記得我那時進在解這個問題時,有重新 usb 開機,在 chroot 進入 arch 前,沒有掛載 boot 的 partition,就下了 pacman -Syu 的指令,就衍生出另一個問題....。進入 arch 後,它說 failed to mount /boot,進入 emergency mode。後來是在這邊看到解法,再次用 usb 進入 live 環境,掛載 root 跟 boot,然後 chroot 進去裡面下 pacman -S linux ,就解決了


    我碰到最多問題的應該就 bootloader 那邊,我是選擇裝 grub,但我那時在看著教學做,沒注意到下完 grub-install 的指令後,還需要下 grub-mkconfig 來産 grub.cfg 檔,導致我開機後,原本預期看到的是 grub 的選單,讓我能選 Arch Linux,按 Enter 後直接進入,結果看到的是 grub 的 shell,不會用啊 ~~~

    在弄 msi 那台筆電的 bootloader 時,一直弄不好,格式化了好幾次 boot partition,後來成功裝好 grub,進去發現沒有 Arch Linux 可以選,又花了點時間處理這問題,最後解決的方式是,在 live 環境重新下 pacman -S linux 指令(一定要記得 mount boot),有看到 boot 下有多了兩個 img 檔跟一個 vmlinuz-linux,然後把之前産的的 fstab 砍掉,再用 genfstab 重産一次後,就能正常從 grub 選單進入 Arch Linux 了。

    後面的文章內容都是跟進入 Arch 環境後有關的設置。

WiFi:


    在 live 環境時有先裝好 iwd package,進入 arch 後才有功具能設定 wifi,使用 iwctl 前要先啟用 iwd service,由於基本上都會用到 wifi,所以可以用 systemctl enable 來讓服務開機時就啟用。

    連上 wifi 後,使用 pacman,它有報錯說無法解析網域,我去查後才知道,要開啟 systemd-resolved 這服務才行。

    到這邊,網路連線大概就沒問題了,可以開始用 pacman 載需要的 package 了。


新增使用者:


    arch 預設只有 root,直接使用 root 來操作系統的話,非常的危險,所以要為自己弄個使用者的帳號來使用,用 useradd 來新增使用者

useradd -m -G network,power,wheel,audio,lp,optical,storage,video,users -s /bin/bash birdshiu

    -m 表示為使用者 create home,-G 指定群組,有點找不到是在哪看到這個範例的了。-s 是指定使用者登入後使用的 shell,最後是使用者的名字。

    新增完使用者後,用 chpasswd 來為使用者設定密碼。

    我在那台 asus 筆電上安裝完 arch 後,預設是沒有 sudo,但在 msi 的筆電上安裝完後,它是有的,不知為啥。如果沒的話,就用 pacman 裝一下,然後用 visudo 編輯一下 /etc/sudoers 的設定就行了



安裝 Gnome:


    我那時有在想說,桌面環境,是要像 Pop_Os 一樣使用 Gnome 還是像 Steam Deck 一樣使用 KDE,後來問了問師傅,最後決定是 gnome


    很簡單,用 pacman 載就行了,載完後啟動 gdm 的 service 就能進入桌面環境了。


    要使用 Settings 來設定網路連線的話,要記得安裝 networkmanager package ,然後啟動 NetworkManager 的服務,WiFi 的部份是需要啟用 iwd 的 service。再來是 bluetooth,裝完 bluez 的 package 後,再啟動 bluetooth 的 service 就行了。

    Gnome 預設有裝 flathub,然後有 Software GUI 介面可以使用,一般軟體,像是 brave telegram GIMP 都是用它來裝,Discord 比較特別,我是載 Beta Channel 的 DiscordCanary,Beta 版才有實作 PipeWire,直播遊戲才會有聲音。可以用下面指令來加入 beta repository

flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

    加完後再去 Software 找 Discord,就有 DiscordCanary 能載了。

    Gnome 預設有裝 Extensions ,可以用 extension 來調整桌面環境
    

    也可以再去安裝其它的擴充,用 pacman 安裝 gnome-browser-connector,然後使用 chromium 衍生的瀏覽器,去 chrome store 安裝 gnome-shell 的套件,就能在 gnome extensions 的網站載各種 extensions 了。我有安裝 Desktop Icon 這個 extension,安裝完後才能在桌面環境看到那些放在 Desktop 的檔案。


安裝字型與輸入法:


    如果就這樣直接上網站看東西的話,會看到一堆方塊,所以要去安裝字型,不過我在看完官方給的教學後,還是沒有頭緒要裝哪些,後來是在 reddit 看到這篇文章,照著他推薦清單安裝,字型就沒問題了


    還有輸入法,就一樣裝 ibus 就行了,我裝了 ibus-chewing 跟 ibus-rime,重新開機後就能在 Keyboard 的 Input Sources 設定那邊把這兩個輸入法給加入,用 win 鍵 + 空白鍵來切換輸入法


    在選到 rime 的輸入法時,它預設是朙月拼音,可以用 F4 來開啟切換的選單,我切成創頡五代。



Nvidia Driver:


    我那兩台筆電都是 intel + nvidia 的組合,所以裝 nvidia 的 driver 是必要的。出乎我意料的是,arch 裝 nvidia driver 超簡單的 XD,我是看這篇文章的教學來操作。打個 pacman 指令,等他裝完後再重開機就行了,不費吹灰之力。

    我還有學會使用 nvtop 這好東西,可以用來查看顯卡的運作狀態



Reflector:


    有天的晚上是在 MSI 筆電上載 Package,那時不知為啥,速度超慢的,最高才每秒 150 kb


    但到隔天早上再次使用,那速度就正常了



    我學到,可以安裝 reflector,然後用指另來對 pacman 的 mirrorlist 做排序

reflector --verbose --country Taiwan --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist


音效與麥克風:


    我 asus 筆電在裝完 gnome後,可以到 Settings 的 Sounds 那邊看到 Output Device 跟 Input Device 的設定,但我 MSI 的筆電卻沒有,Output Device 只有 Dummy Output,Input Device 則是完全沒東西,所以我繼續翻資料,可能是音效卡驅動的問題之類的。

    最後是用 pacman -Syu sof-firmware pipewire 解決了這個問題,老實說,還是不太知道問題是怎麼發生的,我在看跟聲音有關的資料時沒有很仔細在看,改天有機會的話再來研究好了。 

安裝 Steam:


    最重要的部份,我需要打遊戲。Steam 的安裝也有官方的教學,最重要的一個步驟就是要啟用 multilib,改完 /etc/pacman.conf 檔後,下 pacman -Syu 的指另來安裝相關的 package,裝完後就能用 pacman -S steam 來安裝 steam。

    我在玩遊戲時有學到,如果你還有外接螢幕的話,可以使用 windows+shift,搭配上下鍵來決定遊戲視窗是要輸出在哪個螢幕上 (gnome環境)。

    基本上就這樣了,這些東西已經能滿足我日常使用筆電的需求,後面開始寫程式的話,會再接著學怎麼弄環境。


感想:


    Arch 安裝起來真的跟其它的 Linux 系統很不一樣,很多東西都要自己來,就連基本的安裝系統就花了我不少時間,但好處是,這樣一步步操作下來,相比其它系統,有明顯比較明白自己到底在電腦上做、安裝了些什麼,對自己的系統有比較多的掌握。

    之後大概就都會一直用 Arch 下去了,相比在 Pop_OS 上玩,有明顯感受到遊戲幀數很穩定,就連玩 helldivers2 也沒問題了 (除了手把還是會有奇妙的振動之外)。

    有了個比較的基準後,想對之前用的 Pop_OS 抱怨個幾句,同樣是使用 gnome,我 Arch 用到現在,1 次的 freeze 都沒有,在 Pop_OS 上已經 freeze 過不少次了,每次發生都覺得很幹,要開個 tty,然後登入進去用 kill 指令來除掉 gnome。那個 Pop_Shop 很常有更新的資訊出現,老實說,我經常不知更新了啥,每次只要看到跟 nvidia 有關的更新就會有點怕怕的,有時更完跟 driver 有關的東西後,steam 的視窗就都會一直保持最大化的狀態,沒辦法縮小,有幾次還有碰上玩九日時,畫面有奇怪的閃爍或是一直覺得畫面略卡。之前還有幾次是 gpu 風扇沒怎麼在轉,跑效能高點的遊戲,整台筆電就熱起來了。

    最後感謝我師傅在我安裝 Arch 時,給了我不少的指教跟意見,之後應該也會持續問他問題,向他學習。

沒有留言:

張貼留言