archlinux安装回顾

现在感觉,以前使用的 ubuntu 就是个渣渣,用了几年,对与软件本身的了解很差,而且这里的 yay 或者 pura 包含的软件实在是太丰富了!而且这种自动的源码编译得到的软件,使用效果要比打包的好很多,为了增加你的决心,先看成品,这个是 kde plasma 桌面,但是最近我又回到了 gnome 桌面(2023.5)

今天,我已经把两个桌面安装了无数遍……

archlinux-kde

archlinux 从零开始

我觉得吧,新手不要用,因为大概率搞不定,最后还怼 arch,需要什么基础呢?

  1. 大概知道分区挂载,以及多系统引导模式
  2. 知道 linux 以及 kde 常用的软件,因为软件基本上都需要自己安装,用 arch 就是为了简洁,不要直接安装 kde 完全版
  3. 大概知道 systemd 的使用方法
  4. 足够的时间去折腾,这个很重要

准备

假定电脑上有windows11系统,现在装双系统

关闭windows加密

如果资源管理器的 C盘 图表上有个锁,需要去设置搜索 加密 ,然后关闭 BitLocker 加密,如果不是 windows11 关闭方法不一样,具体百度

刻录u盘

u盘数据先备份,u盘所有数据会被删除

在这里下载 archlinux-x86_64.iso。然后用 rufus 选择下载的 iso文件 刻录到u盘

分区

我的硬盘1T,以 linux 为主要使用系统,所以 /home 分区最大

linux只划分两个分区

  • \:系统所在,80G
  • \home:日常使用 640G

windows分区只要一个 c盘

  • c盘: 150G

注意启动分区 EFI,一般在第一个,如果小于 500M,需要扩大

在windows上使用 diskgenius 划分出linux的分区 80G\) 和 640G\home),分区类型 ext4

保存以后,在 diskgenius 里 通过调整分区大小,把\目录的分区放在最后,把 homec盘 挨着,中间放一部分 剩余空间,方便 windows 或者 linux 不够用时,随时增加,如图

bios设置

一般在开机时 不断点击 f2 或者 delte 进入 bios

  • 关闭安全启动 secure boot
  • 调整启动顺序 usb 放在最前面

然后 保存并退出,将会重启到 u盘系统

联网

u盘系统 无法认证,如果是需要认证的wifi不要用,最方便的方案是

  • 手机usb数据线连接电脑
  • 手机设置搜索 usb,选择 usb网络共享

现在电脑使用手机的网络

安装系统

确认硬盘分区

1
fdisk -l

一般看到

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Disk /dev/nvme0n1:953.87 GiB,1024209543168 字节,2000409264 个扇区
磁盘型号:ZETTASTONE CP300Y 1024GB
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:DB98D2EC-6E2F-4033-9E69-6B022FA1AAC7

设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI 系统
/dev/nvme0n1p2 1050624 1083391 32768 16M Microsoft 保留
/dev/nvme0n1p3 1083392 315656191 314572800 150G Microsoft 基本数据
/dev/nvme0n1p4 1998311424 2000408575 2097152 1G Windows 恢复环境
/dev/nvme0n1p5 488359936 1830539263 1342179328 640G Linux 文件系统
/dev/nvme0n1p6 1830539264 1998311423 167772160 80G Microsoft 基本数据

需要注意的是,根据windows里划分区分大小可以知道其中

  • 640G/dev/nvme0n1p5/home 分区
  • 80G/dev/nvme0n1p6/ 分区

另外一个需要注意的是,

  • EFI 类型 的 /dev/nvme0n1p1/boot 分区,与 启动相关

分区挂载

根分区 / 挂载到 /mnt

1
mount /dev/nvme0n1p6

启动分区 efi 挂载到 /mnt/boot

1
mkdir /mnt/boot
1
mount /dev/nvme0n1p1 /mnt/boot

home分区 /home 挂载到 /mnt/home

1
mkdir /mnt/home
1
mount /dev/nvme0n1p5 /mnt/home

初步安装

1
pacstrap /mnt base linux linux-firmware

分区敲定

1
genfstab -U /mnt >> /mnt/etc/fstab

切换到新系统

1
arch-chroot /mnt

进入新系统

初步安装

前面那一步,不要按照有些地方说的,把 windows安装时自动创建的efi启动分区 挂在 /boot,因为,grub 以及 linux 等img 文件都会安装在 /boot 里,但是 windows 的这个分区一般只有 100M,而且还有个问题,多个arch系统,会导致这里被重复覆盖,出现一些问题

1
pacstrap /mnt base base-devel linux linux-firmware

如果是 intel 芯片,不需要全部安装 linux-firmware,只需要,

1
linux-firmware-intel linux-firmware-realtek

如果你是 intel 芯片

1
pacstrap /mnt intel-ucode

分区敲定

这个可以最后,全部结束以后,再进行

1
genfstab -U /mnt >> /mnt/etc/fstab

切换新系统

1
arch-chroot /mnt

设置用户密码

设置root密码,方便以后切换到root

1
2
3
4
5
6
7
8
9
10
11
12
passwd
``

> 我的用户名是 `yuh`,如果下面所有 `yuh` 相关的都修改为你的用户名,注意为英文,不要有空格

```bash
useradd -m yuh
``


```bash
passwd yuh

安装基础软件

1
sudo pacman -S vim git NetworkManager fcitx5-chinese-addons fcitx5-gtk adobe-source-han-sans-cn-fonts
1
sudo systemctl enable NetworkManager.service

基础配置

设置语言

1
vim /etc/locale.gen
  • 输入 /#en_US回车 输入 n 找到 UTF-8 那一行 输入:i回车 删掉前面的#(取消注释)
  • esc 按键退出
  • 输入 /#zh_CN回车 输入 n 找到 UTF-8 那一行 输入:i回车 删掉前面的#(取消注释)
  • esc 按键退出、输入:wq 保存并退出
1
locale-gen
1
vim /etc/locale.conf

添加 LANG=en_US.UTF-8

hostname,我的是 ldr,你可以改成其他的

1
echo "ldr" > /etc/hostname
1
vim /etc/hosts

添加,必须和上面的 /etc/hostname 里面的 ldr 对应

1
2
3
127.0.0.1 localhost
::1 localhost
127.0.0.1 ldr.localdomain ldr

安装gnome

我使用 gnome 桌面,我只安装了基础的

1
sudo pacman -S gdm gnome-control-center nautilus gnome-console gnome-text-editor 
1
sudo systemctl enable gdm

这些推荐安装

1
sudo pacman -S file-roller adw-gtk-theme papers loupe gvfs-mtp gnome-tweaks gnome-weather firefox fish fisher atuin starship extension-manager gnome-shell-extension-appindicator gnome-shell-extension-gsconnect gnome-shell-extension-vitals

bootctl配置

确认 根目录/UUID

1
sudo blkid /dev/nvme0n1p6

看到类似

1
/dev/nvme0n1p6: UUID="c7f6fa00-efab-714f-a0cc-bf2b941b819a" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="cf0725eb-d36d-4c37-8549-80b0876280af"

拍照记住 UUIDc7f6fa00-efab-714f-a0cc-bf2b941b819a

复制 bootctl 模板

1
cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/

最后一行修改为,这里的 c7f6fa00-efab-714f-a0cc-bf2b941b819a 是 刚才记住的 UUID

1
options root=UUID=c7f6fa00-efab-714f-a0cc-bf2b941b819a

如果是 intel 芯片,文件最后还需要加上之前安装的 intel-ucode

1
initrd intel-ucode.img

/boot/loader/entries/arch.conf 完整内容参考

1
2
3
4
5
6
# /boot/loader/entries/arch.conf
title arch
linux vmlinuz-linux
initrd initramfs-linux.img
initrd intel-ucode.img
options root=UUID=c7f6fa00-efab-714f-a0cc-bf2b941b819a

写入系统启动

1
bootctl install

如果提示没有写入成功

ctrl D 退出启动安装的系统,进入u盘系统,然后再次写入系统启动

1
bootctl --esp-path=/mnt/boot install

重启

取消挂载,可能会有报错,不用管,事不大

1
umount -a

重启

1
reboot

如果没有进入新系统,继续进入bios调整启动顺序 Linux 相关条目到最前面,保存退出

其他软件源

配置其他源 vim /etc/pacman.conf

1
2
3
4
5
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

[arch4edu]
Server = https://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch
1
sudo pacman-key --lsign-key "farseerfc@archlinux.org"; sudo pacman -Syyu; sudo pacman -Sy archlinuxcn-keyring; sudo pacman-key --recv-keys 7931B6D628C8D3BA; sudo pacman-key --finger 7931B6D628C8D3BA; sudo pacman-key --lsign-key 7931B6D628C8D3BA;

kde最小软件参考

kde 常用

1
pacman -S plasma spectacle ark gwenview yakuake python-pyqt6 kdegraphics-thumbnailers ffmpegthumbs kdeconnect konsole dolphin okular kate
1
sudo systemctl enable sddm

gnome最小软件参考:

1
sudo pacman -S gdm gnome-control-center nautilus gnome-console gnome-text-editor file-roller adw-gtk-theme papers loupe gvfs-mtp gnome-tweaks gnome-weather extension-manager gnome-shell-extension-appindicator gnome-shell-extension-gsconnect gnome-shell-extension-vitals
1
sudo systemctl enable gdm

其他代码参考

1
2
3
4
5
6
7
8
# 分区删除等
cfdisk /dev/sd你的磁盘名字

# 分区格式化为 ext4
mkfs.ext4 /dev/sd你要格式化的分区名字

# btrfs 挂载
mount /dev/nvme0n1p4 -o subvol=@gnome /mnt

mysql

密码设置了 12345678

1
2
3
4
5
6
sudo pacman -S mariadb
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl enable --now mysqld
sudo systemctl status mysqld
sudo mysqladmin -u root password "12345678"
echo "mysql -uroot -p12345678"

比如我要设置 slurm 相关的数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建slurm单独的mysql用户,只本地访问即可,所以密码12345678就可以
create user 'slurm'@'localhost' identified by '12345678';

# 创建基础数据库
create database slurm_acct_db;

# 允许slurm用户访问
grant all on slurm_acct_db.* TO 'slurm'@'localhost';

# 创建另一个,这个不强制,但是建议,如果不创建,后面slurm配置需要改,所以还是创建吧
create database slurm_job_db;

grant all on slurm_job_db.* TO 'slurm'@'localhost';

配置文件在

1
/etc/my.cnf

pandoc

如果 pandoc 更新太频繁,不想(或者直接安装 pandoc-bin

1
sudo vim /etc/pacman.conf

修改这一行,如果没有特殊需要,pandoc 其实安装 yay pandoc-bin 更好一些

1
IgnorePkg  = pandoc

本文作者:yuhldr
本文地址: [https://yuhldr.github.io/posts/3513d90f.html](https://yuhldr.github.io/posts/3513d90f.html)
版权声明:转载请注明出处!