元旦放假3天,在家休息得好爽!php
一個Linux發行版更新了,Arch Linux 發佈了 2018.01.01 版,我看到這個消息時,陷入了思考,我要不要換上這個發行版?用 centos 五年多了,一直很不錯,尤爲是發佈 DVD 版、 Everything 版,解決了我不少次的上網不方便,安裝軟件困可貴的問題。可是,在 centos 上,沒有把 BCM 4360無線網卡驅動起來,讓我很不方便;並且,在個人 mac mini 上, centos 7 的啓動速度確實有些慢。因此,我想換一個系統試試了。linux
早就據說過 Arch Linux ,也知道其對於網絡得依賴程度之深,遠遠超過 centos ,如今用移動網絡流量的成本極大得降低了,能夠試試了。Arch Linux 對於我而言,又是更進一步學習理解 Linux 系統的路徑。git
經驗告訴我,解決問題時進步得最快。因此,我要走出 centos 的溫馨區,走向 Arch Linux。chrome
2018年1月3日,安裝 Arch Linux 過程以下:shell
從網易鏡像站 下載 archlinux-2018.01.01-x86_64.iso 文件:vim
$ wget -c http://mirrors.163.com/archlinux/iso/2018.01.01/archlinux-2018.01.01-x86_64.iso
操做系統文件完整性校驗,計算完畢後和下載站點的 md5sum 對比,一致便可:centos
$ md5sum archlinux-2018.01.01-x86_64.iso
刻錄到 U 盤:瀏覽器
# dd if=archlinux-2018.01.01-x86_64.iso of=/dev/sdb bs=4M
注: /dev/sdb 爲 U 盤在系統中得編號。網絡
U 盤插入計算機,重啓,按住 ALT 鍵,進入啓動選擇界面,選擇 U 盤那一項啓動,進入 Arch Linux 的 Live 環境。less
按照 Arch Linux 的安裝指南 或者就是 Live 環境中的安裝指南,安裝 Arch Linux 到本地計算機:
檢查鍵盤佈局
驗證啓動模式
# ls /sys/firmware/efi/efivars
鏈接到因特網
查看可用網口,包括手機經過 USB 接口共享的網絡接口均可以查到:
# ip addr show
動態獲取 IP 地址,Arch Linux 用 dhcpcd 命令:
# dhcpcd enp0s20u1
更新系統時間
# timedatectl set-ntp true
創建硬盤分區,fdisk 或 parted 都可以,建議仍是 parted,由於能夠查看到更詳細的信息。 注意:/ 分區和 /usr 目錄應該在同一個分區,不然啓動過程當中會提示:
ERROR: Unable to determine major/minor number of root device 'dev/sda8'. You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off
錯誤緣由大概是掛載了 / 分區後,沒有繼續掛載完 /etc/fstab 文件中記錄的其餘掛載分區,致使系統執行過程當中,部分命令沒法執行。 這個問題困擾了我一個晚上,特別坑,還好最後解決了。
注:必定要規劃 ESP 分區,這是 EFI Shell 啓動必需的,並且須要格式化爲 FAT 格式, FAT16 或 FAT32 均可以安裝 EFI Shell 啓動文件; SWAP 分區根據須要規劃,內存大,能夠規劃小點(2GB),內存小,能夠規劃大點(4GB)。格式化命令以下:
# mkfs.vfat -F 32 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkswap /dev/sda3 ...
掛載分區 首先掛載 / 分區
# mount -t ext4 /dev/sda8 /mnt
建立分區目錄,掛載分區
# mkdir /mnt/boot # mount -t ext2 /dev/sda2 /mnt/boot/ # mkdir /mnt/boot/efi # mount -t vfat /dev/sda1 /mnt/boot/efi # swapon /dev/sda3 ...
注:必定要按順序執行,不能 mkdir -p /mnt/boot/efi,此時掛載 sda2 到 boot 目錄沒有問題,但掛載 sda1 到 /mnt/boot/efi 目錄時就會發生問題,掛載不成功,後面無法生成正確的 fstab 文件。由於 sda2 掛載到 boot 目錄後,會覆蓋原來建立的 boot/efi 目錄,用 sda2 分區裏得內容代替。而 sda2 剛格式化完畢,只有一個 lost+found 目錄,沒有 efi 目錄,因此會有掛載錯誤。
選擇鏡像源,編輯 /etc/pacman.d/mirror-list 文件,刪除中國之外其餘國家的鏡像站點。
安裝基本系統
# pacstrap /mnt base
生成 fstab 文件,並查看內容是否正確
# genfstab -U /mnt >> /mnt/etc/fstab # cat /mnt/etc/fstab
chroot 新系統
# arch-chroot /mnt
設置時區及時鐘
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # hwclock --systohc --utc
本地化設置,在僅有終端環境時,應該只設置英語字符,由於沒法顯示中文
# 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 # echo myhostname > /etc/hostname
給新操做系統配置網絡,也能夠重啓後再作。
Initramfs 若是修改了 mkinitcpio.conf,用如下命令建立一個初始 RAM disk:
# mkinitcpio -p linux
安裝Grub、efibootmgr, efibootmgr 建立 GRUB 安裝腳本使用的 .efi 啓動項
# pacman -S grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Grub
安裝 intel-ucode 並啓用
# pacman -S intel-ucode # grub-mkconfig -o /boot/grub/grub.cfg
安裝完畢,退出 chroot,卸載 /mnt 目錄下掛載的文件系統,重啓系統
# exit # umount -R /mnt # sync # shutdown -r now
安裝 gnome 桌面環境
# pacman -S gnome
安裝字體,設置中文環境
# pacman -Ss font # pacman -S ttf-liberation ttf-arphic-ukai
第一條命令是查找可用的字體,第二條命令是安裝字體; 活動->設置->區域和語言,更改設置爲 漢語。
安裝輸入法 在 GNOME 平臺上,可使用 fcitx 模式的輸入法,也可使用 ibus 模式的輸入法,整體來說,仍是 ibus 模式輸入法好用,安裝簡單:
# pacman -S ibus ibus-googlepinyin
安裝 fcitx 輸入法麻煩一些。
# pacman -S fcitx fcitx-im
安裝完畢後,老是不能啓動 fcitx ,直接在終端中輸入 fcitx 會報錯
DBus Service Already Exists(ERROR-836 /build/fcitx/src/fcitx-4.2.8.1/src/lib/fcitx/instance.c:424) Exiting.
執行 fcitx-diagnose 檢查,發現是缺乏環境變量設置,因而各類百度,然而 查看各類教程都是建立 ~/.xprofile 或 ~/.xinitrc ,添加變量重啓生效等,結果都無效,最後仍是查看 Arch wiki 發現有這樣一句話
若是你使用的是較新版本的GNOME,使用 Wayland 顯示管理器,則請在 /etc/environment 中加入:
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx
這就是緣由了,個人 gnome 版本比較新,在 /etc/environment 中更改後重啓系統,就能 正常使用了。安裝完畢後再看 Arch wiki 過程當中,發現本身真 笨,早就該好好看看 wiki 頁面中關於輸入法的說明了:
GNOME has integrated support for input methods through IBus, only ibus and the wanted input method engine (e.g. ibus-libpinyin for Intelligent Pinyin) needed to be installed, after installation the input method engine can be added as a keyboard layout in GNOME's Regional & Language Settings.
安裝 chromium 瀏覽器
Arch Linux 下的 chrome 瀏覽器就是 chromium,功能都同樣
# pacman -S chromium
結果報錯:沒法從鏡像站點下載 chromium。這我就很奇怪了,怎麼回事?去網易鏡像源 找找,沒問題啊,有這個包啊。再安裝,仍是報一樣得錯誤,仔細看報的錯,發現是版本號不對,原來就在 這兩天,chromium 又更新版本了。知道錯誤緣由就好辦了:
# pacman -Syy # pacman -S chromium
安裝完畢,果真除了圖標顏色不同,其它的都同樣。
安裝 Broadcom BCM4360 無線網卡驅動
查看無線網卡具體信息
# lspci -v | grep 14e4 ... 02:00.0 Network controller [0280]: Broadcom Limited BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03) Subsystem: Apple Inc. BCM4360 802.11ac Wireless Network Adapter [106b:0112]
查適用的驅動類型表,BCM4360 適用 broadcom-wl 驅動模塊。查該模塊得信息,是 AUR 庫中的,沒法直接用 pacman 安裝,這就放棄嗎?固然不。
# git clone https://aur.archlinux.org/broadcom-wl.git # cd /git/broadcom-wl/ #替換爲本身的實際路徑 # makepkg # rmmod b43 ssb # pacman -U broadcom-wl-6.30.223.271-6-x86_64.pkg.tar.xz # modprobe wl lib80211
重啓系統,終於看到無線網卡了。
安裝終於告一段落了,個人 MAC MINI MGEM2 終於又能夠正常使用了。在安裝過程當中,經歷了 /usr 和 / 不在同一分區致使得沒法啓動,想盡了辦法也不行,處處百度,最終仍是解決了。最終,無線網卡能夠正常使用了,仍是有了一些收穫。