Arch Linux 安装记(安装到移动硬盘)
一转眼传说中装起来难于上青天,用起来险如上刀梯(容易滚挂),绰号“洗发水”并被戏称为“邪教”的 Arch Linux 已经用了几个月。某些关于其安装难度和稳定性的传说实在太夸张了,反而觉得这才是适合懒人使用的 Linux 发行版(必要前提:仅限非生产环境且使用者不是 Linux 新手)。最深的感受是其可定制性特别高,安装软件格外省事,官方 Wiki 也特别全面。不过个人在使用上比较保守,没有开启有风险的仓库,也没有使用闭源驱动,基本一个星期滚动一次。
现将安装过程进行回顾整理。
安装背景介绍
此次安装将某品牌 USB 3.0 移动硬盘连接到一台笔记本进行。计划将 Arch linux 单独安装到移动硬盘,以便连接到任意一台 BIOS 引导的机器都可使用而不影响其他电脑上的数据。移动硬盘上的 NTFS 分区已经存在并存放了大量文件,可用的电脑也都没有使用 UEFI,故不再折腾分区表格式继续使用 MBR。
由于手头没有空余的 U 盘,光驱更是已经报废了 N 年,所以必须读盘的安装部分先开一台 vbox 虚拟机完成,省去了安装盘的制作(需安装支持 USB 3.0 的Extension Pack,不设置虚拟磁盘)。通过虚拟机读取安装盘 ISO 文件并直接将系统写入移动硬盘,待安装完基本系统、必要的网络工具和 GRUB 后,再直接从移动硬盘引导继续进行其他安装。(当然可以从头到尾通过虚拟机安装,然而这样驱动测试和无线网络调试就不爽快了。)
准备磁盘
移动硬盘分区情况如下:
分区 | 大小 | 格式 | 用途 |
/dev/sda1 | 410G | NTFS | 跨平台存储数据 |
/dev/sda2 | 409G | NTFS | 跨平台备份数据 |
/dev/sda3 | 30G | ext4 | Arch Linux 的根分区 |
/dev/sda5 | 80G | ext4 | Arch Linux 的 /home 分区 |
/dev/sda6 | 2.5G | swap | 交换区 |
格式化分区
# mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda5 # mkswap /dev/sda6
设置卷标(为了挂载到不同环境容易辨认)
# e2label /dev/sda3 arch-root # e2label /dev/sda5 arch-home
挂载分区,启用 swap
# mount /dev/sda3 /mnt # mkdir /mnt/home # mount /dev/sda5 /mnt/home # swapon /dev/sda6
连接网络
检查网络是否正常连接(通过安装盘启动机器的时候有线网络和虚拟机是自动连接到网路的,无线网络和基本安装完成重启到新系统才需手动连接)
# ping -c 3 archlinux.org PING archlinux.org (138.201.81.199) 56(84) bytes of data. 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=49 time=350 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=49 time=360 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=49 time=355 ms --- archlinux.org ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 350.231/355.627/360.983/4.443 ms
设置安装源
编辑 /etc/pacman.d/mirrorlist 文件,加入阿里云镜像,保存退出
# vi /etc/pacman.d/mirrorlist http://mirrors.aliyun.com/archlinux/$repo/os/$arch
安装文字系统并进行必要的设置
安装基本系统
# pacstrap -i /mnt base base-devel
生成 fstab 文件
# genfstab -U /mnt >> /mnt/etc/fstab
Chroot 到新安装的系统
# arch-chroot /mnt /bin/bash
安装必要工具
# pacman -S vim dialog net-tools wpa_actiond ifplugd wpa_suppicant sudo zsh
设置时区
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置硬件时间为本地时间(systemd 默认系统时间为 UTC,若跳过这一步,凡是连接此移动硬盘跑过系统的机器主板时间将被刷新为 UTC 时间,造成 Windows 系统时间慢 8 个小时。)
# timedatectl set-local-rtc true
设置主机名
# echo arch-linux > /etc/hostname
设置语言环境
编辑 /etc/locale.gen(取消有关语言编码项目的注释即可)
# vim /etc/locale.gen en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
刷新 locale-gen
# locale-gen
创建 locale.conf
# echo LANG=en_US.UTF-8 > /etc/locale.conf
设置 root 密码
# passwd
新建日常登录的普通用户并设置密码加入 sudoers
# useradd -m luna # passwd luna # visudo ## Allow root to run any commands anywhere root ALL=(ALL) ALL luna ALL=(ALL) ALL
安装 grub
# pacman -S grub # grub-install --recheck /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
退出 Chroot 环境并卸载分区,关闭虚拟机
# exit # umount /mnt/home # umount /mnt # poweroff
重启,通过 BIOS 启动菜单直接进入移动硬盘里的 Arch Linux,登录 root 用户,连接无线网络
# wifi-menu
安装配置 yaourt
添加 archlinuxcn 源至 /etc/pacman.conf
# vim /etc/pacman.conf [archlinuxcn] #The Chinese Arch Linux communities packages. SigLevel = Optional TrustAll Server = http://repo.archlinuxcn.org/$arch
同步并安装
# pacman -Syu yaourt
安装驱动
(安装时可以一条命令安装完所有需要的包,只不过中途某些包出现问题会有些麻烦。分开进行记录更方便查看。)
安装显卡驱动(很囧啊,基本没有 A 卡机器可用)
# pacman -S xf86-video-intel xf86-video-nouveau xf86-video-vesa
安装读写 Windows 分区的必要工具
# pacman -S ntfs-3g dosfstools
安装笔记本触摸板驱动
# pacman -S xf86-input-synaptics
安装 alsa-utils
# pacman -S alsa-utils
安装图形界面
安装 Xorg 框架(不使用 startx,把一些组件省了)
# pacman -S xorg-server xorg-server-utils xorg-utils
安装显示管理器(登录管理器)
# pacman -S lxdm
设置 LXDM 开机自动运行
# systemctl enable lxdm.service
安装 Cinnamon 桌面环境(基本都是小屏幕,平均配置也不是那么低,就不凑热闹折腾平铺窗口管理器了)
# pacman -S cinnamon
安装 Cinnamon 音效(纯属好玩,不是必须)
# yaourt cinnamon-sound-effects # yaourt int-sounds
安装虚拟终端(常用到窗口分割和广播功能)
# pacman -S terminator
安装字体
安装中文字体
# pacman -S wqy-zenhei wqy-microhei wqy-microhei-lite wqy-bitmapfont ttf-arphic-ukai ttf-arphic-uming adobe-source-han-serif-otc-fonts adobe-source-han-sans-otc-fonts
安装常用西文和符号字体
# pacman -S ttf-dejavu ttf-symbola
更新字体
# fc-cache -fv
设置网络
设置开机启动 NetworkManager 服务(实现开机自动连接网络,不论无线有线非常方便)
# systemctl enable NetworkManager
安装并配置输入法
到了这一步,已经注销 root 切换为自己平时使用的普通用户
安装 fcitx 输入法及设置工具
$ sudo pacman -S fcitx fcitx-im vim-fcitx fcitx-configtool fcitx-rime
安装搜狗拼音(实际上习惯 rime 和云拼音后就几乎不用了)
$ yaourt sogoupinyin
设置输入法环境变量(不然输入法是没法用的)
$ vim ~/.xprofile export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx
这样一个带有图形界面、开机自动联网、登录可选择界面语言、中文输入法直接可用并且汉字显示正常、可以挂载读写 Windows 磁盘分区适合个人日常使用的Arch Linux 基本就安装好了,重启后即可通过显示管理器从图形界面登录到桌面环境。后续工作是安装自己需要的软件(不要着急,浏览器媒体播放器各种语言解释器办公套件等其他Linux发行版一般自带的东西,到了 Arch 都得自己一个个慢慢安装,用哪一种完全由自己决定,再花点时间慢慢来吧),部署各种开发环境,还可进行适当的美化,使用体验如何基本看自己的能力和投入的时间。
就像官方定位的那样,Arch Linux 不是一个对新手友好的发行版,使用者必须同时具有使用意愿、能力和一定的时间投入才能获得好的使用体验。没有基础的新手和缺乏耐心脾气暴躁使用定位不明确者不建议轻易试水,不然定会痛苦不堪甚至骂骂咧咧。喜欢自己定制一切却设备老旧还急缺时间精力和电费编译 Gentoo 的 Linuxer 们倒是可以试试。