ArchLinux 安裝小記

来源:https://www.cnblogs.com/goudunz1/p/18413143
-Advertisement-
Play Games

筆者出於學習(折騰)原因想要改換 Linux 發行版,於是將目光投向大名鼎鼎的 ArchLinux。 ArchLinux 的安裝過程漫長且複雜,遂彙總成小記,以備日後參考。 小記中筆者共使用兩塊硬碟,一塊已含有 Windows10 分區,另一塊作為雙系統數據共用盤。 LiveCD 本小記略過燒錄鏡像 ...


筆者出於學習(折騰)原因想要改換 Linux 發行版,於是將目光投向大名鼎鼎的 ArchLinux。

ArchLinux 的安裝過程漫長且複雜,遂彙總成小記,以備日後參考。

小記中筆者共使用兩塊硬碟,一塊已含有 Windows10 分區,另一塊作為雙系統數據共用盤。


LiveCD

本小記略過燒錄鏡像的過程,筆者使用了 Rufus 將鏡像燒率進 U 盤,一個更流行的方法是使用 Ventoy 鏡像管理工具。

本段簡單列出將內核和軟體包寫入磁碟的步驟。

網路

這裡只給出使用無線網路的情況,如果目標機使用乙太網則略去 iwd 的步驟。但無論哪種情況,都請配置 NTP 時間。

iwctl

  • device list
  • station ANY_DEVICE scan
  • station ANY_DEVICE get-networks
  • station ANY_DEVICE connect ANY_SSID

timedatectl set-ntp true

分區

Windows 更新將會覆寫 EFI 分區導致 Linux 無法啟動,筆者這裡額外創建一個。

然後,創建 swap 分區,以便正常使用睡眠和休眠功能。

以 EFI 分區為 FAT32 格式,Linux 主分區為 ext4 格式初始化 fstab。

fdisk /dev/nvme0n1
mkfs.ext4 /dev/nvme0n1p5
mkfs.fat -F32 /dev/nvme0n1p4
mkswap /dev/nvme0n1p6

mount /dev/nvme0n1p5 /mnt
mkdir /mnt/efi
mount /dev/nvme0n1p4 /mnt/efi
genfstab -L /mnt >> /mnt/etc/fstab

軟體包

這一步配置軟體倉庫。

LiveCD 在 /etc/pacman.d/mirrorlist 自動測速並選擇鏡像源,稍後 mirrorlist 將會自動拷貝到待裝系統中。

筆者希望手動覆蓋該文件從而採用南大的鏡像源,你也可以使用自己喜歡的鏡像源。

Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch

接下來向剛剛掛載的新文件系統中導入基礎軟體包與 fstab,ArchLinux 就安裝好了。

pacstrap /mnt base linux linux-firmware


ArchLinux

本段主要為新系統的配置。

arch-chroot /mnt

工具

網路支持 (如 NetworkManager) 是必須的,否則在稍後重啟系統時配置網路非常困難。

ntfs-3g 和 exfat-utils 提供掛載支持,便於我們創建雙系統共用盤。

pacman -S networkmanager
pacman -S ntfs-3g exfat-utils
pacman -S sudo vim

本地化

國內用戶一般使用上海時區。

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

筆者選擇自動生成語言配置:取消 /etc/locale.gen 中所有需要的語言的註釋,然後編輯新生成的語言配置 /etc/locale.conf,設置語言為你想要的語言,例子中為英語。

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

locale-gen

LANG=en_US.UTF-8

主機名

host 的配置在 /etc/hostname 和 /etc/hosts。

myhostname
127.0.0.1    localhost
::1          localhost
127.0.1.1    myhostname.localdomain    myhostname

引導

筆者採用 grub 進行引導。選擇 grub 的另一個目的是聯動另一個分區的 Windows Boot Manager,這樣便於我們在 grub 界面中自行選擇雙系統中的一個啟動。

如果你想要實現優雅的休眠/睡眠,需要對 grub 進行額外配置。具體的操作方法如下:

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux

調整位於 /etc/grub.d/40_custom 的配置,將下麵的 FS_UUID 替換為 Windows10 主分區的 UUID。如果你不知道分區的 UUID,可以使用 blkid 查看。

if [ "${grub_platform}" == "efi" ]; then
    menuentry "Windows Boot Manager" {
        insmod part_gpt
        insmod fat
        insmod chain
        search --no-floppy --fs-uuid --set=root ANY_FS_UUID
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    }
fi

編輯 /etc/default/grub,將下麵的 SWAP_UUID 替換為 swap 分區的 UUID。這一步指引 ArchLinux 將休眠鏡像保存至 swap 分區。

GRUB_CMDLINE_LINUX_DEFAULT - quiet
GRUB_CMDLINE_LINUX + acpi_backlight=vendor
GRUB_CMDLINE_LINUX + resume=UUID=ANY_SWAP_UUID

生成 grub.cfg。

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

在 /etc/fstab 中設置共用盤並開啟 swap 分區。

/dev/sda1       /home/goudunzii/data ntfs-3g defaults 0 0
/dev/nvme0n1p6  none             swap    defaults 0 0

swapon /dev/nvme0n1p6

啟動休眠功能的最後一步,我們需要編輯 /etc/mkinitcpio.conf,加入 resume 鉤子。這裡需要將 resume 欄位至少加在 udev 欄位之後。修改 root 密碼,然後重啟。

HOOK=(base udev ... resume)

mkinitcpio -P
passwd root
exit
umount -R /mnt
reboot

字體

重啟之後的一些工作需要在終端中進行,筆者希望替換一個對眼睛更加友好的 tty 字體。該配置位於 /etc/vconsole.conf。如果你的屏幕很大,也可以不進行這一步。

pacman -S terminus-font

FONT="ter-118b"

創建賬戶

下麵的指令為例創建自己的賬戶並添加 sudoers。

useradd -m -s /bin/bash goudunz1
pacman -S sudo
passwd goudunz1

goudunz1 ALL=(ALL) ALL

多媒體

新系統的網路配置可以轉用 NetworkManager。

為了聲音和藍牙的正常工作,這裡還需要其它幾個軟體包。

systemctl enable NetworkManager
systemctl start NetworkManager
device wifi connect ANY_SSID password ANY_PASSWD

pacman -S alsa-utils alsa-plugins

pacman -S bluez bluez-utils
systemctl enable bluetooth

桌面

筆者建議在安裝桌面之前先自查顯卡驅動。

  • OPENGL mesa
  • vega6(AMD) xf86-video-amdgpu
  • Intel xf86-video-intel
  • Nvidia xf86-video-nouveau

以基於 X Server 的 KDE 為例:

在安裝完需要的軟體包後,你可以通過 Desktop Manager (如 sddm),聯動 KDE 啟動,也可以採用如下操作手動配置 X Server 和 KDE。

pacman -S xorg xorg-xinit
pacman -S plasma-meta kde-utilities dolphin

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

將 ~/.xinitrc 最後一大塊測試用的代碼去掉,換成下麵的代碼。然後編輯 ~/.bash_profile,這將使得 tty1 登陸時啟動 X Server,再由 X Server 聯動KDE。

export DESKTOP_SESSION=plasma
exec startplasma-x11
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
  exec startx
fi

當然筆者也嘗試過使用 sddm,只需一條指令。

systemctl enable sddm

在 KDE 上啟動藍牙還需以下兩個額外的軟體包。

pacman -S pulseaudio-bluetooth pulseaudio-alsa

電源管理

可以使用 tlp 優化 ArchLinux 對電源的管理。

pacman -S tlp tlp-rdw
systemctl enable tlp
systemctl start tlp
systemctl mask systemd-rfkill
systemctl mask systemd-rfkill.socket

輸入法

以 fcitx5-rime 為例:

安裝軟體包後,還需要配置 fcitx5 的自啟動和環境變數 (在 ~/.xprofile 中)。

pacman -S fcitx5-im fcitx5-rime wqy-microhei

export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

goudunz1$ mkdir ~/.config/autostart
goudunz1$ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/

在 ~/.local/share/fcitx5/rime/default.custom.yaml 中對 rime 配置添加 patch 以實現首選明月拼音簡化字。

patch:
  schema_list:
    - schema: luna_pinyin_simp
    - schema: luna_pinyin

參考

24年9月 於清水灣


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、概述 操作系統一般都是安裝在硬碟內的,硬碟是一種存儲數據的介質,U 盤同樣也是一種存儲數據的介質,因此也可以把操作系統安裝進 U 盤裡。 因為大部分 U 盤的性能比較差,不能流暢地運行完整版的操作系統,所以只能安裝精簡了大部分功能、只保留基本運行環境的簡化版操作系統(即 PE )。 PE 是 W ...
  • 1.基礎工具安裝 ①Ubuntu虛擬機下交叉編譯工具鏈安裝 香橙派5Pro為Arm64位架構,因此需要安裝g++-aarch64-linux-gnu以及gcc-aarch64-linux-gnu(有其它交叉編譯器,本文以此編譯器為例) 更新軟體源 sudo apt update sudo apt u ...
  • -- 痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v5.3.0)發佈過去一年了,期間痞子衡也做過三個版本更新,但不足以單獨介紹。這一次痞子衡為大家帶來了全新重要版本v6.3.x,這次更新主要是想和大家特別聊聊 ROM 啟動日誌這個特性的支持。 一、v6.0 - v6.3 ...
  • #老師給的文件是jdk1.8版本,所以我這邊寫的也是8的腳本 輸入命令:mkdir –p /export/data #放置相關的數據文件 輸入命令mkdir –p /export/servers #軟體的安裝目錄 輸入命令:mkdir –p /export/software 上傳文件jdk-8u24 ...
  • ladp服務搭建 用戶名:cn=admin,dc=test,dc=com 密碼:123456 1)軟體安裝yum install openldap openldap-clients openldap-servers -y2)配置 OpenLDAP Servervim /etc/openldap/sl ...
  • liwen01 2024.09.16 前言 802.11 無線 WiFi 網有三類幀:數據幀、管理幀、控制幀。與有線網相比,無線 WiFi 網會複雜很多。大部分應用軟體開發對 WiFi 的控制幀和管理幀瞭解得並不多,因為它們在物理層和數據鏈路層就已經被處理了,上層應用很少能感知到。 一般是在設備出現 ...
  • 寫在前面 本隨筆是非常菜的菜雞寫的。如有問題請及時提出。 可以聯繫:[email protected] GitHhub:https://github.com/WindDevil (目前啥也沒有 引言 兜兜轉轉又是新的一章的開始,還是首先要看官方手冊里的理論介紹和內容. 這裡主要還是提綱挈領地摘抄裡面 ...
  • 金葫蘆STM32L431上手流程教材書名和開發板教材:《嵌入式技術基礎與實踐(第6版)》(王宜懷主編)開發板:AHL-STM32L431金葫蘆STM32L431上手流程1、需要用到的軟體和電子資源 AHL-GEC-IDE(4.55)————>AHL-GEC-IDE (suda.edu.cn)AHL- ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...