洞悉本質在不確定的世界預見未來
日記

安裝Arch Linux

手工安裝 Arch Linux 比較複雜,新手會感覺到痛苦。想輕鬆可以用 archinstallarchfi 自動化腳本,也可以下載 ArcoLinuxEndeavourOS 發行版來安裝。特別推薦 EndeavourOS,安裝 Arch Linux 像安裝 Ubuntu 一樣簡單,且小巧不臃腫。

手工安裝,新手有空也要體驗一下。下載 Arch Linux ISO 安裝:p

1、準備

# ls /sys/firmware/efi/efivars //檢測當前引導模式是否是 UEFI
# ping -c 3 www.baidu.com //查詢是否聯網
# timedatectl set-ntp true //更新系統時間
# vim /etc/pacman.d/mirrorlist //修改鏡像列表
:99,126 m 4  //把中國的鏡像列表移動到首個鏡像列表之上,然後保存退出
# vim  //VIM 技巧
  :n1,n2 m n3       移動n1-n2行(包括n1,n2)到n3行之下;
  :n1,n2 co n3      複製n1-n2行(包括n1,n2)到n3行之下;
  :n1,n2 d          刪除n1-n2行(包括n1,n2)行;

2、磁盤分區

A、BIOS啟動。 只需要分2個區,swap分區和系統分區。
B、UEFI啟動。 需要分3個區,EFI分區(300-512M),swap分區和系統分區。

# cfdisk
//選擇【New】回車,選擇【Type】然後回車選擇分區類型,創建完後,
//選則【Write】回車寫入磁盤,此時有個提示,yes、no、ESC,
//這裡當然輸入 yes 寫入磁盤。【Quit】回車退出

/dev/sda1 | 500M | EFI System
/dev/sda2 | 8.2G | Linux swap
/dev/sda3 | 剩餘所有空間 | Linux filesystem
選擇【New】回車,選擇【Type】然後回車選擇分區類型

# mkfs.fat -F32 /dev/sda1 //格式化分區
# mkswap /dev/sda2
# swapon /dev/sda2
# mkfs.ext4 /dev/sda3
# mount /dev/sda3 /mnt # 挂载分区 /dev/sda3 到 /mnt 下
# pacman -Sy //更新源

3、安裝系統

# pacstrap /mnt base base-devel linux linux-headers linux-firmware bash-completion pacman-contrib networkmanager iw wpa_supplicant vim sudo amd-ucode intel-ucode openssh tmux 
  • base: ArchLinux 運行所需的基礎軟件包集合
  • linux: Linux 內核
  • linux-firmware: Linux 設備驅動集合,包含了絕大多數設備的驅動(固件)。
  • bash-completion: Bash 補全支持
  • pacman-contrib: pacman 相關實用腳本
  • netctl、dhcpcd、networkmanager: 網絡管理器
  • iw、wpa_supplicant、wifi-menu、dialog:無線網絡管理
  • e2fsprogse: EXT4 文件系統實用工具
  • vim: 文本編輯器
  • sudo: 用於普通用戶獲取 root 權限
  • amd-ucode、intel-ucode: AMD 和 Intel 的 CPU 微碼更新,用於修補 CPU 漏洞。
# genfstab -U /mnt >> /mnt/etc/fstab //配置 fstab
# arch-chroot /mnt
// timedatectl list-timezones 这个用于查询时区
# timedatectl set-timezone Asia/Shanghai
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# timedatectl set-ntp true
# vim /etc/locale.gen //修改本地字符集
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# echo cio > /etc/hostname
# touch /etc/hosts
# vim /etc/hosts 
127.0.0.1 localhost
::1 localhost
127.0.1.1 cio

# passwd  //設置 root 帳戶的密碼
# useradd -m -g users -G wheel -s /bin/bash aiux # 創建普通賬戶aiux
# passwd aiux //設置密碼
# visudo # 給aiux SSH權限
%wheel ALL=(ALL) ALL //取消註釋

A、BIOS啟動時,安裝 Grub 引導加載程序

# pacman -S grub
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

B、UEFI啟動時,安裝 Grub 引導加載程序

# pacman -S grub efibootmgr
# mkdir /boot/efi  //創建將掛載 EFI 分區的目錄
# mount /dev/sda1 /boot/efi  //掛載到創建的 ESP 分區
# grub-install --target=x86_64-efi --bootloader-id=grub_uefi --efi-directory=/boot/efi --recheck
# grub-mkconfig -o /boot/grub/grub.cfg

# systemctl enable NetworkManager // 設置開機DHCP自啟動NetworkManager.service
# systemctl enable sshd // 設置開機SSH
//如果用NetworkManager wifi
# nmcli device wifi list
# nmcli device wifi connect 【ibss-WLAN】 password 【1xxxxxx8】hidden yes
// nmcli connection show
// nmtui // nmti網路管理員相對容易
# exit
# umount -R /mnt
# reboot

注1:Linux \ Windows 多分區還需要以下程式

  • os-prober、ntfs-3g 發現包含 Windows 的分區
  • dosfstools – 用於讀取,寫入和移動MS-DOS文件的實用程式。

注2、本地網絡/無線網絡連接

//假如之前裝的是 dhcpcd 而不是 NetworkManager
# systemctl enable netctl
# systemctl enable dhcpcd //本地 dhcpcd.service
// 如果用的是iw無線
# lspci -k //內核是否加載了無線網卡驅動
# iw dev //獲取接口名
# ip link set wlan0 up // 激活內核接口
# ip link show wlan0 //驗證接口確實打開
# iw dev wlan0 link //獲取連接狀態
# iw dev wlan0 scan //掃描可用熱點
// iw dev wlan0 connect ibss-WLAN //無密碼連接
// iw dev wlan0 connect your_essid key 0:your_key //用16進制加密密碼訪問 WEP 加密網絡
# wpa_passphrase 【ibss-WLAN】 【12345678】 > /etc/wpa_supplicant/wpa_supplicant.conf //密碼連接
# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf // -B表示後台運行

# iw dev wlan0 link //檢查連接狀態
# dhcpcd wlan0 //使用 DHCP
// ip addr add 192.168.0.106/24 broadcast 192.168.0.255 dev wlan0 //靜態 IP
// ip route add default via 192.168.0.1
# ip link set dev wlan0 down //關閉wifi

# iw dev wlan0 set power_save on 啟用省電模式
# ip address show //列出 IP 地址
# ip route show //列出 IPv4 路由
# ip -6 route //列出 IPv6 路由

4、安裝桌面環境 XORG 及顯卡驅動

$ sudo pacman -S xorg xorg-xinit mesa mesa-utils mesa-vdpau opencl-mesa vulkan-icd-loader vulkan-tools vulkan-headers xf86-video-openchrome xf86-video-amdgpu vulkan-radeon xf86-input-synaptics

GPU drivers 選擇安裝

  • xf86-video-amdgpu、vulkan-radeon
  • xf86-video-ati
  • xf86-video-intel、vulkan-intel
  • xf86-video-openchrome
  • xf86-video-nouveau
  • xf86-video-vesa

5、中文字體及中文輸入法

$ sudo pacman -S ibus ibus-table ibus-table-chinese ibus-libpinyin wqy-microhei wqy-zenhei ttf-fira-code ttf-fira-mono ttf-fira-sans noto-fonts noto-fonts-emoji rofi-emoji ttf-arphic-ukai ttf-arphic-uming ttf-hanazono ttf-inconsolata adobe-source-han-sans-cn-fonts ttf-opensans
  • ibus-table-chinese //五笔仓颉输入法、五笔、鄴码。
  • ibus-libpinyin //智能拼音

6、安裝桌面XFCE4、Awesome WM、聲音、藍牙

$ sudo pacman -S xfce4 xfce4-goodies awesome dmenu lxdm nm-connection-editor network-manager-applet arc-gtk-theme vicious gvfs gvfs-gphoto2 gvfs-mtp gvfs-smb parole rofi ristretto file-roller bluez bluez-utils bluez-tools jack2 alsa-firmware alsa-plugins alsa-utils pulseaudio pavucontrol pulseaudio-alsa pulseaudio-bluetooth pulseaudio-jack upower mousetweaks
  • xfce4、xfce4-goodies//桌面
  • awesome、dmenu tilix//平舖窗口管理器
  • lxdm //圖形登錄界面
  • network-manager-applet //當前狀態的小圖標
  • nm-connection-editor //圖形界面的設置工具
  • volumeicon xfce4-notifyd //顯示通知的工具
  • gvfs、gvfs-gphoto2、gvfs-mtp、gvfs-smb //回收站
  • upower //查詢電量
  • jack2 cadence lsp-plugins //聲音特效

7、桌面軟件

$ sudo pacman -S tilix htop gparted firefox filezilla uget wget aria2 galculator vivaldi vivaldi-ffmpeg-codecs unrar emacs inkscape atril vlc

8、桌面環境美化設置

$ sudo systemctl enable bluetooth
$ sudo systemctl start bluetooth

$ vim ~/.bashrc


$ vim ~/.xprofile
export LANG=zh_CN.UTF-8 //配置中文圖形界面
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
# ibus-daemon --xim -d
# tilix &

$ sudo cp /etc/X11/xinit/xinitrc ~/.xinitrc
$ vim ~/.xinitrc //寫入 exec awesome
# exec awesome
exec xfce4-session

$ vim /etc/lxdm/lxdm.conf  // 配置自動登錄
autologin=aiux
session=/usr/bin/startxfce4

$ sudo reboot

9、其他

Pacman代表Package Manager,是Arch Linux及其衍生產品的預設和簡單的基於庫的命令行包管理工具。Pacman一般採用.pkg.tar.xz包格式。

使用 pacman 在 Arch Linux 中安裝、刪除、更新和升級軟體包。

$ sudo pacman -Syy // 刷新套件庫
$ sudo pacman -Syu // 更新系統中的所有套件
$ sudo pacman -S vlc // 安裝特定的軟體包
$ sudo pacman -Ss // 從同步資料庫(遠端伺服器)中搜尋包
$ sudo pacman -Sw // 下載套件不安裝
//下載的套件存儲在 /var/cache/pacman/pkg/ 資料夾中
$ sudo pacman -Si // 顯示同步資料庫中給定包的詳細資訊
$ sudo pacman -Sc // 清除快取資料夾中所有未本地安裝的套件

$ sudo pacsearch vlc // 突出顯示搜尋結果是否安裝了軟體包
$ sudo pacgraph -c // 查找哪個包佔用更多空間
$ sudo pacgraph -c | head // 只想顯示最大的套件
$ sudo pacgraph -c | tail // 哪些包的尺寸最小

$ sudo pacman -U // 本地緩存包安裝
$ sudo pacman -R // 刪除單個包
$ sudo pacman -Rs // 刪除包含其所有依賴項的包
$ sudo pacman -Rns // 配置檔也刪除
$ sudo pacman -Rdd // 刪除所需的包而不刪除依賴包
$ sudo pacman -Qdt // 檢查是否有任何孤立的套件
$ sudo pacman -Rns $(pacman -Qdtq) //刪除這些孤立的包
$ sudo pacman -Q // 從本地資料庫中搜索特定包
$ sudo pacman -Qs // 搜索已安裝的套件
$ sudo pacman -Qi //從本地資料庫中搜尋包含詳細資訊的包
$ sudo pacman -Ql // 按包查看已安裝檔案的完整清單

Arch 用戶倉庫(AUR)中的軟件是所有Linux發行版中最豐富的。可惜AUR 中的包是以 PKGBUILD 的形式存在的,需要手動過程來構建。

AUR 助手可以自動完成這個過程,使用 Paru ,我們可以從 Arch User Repository(AUR)安裝軟體包,還可以更新,升級和刪除Arch Linux及其變體(如EndeavourOS和Manjaro Linux)中的AUR軟體包。

// 從原始程式碼構建(編譯和連結)套件所需的工具
$ sudo pacman -S --needed base-devel
$ git clone https://aur.archlinux.org/paru.git // 下載 Paru 儲存庫的內容
$ cd paru // 進入目錄
$ makepkg -si  //構建並安裝 Paru AUR 説明程式

$ paru  // paru -Syu 的別名,更新 Arch Linux 
$ paru -S  xxx   // 安裝特定套件
$ paru -Ss xxx  // 在儲存庫和 AUR 上搜尋特定包
$ paru xxx // 互動式搜索和安裝套件
$ paru -Si vim // 顯示有關包的資訊
$ paru -U vim // 升級已安裝的軟體包
$ paru -Sua // 升級所有已安裝的 AUR 套件
$ paru -Qua // 顯示所有可用的 AUR 更新但不安裝
$ paru -R vim // 卸載套件
$ paru -c // 刪除不需要的依賴項和剩餘的包 -c--clean
$ paru -Sc // 刪除緩存中未使用的檔案

$ sudo vim /etc/pacman.conf
Color  // 刪除#號,啟用顏色
BottomUp // 翻轉搜尋順序
FileManager // 高級的文件審閱過程
$ paru --help  //更多
$ man paru

最大的非官方軟體存儲庫AUR幾乎包含所有軟體,你可能想知道為什麼我需要將DEB軟體包轉換為Arch Linux軟體包。

如由於各種原因(例如,編譯過程中的錯誤或不可用的依賴檔),某些包無法編譯(例如,閉源包)或無法從AUR構建。或者開發人員沒有時間在AUR中構建包,或者他/她不喜歡創建AUR包。原因可能很多。在這種情況下,你可以使用一個名為 Debtap 的 shell 腳本將 DEB 包轉換為 Arch Linux 包。

$ paru debtap //安装
// 確保你的 Arch 系統應該安裝 bash、binutils、pkgfile 和 fakeroot 軟體包。
// 安裝 Debtap 和上述所有依賴項後,運行以下命令以創建/更新 pkgfile 和 debtap 資料庫
$ sudo debtap -u // 更新資料庫
$ debtap xxx.deb // 進行包轉換
$ sudo pacman -U xxx.pkg //安裝新轉換的套件
$ debtap -h // 獲取説明

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

back to top