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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...