元旦放假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 和 / 不在同一分区致使得没法启动,想尽了办法也不行,处处百度,最终仍是解决了。最终,无线网卡能够正常使用了,仍是有了一些收获。