前言

ArchLinux是一款简单,轻量的Linux发行版。由于其轻量滚动升级的特性,特别适合个人作为日常办公、开发使用。Arch拥有强大的软件库,在AUR包含大量软件包,只需一个 makepkg 命令即可构建,非常方便,同时,Arch Wiki 非常丰富,个人认为在遇到问题时先去 Arch Wiki 搜索一下,基本可以解决,这比搜索引擎搜索出来的 Blog 或别人写的一点笔记要靠谱的多。Arch Linux拥有最强大的Wiki,这是所有Linux发行版里面绝无仅有的,基本上所有的问题都可以在Wiki里面找到答案,安装当然也不例外。本文集基于Arch Wiki。以简洁轻便出名的Arch也号称是最难安装的Linux发行版,所以我写下这篇手记,希望能给需要的人作为参考。

Ps:本教程只适合GTP+UEFI分区格式的Windos,且EFI分区完好,没有的同学请自行解决。本文仅作参考

制作启动盘

下载Arch Linux镜像,下载地址:https://www.archlinux.org/download/

使用rufus写入镜像,下载地址:点击下载

记住在最后选DD模式写入镜像!!!

Windows中分配空间{非双系统者略过)

Windows+x键进入磁盘管理,压缩卷,根据自己的情况分配空间大小。

系统安装

进入安装

在windows中划分出要使用的空白磁盘,关闭快速启动,同时在BIOS中禁止SecureBoot,将U盘改为启动第一顺位,即可开始安装。

开机选择 Boot Arch Linux (x86_64)

如果一切正常的话会进入一个只有命令示符的界面:

Arch Linux 4.18.10-1-ARCH(tty1)

archiso login: root (automatic login)
root@archiso ~ # _

至此,已成功进入 arch linux

检查引导方式

root@archiso ~ # ls /sys/firmware/efi/efivars
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory

上述输出表明以 BIOS 的方式引导,否则为 EFI

连接网络

这里我用的无线连接,命令为wifi-menu,如果你是有线连接,那么请使用dhcpcd

连接后验证网络的可用性

root@archiso ~ # ping www.baidu.com

开始分区

ps:说明一下,这里我因为有两块磁盘,所以没有分home目录,boot分区是共用的Windows的分区

安装前预计分区如下:

/dev/nvme0n1p4/: / 根目录 (32G)

输入fdisk /dev/nvme0n1/进入fdisk界面,输入 m ,根据提示一路操作,根据自己的需要分区即可

格式化分区

root@archiso ~ # mkfs.ext4 /dev/nvme0n1p4

挂载分区

注意不要输错,我的根目录是/dev/nvme0n1p4/,Windows引导分区是/dev/nvme0n1p1/

root@archiso ~ # mount /dev/nvme0n1p4/ /mnt
root@archiso ~ # mkdir /mnt/boot
root@archiso ~ # mount /dev/nvme0n1p1/ /mnt/boot

一定要先挂载根分区 /mnt/ 再挂载Boot分区 /mn/boot

开始安装

首先编辑镜像源文件,把china的提前(或者只保留china的)

root@archiso ~ # nano /etc/pacman.d/mirrorlist

安装基本包

这一步是安装最基本的 ArchLinux 包,需要联网

root@archiso ~ # pacstrap /mnt base

配置 fstab

生成自动挂载分区的 fastab 文件

root@archiso ~ # genfstab -L /mnt >> /mnt/etc/fstab

生成后可以检查一下cat /mnt/etc/fstab

进入Chroot环境

root@archiso ~ # arch-chroot /mnt

这一步将操纵权交给新安装的 Linux 系统,以后的操作都会在这个系统中进行。此外,如果以后系统出了问题,只需要重新插入 U 盘启动,将系统的根分区挂载到 /mnt,输入这条命令就可以进入系统修复了。

执行之后会发现终端变为这个样子:

[root@archiso /]#

设置时区和硬件时钟

[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@archiso /]# hwclock --systohc

设置语言选项

[root@archiso /]# nano /etc/locale.gen

将文件中以下语言前面的 # 去掉:

  • en_US.UTF-8 UTF-8
  • zh_CN.UTF-8 UTF-8
  • zh_TW.UTF-8 UTF-8

保存并退出,并使其生效:

[root@archiso /]# locale-gen
Generating locales...
  en_US.UTF-8 UTF-8... done
  zh_CN.UTF-8 UTF-8... done
  zh_TW.UTF-8 UTF-8... done

配置默认语言:

[root@archiso /]# nano /etc/locale.conf
LANG=en_US.UTF-8

保存并退出

设置主机名

[root@archiso /]# nano /etc/hostname
spirit-arch

第一行输入自己想设定的主机名,保存并退出。然后编辑 /etc/hosts

[root@archiso /]# nano /etc/hosts
127.0.0.1    localhost.localdomain    localhost
::1        localhost.localdomain    localhost
127.0.1.1    spirit-arch.localdomain    spirit-arch

设置 root 密码

[root@archiso /]# passwd

安装一些必要组件

[root@archiso /]# pacman -S intel-ucode iw wpa_supplicant dialog sudo

安装引导

这里我使用的refind引导

[root@archiso /]# pacman -S refind-efi
[root@archiso /]# refind-install

tip:如果重启后失败,估计是引导错误,使用如下方法解决:

[root@archiso /]# cp /usr/share/refind/refind_linux.conf-sample /boot/refind_linux.conf
[root@archiso /]# nano /boot/refind_linux.conf
## This file should be present in the same directory as the EFISTUB kernel and initramfs files
## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html

"Boot using default options"     "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw add_efi_memmap"
"Boot using fallback initramfs"  "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw add_efi_memmap initrd=/boot/initramfs-linux-fallback.img"
"Boot to terminal"               "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw add_efi_memmap systemd.unit=multi-user.target"

修改为

[root@archiso /]# nano /boot/refind_linux.conf
## This file should be present in the same directory as the EFISTUB kernel and initramfs files
## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html

"Boot with staderd oponions"      "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rootfstype=ext4 rw add_efi_memmap systemd.unit=graphical.target initrd=initramfs-linux.img"

其中PARTUUID为你根目录的PARTUUID,可用mlkid查看,注意multi-user.target一定要改为graphical.target!!!(我当时就是没改出了问题,详情见Systemd

添加用户

[root@archiso /]# useradd -m -G wheel spirit
  • -m:在创建时同时在/home目录下创建一个与用户名同名的文件夹,具有以下优点:
    • 只要家目录不变,重装系统后只需要重新安装一下软件包(它们一般不存放在家目录),然后所有的配置都会从家目录中读取。
    • 可以在家目录不变的情况下更换发行版而不用重新配置环境。
    • 切换用户后所有的设置会从新的用户的家目录中读取,将不同用户的资料与软件设置等完全隔离。
    • 有些著名的配置文件比如vim的配置文件~/.vimrc,只要根据自己的使用习惯配置一次, 在另一个Linux系统下(例如你的服务器)把这个文件复制到家目录下,就可以完全恢复配置。
  • -G:把用户加入一个组
  • wheel:组名

设置密码

[root@archiso /]# passwd spirit

配置sudo,给予用户提权的操作

[root@archiso /]# visudo

专门用于编辑 sudo 的配置文件,能够帮助检查文件的格式,找到 # %wheel ALL=(ALL)ALL 去掉 # 注释,保存并退出。

这一步将 wheel 这个组的所有用户都分配了 sudo 权限

重启

至此,系统安装结束

[root@archiso /]# exit
[root@archiso /]# umount -R /mnt
[root@archiso /]# reboot

桌面安装

重启完毕以后,如果不需要图形化的,就可以到此为止了。

图形化的安装,下面我以KDE为例,说明一下过程。

安装显卡驱动

大多数电脑是 Intel 的集显(不是集显也推荐按照集显安装驱动),NVIDIA 的独显驱动并非必需品。如果集显驱动装不上可以试一试独显的

[root@spirit-arch spirit ]# sudo pacman -S xf86-video-intel

安装图形服务

桌面环境需要图形服务的支持,这里选择开源图形服务 xorg, 安装其所有组件即可

[root@spirit-arch spirit ]# sudo pacman -S xorg xorg-server

安装桌面环境

如果想自己选择,可以参考这里。本文仅对 KDE(Plasma) 进行介绍

[root@spirit-arch spirit ]# sudo pacman -S plasma kde-applications

安装桌面管理器

桌面安装完成后需要安装桌面管理器,这里采用 sddm ,它可以帮助我们登录以及选择桌面环境

[root@spirit-arch spirit ]# sudo pacman -S sddm
[root@spirit-arch spirit ]# sudo systemctl enable sddm

配置网络

在没有图形化界面时我们采用的网络配置服务是 netctl,有了桌面环境之后可以使用 NetworkManager

[root@spirit-arch spirit ]# sudo systemctl disable dhcpcd
[root@spirit-arch spirit ]# sudo systemctl enable NetworkManager
[root@spirit-arch spirit ]# sudo pacman -S network-manager-applet

后续优化

yaourt

[root@spirit-arch spirit ]# sudo nano /etc/pacman.conf
......
[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server   = http://repo.archlinuxcn.org/$arch

[root@spirit-arch spirit ]# sudo pacman -Syu yaourt

yaourt命令类似于pacman

Oh-My-ZSH!

[root@archiso /]# sudo pacman -S zsh
[root@spirit-arch spirit ]# sudo pacman -S wget
[root@spirit-arch spirit ]# sudo pacman -S git
[root@spirit-arch spirit ]# wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
[root@spirit-arch spirit ]# chmod +x install.sh
[root@spirit-arch spirit ]# ./install.sh
[root@spirit-arch spirit ]# sudo chsh -s /bin/zsh

Bumblebee

[root@spirit-arch spirit ]# sudo pacman -S bbswitch  bumblebee
[root@spirit-arch spirit ]# sudo systemctl enable bumblebeed.service

中文输入法

[root@spirit-arch spirit ]# pacman -S fcitx-im fcitx kcm-fcitx
[root@spirit-arch spirit ]# pacman -S fcitx-googlepinyin
[rroot@spirit-arch spirit ]# nano ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

文件系统支持

[root@spirit-arch spirit ]# sudo pacman -S ntfs-3g dosfstools

无线AP

[root@spirit-arch spirit ]# sudo pacman -S create_ap

pacman图形化前端

[root@spirit-arch spirit ]# sudo pacman -S apper

calligra

[root@spirit-arch spirit ]# sudo pacman -S calligra

下载工具

[root@spirit-arch spirit ]# sudo pacman -S transmission-qt    //KDE桌面环境安装qt版本
[root@spirit-arch spirit ]# sudo pacman -S aria2    //常用命令格式为aria2c [OPTIONS] [URL | MAGNET | TORRENT_FILE | METALINK_FILE]

···

还有很多,这里就不一一赘述了,最后,上图: