Arch Linux 2018.01.01 安裝總結

元旦放假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

  1. 網易鏡像站 下載 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
  2. 操做系統文件完整性校驗,計算完畢後和下載站點的 md5sum 對比,一致便可:centos

    $ md5sum archlinux-2018.01.01-x86_64.iso
  3. 刻錄到 U 盤:瀏覽器

    • 首先要刪除完 U 盤上得所有數據和分區,用 fdisk 或 parted 都可;
    • 刻錄校驗後的文件到 U 盤:
    # dd  if=archlinux-2018.01.01-x86_64.iso  of=/dev/sdb  bs=4M

    注: /dev/sdb 爲 U 盤在系統中得編號。網絡

  4. U 盤插入計算機,重啓,按住 ALT 鍵,進入啓動選擇界面,選擇 U 盤那一項啓動,進入 Arch Linux 的 Live 環境。less

  5. 按照 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
  6. 安裝完畢,退出 chroot,卸載 /mnt 目錄下掛載的文件系統,重啓系統

    # exit
     # umount -R /mnt
     # sync
     # shutdown -r now
  7. 安裝 gnome 桌面環境

    # pacman -S gnome
  8. 安裝字體,設置中文環境

    # pacman -Ss font
      # pacman -S ttf-liberation  ttf-arphic-ukai

    第一條命令是查找可用的字體,第二條命令是安裝字體; 活動->設置->區域和語言,更改設置爲 漢語。

  9. 安裝輸入法 在 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.

  10. 安裝 chromium 瀏覽器

    Arch Linux 下的 chrome 瀏覽器就是 chromium,功能都同樣

    # pacman -S chromium

    結果報錯:沒法從鏡像站點下載 chromium。這我就很奇怪了,怎麼回事?去網易鏡像源 找找,沒問題啊,有這個包啊。再安裝,仍是報一樣得錯誤,仔細看報的錯,發現是版本號不對,原來就在 這兩天,chromium 又更新版本了。知道錯誤緣由就好辦了:

    # pacman -Syy
      # pacman -S chromium

    安裝完畢,果真除了圖標顏色不同,其它的都同樣。

  11. 安裝 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 和 / 不在同一分區致使得沒法啓動,想盡了辦法也不行,處處百度,最終仍是解決了。最終,無線網卡能夠正常使用了,仍是有了一些收穫。

相關文章
相關標籤/搜索