专栏/可能是全B站最全的ArchLinux安装教程

可能是全B站最全的ArchLinux安装教程

2020年08月23日 14:06--浏览 · --点赞 · --评论
粉丝:258文章:19

(前面的是以前的屁话)

这个寒假测试Arch,发现此物甚难调教,与UbuntuMATE相差甚远(不要问我为啥把xubuntu重装成MATE桌面,现在又是KDE),但是毕竟是一个保持KISS准则的系统,简单而不失完整。

咳咳,屁话说完了,这个教程是以前我就想写,可是被搁置了半年 现在趁我开始在实体机上安装了一遍ArchLinux之后我才知道Arch是有多么难调教。由于没有电脑能用(说白了懒得开虚拟机,现在硬盘开销大),这个教程可能是纯理论的,敬请谅解。

先去官网或镜像站上搜刮一波镜像。没错,可以去镜像站上搜刮(比如https://mirrors.bfsu.edu.cn/,但是镜像站上的镜像可能会旧一点。然后刻录到U盘上(Linux上可以直接用dd命令,Windows上可能要用ultraISO了)。

从U盘上启动的Arch只有命令行界面,如果你见到这种界面之后怂了的话出门右转manjaro不送。

首先你得分区是吧,推荐先在Windows的磁盘管理上自己压缩分区,否则在命令行下调整分区大小可能把你搞疯掉,用cfdisk分区,如果你是用UEFI启动的话必须分一个256M的UEFI分区(如果你装Windows时就是用UEFI安装的当我这句话没说就行,接下来grub安装时注意一下),如果是用BIOS启动的可以放心地只分一个区(但是如果你装的时候跟Windows同硬盘,就要注意一下grub的安装)

ps:如果不知道是用什么固件启动的可以执行一下ls /sys/firmware/efi/efivars,没报错就是EFI启动,为什么我不分swap?后期会跟你们说怎么搞swap文件的

接下来是制作文件系统,在Linux下可以用ext4,xfs,btrfs(如果有技术可以用ZFS,这里不讲LVM和ZFS,不然你们会被搞晕),接下来执行(接下来都假设我的EFI分区在/dev/sda1,根分区在/dev/sda2)

mkfs.ext4 /dev/sda2 #用作根分区

mkfs.fat -F32 /dev/sda1 #用作EFI分区

#如果安装Windows时已经有个EFI分区,就把上面的/dev/sda1换成已有的EFI分区

制作完文件系统就可以挂载了

mount /dev/sda2 /mnt #挂载根目录

mkdir -p /mnt/boot/EFI #EFI分区的挂载点

mount /dev/sda1 #挂载EFI分区

网络连接,如果是用有线的不用担心,开机时systemd会自动配置,如果说是无线的(比如我的笔记本),就按照以下方式配置(不要用wifi-menu,现在的WLAN用的都是WPA,这个仅支持WEP)

ip link #找到自己家的网卡,假设是wlan0

wpa_passphrase <你家WiFi的SSID> <你家WiFi的密码> > /etc/wpa_supplicant.conf

wpa_supplicant -i wlan0 -B -c /etc/wpa_supplicant.conf

这样网就能连上去了。

修改/etc/pacman.d/mirrorlist(网速慢的必须修改,否则会卡死),在上面加一行(或者删掉重新创建一个)

Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch

好了,开始正式安装了,为了减少接下来安装的步骤,此处的命令会把接下来用到的软件包一口气安装掉

pacstrap /mnt base base-devel tzdata grub os-prober efibootmgr dosfstools networkmanager vim #用MBR启动的不需要efibootmgr

安装所需要的时间主要看你网速了,解压这一块耗时不多,自从压缩算法换成zstd后速度杠杠滴。

接下来这一步非常重要!这一步经常会被各类Arch玩家忽略:

genfstab /mnt >>/mnt/etc/fstab

若不生成fstab会导致开机找不到根目录或者根目录变为只读的,推荐生成完之后用cat命令检查一下

接下来切换根目录

arch-chroot /mnt /bin/bash

之后设置时区(如果是Windows和Linux双系统的推荐在Windows里改注册表,把硬件时钟锁为UTC)

hwclock --systohc #锁硬件时钟为UTC

tzselect #接下来的内容都是你能看得懂的英文吧,看不懂去重新读九年义务教育后在安装吧(滑稽)

#手动链接软链接也可以

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

调整locale,如果你要中文环境的话推荐现在/etc/locale.gen上先去除以下的注释,然后改/etc/locale.conf(推荐使用Vim效果更佳)

#在locale.gen去除下面两个的注释

zh_CN.UTF-8

en_US.UTF-8

#将locale.conf改为

LANG=en_US.UTF-8 #不要改中文,除非你读得懂满屏的乱码

安装内核(为什么单独分一块?ArchLinux内核比较多,单独讲解一下)

pacman -S linux (最新稳定版内核)

pacman -S linux-lts(lts内核,比较稳定)

pacman -S linux-firmware(Linux的硬件驱动,不装很多设备都用不了)

#推荐加上headers,有必要的话可以安装文件系统的支持(如果你像我用了像xfs的话)

安装grub和生成initramfs

grub-install #如果是EFI启动的同时挂载了EFI分区的话应该会自动安装,如果是MBR就辛苦一下大家,把设备名打上去

#如果和Windows同盘推荐把grub安装在另一个盘上,不要问我为什么,血一样的教训

mkinitcpio -P #选择性执行,如果你用了LVM和RAID就必须执行

这时候还需要最后的配置

echo <主机名> >> /etc/hostname #设置主机名

passwd #设置密码,不然登录不进去

systemctl enable NetworkManager #这个不执行开机没网络

exit

sync #不要问我为什么执行这个命令,反正不执行你一断电就不要找我了

reboot #重启啦

重启后,我觉得你们不会喜欢Linux的文本界面,送一个图形界面的安装指南吧

总有一群群友喷我干嘛用GNOME3......

pacman -S xorg gnome #万年不变GNOME3

#一路回车

useradd -m -g wheel -G wheel <你的用户名> -s /bin/bash

passwd <你的用户名>

visudo #加一句 '<你的用户名> ALL=(ALL) ALL'(引号别加)如果你属于懒人可以把中间的ALL改为NOPASSWD: ALL,这样就不会要求你输密码了

systemctl enable gdm

reboot #又是重启

进入终端,登录你的用户后继续

sudo vim /etc/passwd #把root的一行里面/bin/bash改成/usr/bin/nologin,这样可以禁止root用户直接登录一定程度上改善你的系统安全性

接下来大家可以看看ArchWiki自己做一些设置,这里我再说一句archlinuxcn源的添加

在/etc/pacman.conf附加一句

[archlinuxcn]

Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch

这样你就有archlinuxcn的源了

开学不打算更了,高一没多少时间搞这些,你们可以三连一波,看我心情更新,如果有失误或者要补充可以在评论区里发一波

送上我的桌面

桌面


投诉或建议