• 随谈
  • 安装

把电脑系统比作一间房子。windows给我的感觉像是自己在一所不错市区房子里可以很随意的生活,因此房子的经常打扫整理,否则很乱,时间久了,房子有些地方打扫不干净了会嫌弃房子。Linux的给我的感觉是在一所农村简陋的房子里必须按照非常合理的生活方式去,这个必须是你没有选择,因为只要你随意生活,房子当场塌给你看,因为这个房子有些儿偏远,所以没人能管得着,你对这所简陋房子有着绝对的话语权,真正的绝对。

我对Linux很感兴趣的出发点感觉有点奇葩————绝对的话语权。arch是Linux系统众多发行版之一,arch旨在把用户放在第一位,其他都是次要,是不是主次特别分明,比如用户想举起一块大石头,但是举起来100%会砸到用户的脚,arch可不会管会不会砸到脚,砸到多严重,arch只关心用户是否想把石头举起来,arch只选择站在用户一边。既然如此,用户必然对自己每个决定负责,重要决定前想好。有点扯远了,为了站在用户一边官方软件仓库只有开源软件,都是为了用户对系统上的每一行代码能有绝对的控制权,用户有这么大的权利,更多的是为了用户的安全着想,arch作为一个工具,为用户所有。垃圾和病毒都会被arch拒之门外。


1.这里是Arch官方下载地址,需要网页(推荐谷歌翻译)翻译,或者自带英语8级水平然后使用(推荐balenaEtcher)软件进行刻录到U盘
2.假设使用UEFI和网线链接。进入U盘中的系统——LiveCD。首先

检查网络是否正常:	ping www.archlinux.org

如果正常则直接按下 Ctrl+c停止ping服务。否则执行以下,自动配置ip和dns

dhcpcd 或者systemctl start dhcpcd

同步时间,第一阶段结束。

timedatectl set-ntp true

3.硬盘分区。首先查看各硬盘状况,执行lsblk
磁盘分区
使用分区工具cgdisk

cgdisk /dev/nvme0n1

解释:
dev指的是电脑设备
nvme0n1指的是需要分区的硬盘
cgdisk
当然也可以在这一切之前用其他的工具把分区分好,不是非要着这里分区

大小分区类型分区名字是否必须
300M随意EFI fat32boot或则efi必须
至少20G系统分区 ext4root必须
剩余全部系统分区 ext4homeNO

必须先挂载root分区,然后挂载其他分区

mount /dev/nvme0n1p2 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

解释:mnt为根目录

4.开始安装。当从一开始连接网络后,LiveCD就更新了软件源,如果不满意该源下载速度,手动编辑,nono有一点gui(图形化)相对好上手些。

nano /etc/pacman.d/mirrorlist

安装系统必要软件基础包

pacstrap /mnt base linux linux-firmware

解释:基础包为base linux linux-firmware建议增加2个网络管理和一个文本编辑dhcpcd networkmanager
5.配置系统

  1. 这一是配置盘的唯一标示符号叫UUID,使用-U命令。
genfstab -U /mnt >> /mnt/etc/fstab
  1. 从LiveCD进入到刚安装的arch中。
arch-chroot /mnt
  1. 第一步还是使用ping检查网络是否正常,假设不正常,则执行dhcpcd。上文有提示,如何执行。
  2. 设置时区,默认上海,
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 设置时间
hwclock --systohc

默认是设置硬件时间(bios显示的时间)为UTC(国际时间的一种标准)时间 注意windosws的系统时间默认的是本地时间非UTC,如果电脑上有两个系统,此时会造成时间错误,建议把windows系统时间改为UTC国际时间,并不会对windows时间造成不准。

  1. 本地化
    应为地区在中国,需要符合中国人的习惯,需要本地化,执行编辑
nano /etc/locale.gen

Ctrl+w执行搜索
en_US.UTF-8zh_CN.UTF-8把这两处前面的注释符取消,意味启用。
接下来设置系统默认语言为英语

nano /etc/locale.conf  
内容填上LANG=en_US.UTF-8

等进入桌面系统后,再安装中文字体,noto-fonts-emoji-blob,在设置默认语言为中文,如果不安装中文字体,直接设置中文会导致tty乱码.

  1. 网络配置
    创建 hostname 文件:
nano /etc/hostname
填入内容:myhostname(主机名,可自己随意)

添加host信息

nano /etc/hosts
内容为:127.0.0.1	localhost
::1			localhost
127.0.1.1		myhostname.localdomain	myhostname # 主机名.本地域名 主机名 (此处为上面自己所起的名字)
  1. 设置root密码
passwd

6.最后倒数第二部,配置引导

  1. 安装intel微码
pacman -S intel-ucode
(amd的类比)
  1. 安装和配置引导,第三处efi为boot分区的名字。
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux

7.重启
执行exit退出arch的chroot环境到LiveCD。执行

umount -a(意味卸载所有分区)
reboot (重启)

8.配置桌面环境

  1. 首先第一步还是确定网络是否正常,上面已经提到过。
    安装显示服务xorg,现在xorg已经包含了显卡驱动相关的东西,在xfce中额外安装集显驱动反而会导致无法进入桌面环境,万一你真的安装了且进不去,可以ctrl+F1或者F4或者F3等4s进入tty模式(命令行)先进桌面为先,独显可以再搞。如果是gnome,xorg安装后,显示就可以正常。
  2. 然后区安装账户管理程序,因为桌面环境并不包含用户管理。否则,你进入桌面后无法输入账户和密码登录。有sddm和gdm和lightdm可用。
    这里选择lightm。如果是gnome,则安装gdm等。
pacman -S lightdm lightdm-gtk-greeter

设置默认默认用户管理,编辑它,在找[Seat:*]下到有greeter-session的一行,把等号后面改成lightdm-gtk-greeter

  1. 添加新用户(即非root用户即管理员用户)
useradd -m -G wheel  "用户名(自己起个名)"(-m -G为必要)

安装管理员程序(除非你想一直用root用户,权限太高,你把握不住的。)So安装

pacman -S sudo 
  1. 赋予刚你创建的管理员用户的权力,否则他只标准用户。
nano /etc/sudoers
在打开的文件中找到root ALL=(ALL) ALL,在它下面一行添加
(你刚创建的用户) ALL=(ALL) ALL

至此reboot,重启吧,重启后第一步改源,第二步安装输入法,推荐四叶草输入法,搜索四叶草fkxxyz,就能搜出来。简单说下输入法的结构。最基础的是fcitx。然后是输入法引擎。最后是其他输入法方案。输入法引擎自带一些方案。然后是词库。在gnome上,因为默认了wayland而不是x11,所以输入法在部分非系统界面不能使用。需要强制兼容x11,网上的教程参差不齐,按照wiki上配置环境变量就行。关于arch上安装虚拟机。vmware的性能强于virlBox的10%。但是virlbox更为简单。

8.btrfs快照与备份

sudo mkfs.btrfs -f /dev/nvme1n1p3#格式化成btrfs格式
sudo btrfs subvolume snapshot -r / /.snapshot/mnt-$(date +%Y%m%d)#创建快照,这里的-r是只读,不可修改快照,这里必须加-r。
sudo btrfs send /.snapshot/mnt-20210913 |sudo btrfs receive /run/media/sky/913dac4e-b5ef-4f74-8ef0-66acd761e745/backup#备份。

关于国内软件源,暂时不要用清华源,可以用163的源。

Q.E.D.