手工安裝 Arch Linux 比較複雜,新手會感覺到痛苦。想輕鬆可以用 archinstall、archfi 自動化腳本,也可以下載 ArcoLinux、EndeavourOS 發行版來安裝。特別推薦 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 // 獲取説明