--- title: Archlinux Installation Guide tags: - Linux id: "1543" categories: - - Coding - Operating System date: 2017-10-18 20:00:54 --- ## 准备工作 ### 镜像下载 && 启动盘制作 镜像文件可以直接从[官方网站](https://www.archlinux.org/download/)上下载。 下载完成后,Windows 用户可以用 Ultraiso 制作启动盘,Linux 用户可以用 dd 制作启动盘,具体如下: ``` # dd if=*.iso of=/dev/sd* ``` 其中`if`表示输入文件,`of`表示输出文件,`/dev/sd*`表示 U 盘。具体参数要根据实际情况确定。 ### 开始安装 && 分区操作 使用 U 盘启动系统,进入命令行界面后,用以下命令查看硬盘状态: ``` # parted -l ``` 从硬盘列表中找到希望安装到的硬盘,假设为`/dev/sda`,那么可以用以下命令进行分区操作: ``` # parted /dev/sda ``` 一般来说,Linux 只需要分出`/`主分区和 swap 分区,当然也可以根据个人需要分出`/home`、`/boot`等分区。对于内存在 2GiB 以下的电脑,建议将 swap 分区的大小设为实际内存大小的 2 倍,其他电脑只需设为实际内存大小。关于 parted 的使用,这里不再赘述。 分区后需进行格式化。假设将`/dev/sda1`设为`/`主分区,`/dev/sda2`设为`/home`分区,`/dev/sda3`设为 swap 分区,执行以下命令来格式化: ``` # mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkswap /dev/sda3 # swapon /dev/sda3 ``` 将分区挂载到 Linux 根目录下: ``` # mount /dev/sda1 /mnt # mkdir /mnt/home # mount /dev/sda2 /mnt/home ``` 如果 BIOS 是 UEFI 的,还需要用 parted 创建 EFI 分区(假设为`/dev/sda4`),并进行以下操作: ``` # mkfs.vfat -F32 /dev/sda4 # mkdir -p /mnt/boot/efi # mount /dev/sda4 /mnt/boot/efi ``` 准备工作完成。 ## 安装系统 安装过程中需要网络,可以使用以下命令连接 WiFi: ``` # wifi-menu ``` 有线网的连接方法将在后面提及。 使用以下命令编辑`/etc/pacman.conf`(vim 使用方法不再赘述): ``` # vim /etc/pacman.conf ``` 在文件最后添加一段: ``` [archlinuxcn] SigLevel = Optional TrustAll Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch ``` 接着,需要将`/etc/pacman.d/mirrorlist`中非 China 的源删去(因为外国源访问速度较慢)。 使用以下命令更新源: ``` # pacman -Syy ``` 安装基本系统: ``` # pacstrap /mnt base base-devel ``` 此过程持续时间较长,需要耐心等待。 生成 fstab: ``` # genfstab -U -p /mnt >> /mnt/etc/fstab ``` 切换主目录: ``` # arch-chroot /mnt /bin/bash ``` 这时命令提示符会发生变化。首先安装 vim: ``` pacman -S vim ``` 接下来设置语言环境,创建`/etc/locale.conf`,添加一行`LANG=en_US.UTF-8`,修改`/etc/locale.gen`,把`en_US.UTF-8 UTF-8`、`zh_CN.GBK GBK`、`zh_CN.UTF-8 UTF-8`和`zh_CN GB2312`前面的注释去掉。使用以下命令更新语言环境: ``` # locale-gen ``` 设置时间: ``` # rm /etc/localtime # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # hwclock --systohc --utc ``` 设置主机名以及 root 密码: ``` # vim /etc/hostname # passwd ``` 安装 net 工具: ``` # pacman -S net-tools dnsutils inetutils iproute2 dialog ``` 安装 GRUB: For BIOS: ``` # pacman -S grub os-prober # grub-install --recheck /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg ``` For UEFI: ``` # pacman -S dosfstools grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck # grub-mkconfig -o /boot/grub/grub.cfg ``` 卸载分区: ``` # exit # umount /mnt/home # umount /mnt # reboot ``` 安装系统完成。重启后,输入 root 和密码即可进入系统。 ## 基本配置 配置有线网络: 使用 ifconfig 查看网卡信息,假设有线网卡名为`eth0`。创建`/etc/systemd/network/eth0.network`,添加以下内容: ``` [Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 ``` 创建`/etc/systemd/resolved.conf`,添加以下内容: ``` [Resolve] DNS=114.114.114.114 ``` 执行以下命令: ``` # rm -f /etc/resolv.conf # ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf # systemctl disable netctl.service # systemctl enable systemd-networkd.service # systemctl enable systemd-resolved.service # reboot ``` 即可正常使用有线网。 添加用户: ``` # useradd -m -k /etc/skel -G users,wheel YourName # passwd YourName ``` 安装 Xorg 以及字体: ``` # pacman -S xorg xorg-server xorg-xinit xorg-twm xtrem ttf-dejavu wqy-zenhei wqy-microhei ``` 安装触摸板驱动: ``` # pacman -S xf86-input-libinput xorg-xinput # libinput list-devices ``` 安装显卡驱动: For Intel: ``` # pacman -S xf86-video-intel ``` For NVIDIA: ``` # pacman -S xf86-video-nouveau ``` For ATi: ``` # pacman -S xf86-video-ati ``` 安装压缩软件: ``` # pacman -S p7zip zip unzip rar unrar ``` 安装 NTFS 支持: ``` # pacman -S ntfs-3g ``` 同步网络时间: ``` # pacman -S ntp # systemctl enable ntpd ``` 安装桌面环境: For GNOME: ``` # pacman -S gnome gnome-extra gdm # systemctl enable gdm ``` For KDE: ``` # pacman -S plasma sddm # systemctl enable sddm ``` For Deepin: ``` # pacman -S deepin deepin-extra lightdm ``` For i3wm: ``` # pacman -S i3-gaps i3status i3blocks i3lock ``` 配置 startx: 编辑`/etc/X11/xinit/xinitrc`,注释掉以下内容: ``` twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login ``` 添加以下内容: For GNOME: ``` exec gnome-session ``` For KDE: ``` exec startkde ``` For i3wm: ``` exec i3 ``` 保存后就可以用`startx`进入桌面了。 ## 后续优化 ### yaourt 在`/etc/pacman.conf`最后添加一段: ``` [archlinuxcn] SigLevel = Optional TrustAll Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch ``` 更新源,然后执行: ``` # pacman -S yaourt ``` ### fcitx 使用以下命令安装 fcitx: ``` # pacman -S fcitx fcitx-im fcitx-libpinyin ``` 创建`~/.xprofile`,添加一段: ``` export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx" ``` 然后使用 fcitx 设置进行配置即可。 ### chromium 使用以下命令安装 chromium 以及 flash 插件: ``` # pacman -S chromium pepper-flash ``` ## 总结 Archlinux 的核心理念就是 KISS 原则(Keep It Simple, Stupid)。这个原则就是让系统保持简单。而这里的简单却不是所谓的开箱即用(out-of-the-box),而是让默认的软件与配置“能少就少”。Arch 还拥有非常强大的包管理器 pacman 以及社区用户软件仓库 AUR,软件几乎应有尽有。Arch 的 wiki 也是所有发行版中做的最好最全面的。它还支持滚动升级,一次安装可以永久使用。当然,更重要的是用户可以从中学到很多:用户几乎是从零开始安装整个系统,包括硬盘分区、设置语言及时区、安装软件包等等。只有亲手操作一遍后,才会了解 Linux 发行版的安装方式。另外,因为所有软件都是用户自己安装的,如果某个软件出了问题,可以自己尝试调试,或者卸载重装,这并不会影响操作系统本身。