ArchLinux 2020 安裝總結
2020-4-1node
今年我開始全面使用 ArchLinux 系統,這個系統比較小巧,安裝過程本身控制的內容更多,減小不少沒必要要的麻煩,也更符合我本身的使用習慣。 我最喜歡它的緣由有三條:linux
- ArchLinux 的源很完善,使用起來很方便,能解決不少偏門的難題(相對於 centos ),好比個人 Apple MAC mini 的無線網卡、藍牙驅動問題, 都能在 ArchLinux 中獲得解決。
- ArchLinux 擁有專用的中文源——ArchLinuxcn,對中國人來講就是福利,不少咱們習慣的軟件都能在此找到,好比搜狗拼音輸入法。
- ArchLinux 的 wiki 很完善,並且有中文翻譯,不少問題均可以在那兒找到答案。
我不只在 MAC mini 上安裝,把個人 Thinkpad 筆記本、DIY 的臺式機都安裝了 ArchLinux 系統,都很好用。 個人 MAC mini 上次沒有安裝好無線網卡驅動、藍牙驅動,本身沒弄好,把網卡也弄亂了,因此此次重裝了 MAC mini 上的 ArchLinux 系統,此次用 的是 ArchLinux 2020-02-01,安裝過程和上次記下的 ArchLinux 2018-01-01 有一些不一樣,記錄下來,是爲總結。android
準備工做
下載 ArchLinux,並刻錄至 U 盤(暫定爲/dev/sdb),刻錄前應該把 U 盤上所有分區都刪除掉,直接刻錄:git
# dd if=/path/to/archlinux-x86_64-2020.02.01.iso of=/dev/sdb bs=4M
系統安裝
- 將刻錄好的 U 盤插入計算機,啓動時選擇從 U 盤啓動,對於 MAC mini 是開機時不停按 Alt 鍵,選擇從 U 盤啓動:
- 按默認項進入系統安裝界面,此時進入了一個啓動好的 ArchLinux Live 系統,以此爲起點安裝 ArchLinux 系統,依次完成:
- 設置鍵盤佈局,按默認佈局便可;
- 驗證啓動模式
# ls /sys/firmware/efi/efivars
該目錄下有文件即爲 EFI 啓動模式,MAC mini 和其餘電腦都是 EFI 模式啓動。 - 鏈接互聯網,此時沒有驅動 MAC mini 的無線網卡,只能用手機開熱點,經過 USB 共享網絡,在 MAC mini 上效果以下:
# ip addr show // 能看到手機經過 USB 共享的網絡接口——enp0s20u8 # dhcpcd enp0s20u8
- 更新系統時間
# timedatectl set-ntp ture
- 創建磁盤分區,fdisk 或 parted 都可。分區時須要注意:/ 和/usr 須要在一個分區之上,不然會報錯,系統沒法正常啓動; EFI 啓動模式 須要 ESP 分區,不用太大,128MB便可,必須格式化爲 FAT 格式。若是安裝多系統,須要先安裝其餘系統(MAC OS X,Windows),再安裝 ArchLinux 系統,並且,安裝過程當中不要碰其餘系統的分區。
# mkfs.vfat -F 32 /dev/sda4 # mkfs.ext4 /dev/sda5 # mkfs.ext4 /dev/sda6 # mkfs.ext4 /dev/sda7 # mkfs.swap /dev/sda8 ...
- 掛載磁盤分區,須要按順序掛載,先掛載 / 分區,再掛載 / 之下的其餘分區,啓用 swap 分區:
# mount -t ext4 /dev/sda7 /mnt // 將 / 分區掛載到ArchLinux Live 系統的 /mnt 目錄,做爲新系統的根分區; # mkdir /mnt/boot /mnt/home # mount -t ext4 /dev/sdb6 /mnt/home // boot, home 必定要創建在 mnt 目錄下,並且是掛載 / 分區以後 # mount -t ext4 /dev/sdb5 /mnt/boot # mkdir /mnt/efi // efi 目錄必定創建在 /mnt/boot 目錄下,並且創建在 /mnt/boot 掛載磁盤以後 # mount -t vfat /dev/sda4 /mnt/boot/efi # swapon /dev/sda8 // 啓動swap 分區
掛載過程必定要按照順序執行,不然只是在 Live 系統的目錄中創建目錄,或掛載在 Live 系統的目錄中,若是操做是在 Live 系統中, 關機後一切都不會寫入磁盤,系統必定安裝不正確。 ESP 分區也必定要掛載在 /dev/sda5 分區(掛載爲/boot 目錄)下的 efi 目錄中, 不然沒法啓動。 - 選擇鏡像源,編輯 /etc/pacman.d/mirrorlist 文件,把中國的源保留便可,其餘均刪除
# vim /etc/pacman.d/mirrorlist
- 查看 fstab 文件是否能正常生成,若是正常再繼續安裝過程,不然安裝過程就是無效的:
# genfstab -U /mnt
查看輸出中: /, /home, /boot, /boot/efi, swap 幾個分區是否正常掛載,若是掛載異常,從新查看磁盤分區、掛載過程是否出錯。 - 安裝基礎系統:
# pacstrap /mnt base linux linux-firmware
- 生成 fstab 文件:
# genfstab -U /mnt >> /mnt/etc/fstab
- chroot 進入新系統
# arch-chroot /mnt
- 安裝必要的軟件:
# pacman -S dhcpcd vim // 下面會用到 vim, 重啓後鏈接網絡須要 dhcpcd
- 設置時區及時鐘
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # hwclock --systohc
- 本地化設置,在僅有終端環境時應該只設置英語字符,此時沒法顯示中文:
# vim /etc/locale.gen // 僅保留如下內容 en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 # locale-gen # echo LANG=en_US.UTF-8 > /etc/locale.conf
- 設置 root 密碼:
# passwd root
- 設置主機名稱:
# echo Arch > /etc/hostname // 個人系統名稱:Arch # vim /etc/hosts // 添加如下內容: 127.0.0.1 Arch ::1 localhost 127.0.1.1 Arch.localdomain Arch
- initramfs 從新生成,通常不須要,我也沒有執行這一步:
# mkinitcpio -p linux
- 安裝grub, intel-ucode, efibootmgr,並生成啓動腳本:
# pacman -S grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub # pacman -S intel-ucode # grub-mkconfig -o /boot/grub/grub.cfg
- 系統安裝完畢,退出chroot,卸載 /mnt 目錄下的文件系統,重啓 Live 系統:
# exit // 退出chroot # sync # umount -R /mnt # sync # shutdown -r now
安裝後的設置
系統重啓後,選擇從硬盤啓動,此時進入新安裝的 ArchLinux 系統,進行安裝後的設置。shell
- 添加用戶
# groupadd coder # useradd -g coder -m coder // -g coder 加入 coder 組, -m 建立 /home/coder 目錄做爲 coder 用戶家目錄 # passwd coder
- 安裝並啓用 gnome 桌面環境:
# pacman -S gnome # systemctl enable gdm.service // 啓用 gnome 桌面環境 # shutdown -r now
提示安裝不少軟件,僅僅把 evince(PDF瀏覽器), gnome-photos(圖片管理程序), eog(圖片查看器), gnome-terminal, gnome-setting(設置), gnome-keyring, gnome-control-center(管理中心),gdm(圖形啓動器) gnome-menus(gnome 菜單),nautilus(圖形化管理文件程序,相似windows 文件夾), 這幾個軟件選擇便可,其餘的軟件根據依賴關係會自動安裝。npm
- 此時應該可以看到正常的桌面環境了,但都是英語,須要安裝中文字體:
# pacman -S tty-arphic-ukai settings->zone&language -> add 中文、中文輸入法
從 gnome 中 Logout,再次登陸進入,應該是中文環境了。json
- 安裝無線網卡、藍牙驅動。
# lspci // 查看全部的PCI 設備,可以看到 Broadcom BCM4360 802.11AC Wireless Network Adapter...,能查看到是 BCM4360[14e4:43a0]具體型號, # // 此型號設備對應的驅動模塊是 broadcom-wl,該模塊就在 comunity 庫中 # pacman -S broadcom-wl // 是否是很是簡單,記得在 ArchLinux 2018 中都沒有這麼簡單,在 centos 中更是沒法安裝 # shutdown -r now // 重啓後就看到無線網卡了
- 安裝 tmux 分屏器:
# pacman -S chromium # pacman -S tmux # vim /etc/tmux.conf // 添加如下內容 # Turn off the status line. set -g status off # Change the prefix keys from C-b to Alt-x unbind C-b set -g prefix M-x # Change the prefix '%' to '-' to split windown horizon unbind % bind - split-window -v # Change the prefix '"' to '\' to split window vertical unbind '"' bind \\ split-window -h # Set windown control mode to vi set-window-option -g mode-keys vi
- 啓用 archlinuxcn 源:
# vim /etc/pacman.conf // 在[comunity]欄下增長如下內容 [archlinuxcn] Include = /etc/pacman.d/archlinuxcn Architecture = x86_64 // 將原來的 auto 改成我本身的 x86_64 架構 # vim /etc/pacman.d/archlinuxcn // 增長如下源 ## China Server = http://mirrors.163.com/archlinux-cn/x86_64 ## China Server = http://mirrors.zju.edu.cn/archlinuxcn/x86_64 ## China Server = http://mirrors.cqu.edu.cn/archlinuxcn/x86_64 ## China Server = http://mirrors.neusoft.edu.cn/archlinuxcn/x86_64 ## China Server = http://mirror.lzu.edu.cn/archlinuxcn/x86_64 # pacman -Sy // 更新源文件 # pacman -S archlinuxcn-keyring // 啓動ArchLinuxcn 源
- 安裝拼音輸入法
# pacman -S # pacman -S fcitx-lilydjwg-git fcitx-sogoupinyin # pacman -S fcitx-configtool fcitx-qt5 # vim /etc/environment // 添加如下內容 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS="@im=fcitx"
若是不肯意用sogou 輸入法,也能夠安裝 rime 輸入法,聽說這是更好的輸入法框架 此時不安裝fcitx 框架,安裝 ibus 框架vim
# pacman -S ibus ibus-rime // 剛安裝完rime,須要設置中文輸入法,我選擇明月拼音輸入法 #vim .bashrc // 增長如下三行便可設置中文輸入法爲ibus框架 export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus // 剛開始用 ibus-rime 時,默認繁體中文,須要改成簡體中文 # vim /home/coder/.config/ibus/rime/build/default.yaml schema\_list: \- schema: luna\_pinyin\_simp // 這是簡體拼音,放在第一行便可 \- schema: luna\_pinyin
- 安裝百度腦圖、chromium 瀏覽器
# pacman -S desktop-naotu # pacman -S chromium # echo alias naotu='desktop-naotu' >> /etc/bash.bashrc
- 設置MAC OS X,Windows 啓動項:
# vim /etc/grub.d/40_custom menuentrt 'MAX OS X' { exit } menuentry 'window 7' { insmod part_gpt insmod fat set root='hd0,gpt1' // windows 分區 chainloader /EFI/Microsoft/Boot/bootmgfw.efi } # grub-mkconfig -o /boot/grub/grub.cfg
- 設置有線網卡
# vim /etc/systemd/network/name-of-network-adpter.network [Match] Name=enp3s0 [Network] Address=192.168.1.3/24 Gateway=192.168.1.254 # systemctl restart systemd-networkd.service // 重啓網絡服務,網卡配置文件當即生效
- 調整普通用戶 bash 提示符從'$'到 '>'
# vim ~/.bashrc PS1='[\u@\h \W]>
-
添加鍵盤快捷鍵 設置->鍵盤快捷鍵:windows
將F1 系統設置,F2 chromium 瀏覽器,F3 gnome-terminal,F6 主目錄centos
-
安裝 git, gitbook
# pacman -S git nodejs npm # npm install -g gitbook # npm install -g gitbook-cli // 此時報錯,/usr/bin/gitbook 已經存在。。。 # rm /usr/bin/gitbook # npm install -g gitbook-cli # gitbook -V // 應該在聯網環境下執行該命令 CLI version 2.3.2 Installing Gitbook 3.2.3 TypeError: cb.apply is not a function. at /usr/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js //我不知道具體緣由是爲何,但好像是nodejs版本、npm版本與Gitbook版本之間有不一致。 # vim /usr/lib/node\_modules/gitbook-cli/node\_modules/npm/node\_modules/graceful-fs/polyfills.js //註釋掉 62-64 3行代碼便可 // fs.stat=statFix(fs.stat) // fs.fstat=statFix(fs.fstat) // fs.lstat=statFix(fs.lstat) # gitbook -V // 第一次執行該命令須要聯網 # gitbook serve // 第一次執行該命令須要聯網,也比較慢 # vim book.json // 放在寫文檔的目錄下 { "title" : "XXX", "author" : "Gitbooker", "description" :"Write", "plugins": [ // 增長插件 "chapter-fold", // 目錄摺疊插件 "todo" // 列待辦事項插件 ] } #gitbook install // 配置文件中增長了插件,需執行該命令
- 安裝 man 手冊、中文 man 手冊:
# pacman -S man-pages # pacman -S man-pages-zh\_cn
- 命令行鏈接無線網絡
# pacman -S wpa\_supplicant // 安裝無線鏈接軟件 # wpa\_passphrase SSID Password > /etc/wpa\_supplicant/SSID.conf # ip link set wlp2s0 up # wpa\_supplicant -B -i wlp2s0 -c /etc/wpa\_supplicant/SSID.conf # dhcpcd wlp2s0
也能夠寫一個 shell script 來完成這些工做。
#!/bin/bash if [ $UID -ne 0 ]; then echo " Permission denied, only root can execute this script." exit fi ip link set wlp2s0 up wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/MATE9.conf dhcpcd wlp2s0 exit
- 啓用藍牙鏈接:
# systemctl enable bluetooth.service
- 設置 gnome-terminal: 我我的很是喜歡 tty-liberation 字體,但不知道爲何老是沒法在 terminal 裏面正常使用,因此選擇了 Source Code Pro Regular, 但通過對比 Source Code Pro Regular 和 Liberation Mono Regular 字形很相近,但行間距更大一點,因此選擇用 Source Code Pro Regular. 這款字體也基本知足了個人須要,字體大小爲14號,顏色選擇黑底綠字,滾動選擇不顯示滾動條。這些都是個人使用習慣。
若是gnome-termianl 不支持 Source Code Pro Regular 字體,那麼安裝gnome-tweaks 優化。 # pacman -S gnome-tweak
打開優化,在字體欄設置 Source Code Pro Regular。此時,不選gnome-terminal中的自選字體,自動應用gnome-tweaks 中的字體和字號。
調整gnome-terminal配色:
gnome-terminal -> 配置文件首選項-> 顏色 -> 黑底綠字
設置終端ls顏色,區分各類文件
# vim /etc/bash.bashrc alias ls=`ls --color=auto`
- 設置ssh,容許其餘機器以ssh 方式登陸本機
# systemctl enable sshd.service // 開啓該服務,下次重啓生效 # systemctl start sshd.service // 啓動該服務,當即生效 # systemctl status sshd.service // 查看服務狀態
- 讀取手機文件 手機以MTP方式鏈接計算機,同時計算機支持讀取MTP設備文件便可。
# pacman -S mtpfs android-file-transfer
- 設置iptables 防火牆
# systemctl disable iptables.service // 關閉防火牆,默認狀態也時關閉