学习安装并配置一台Arch物理机并学习shell基本命令

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2022OOP
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2022OOP/homework/12432
这个作业的目标 学习安装并配置一台Ubuntu虚拟机Manjaro及Arch物理机并学习shell基本命令
作业正文 在万能好基友的指引下先从Manjaro入手,考虑到图形化安装界面相对友好,以及Arch系有aur包的方便。难点在于网卡驱动。网卡是瑞昱的RTL8852AE,刷机时并不在官方包内,似乎现在有了。由于已经过去了一段时间,导致也不太记得当时安装的的细节,故以下细说Arch安装。

Arch安装的难度在于完全没有图形化界面,而且包括Linux内核这种底层软件都需要手动安装,但是谢天谢地我有万能的好基友。

特殊情况:由于此次尝试安装Arch的电脑太旧,仅有DDR3L 1GB内存,所以分了4G swap分区作虚拟内存

正片开始:
cfdisk /dev/sda 进入磁盘分区。此处DELETE了全盘,分4G为sda2分区,TYPE改为swap。sda1分区开BOOTABLE
选中WRITE,输入yes
mkfs.ext4 /dev/sda1 将sda1分区格式化为ext4
mkswap /dev/sda2 将sda2分区格式化为swap
mount /dev/sda1 /mnt 把sda1挂载到/mnt下
swapon /dev/sda2 开启sda2的swap
nano /etc/pacman.d/mirrorlist 打开镜像源列表并在最上方插入Server = https://opentuna.cn/archlinux/$repo/os/$arch,ctrl+o ctrl+x保存退出

以下为装系统环节,因使用Manjaro时用的kde桌面,故此处仍安装kde:
pacstrap -i /mnt linux base base-devel xf86-video-intel grub plasma kde-system kde-utilities noto-fonts noto-fonts-cjk noto-fonts-extra noto-fonts-emoji nano git linux-firmware (是的,这是一整行命令)安装linux内核、基本程序、驱动、字体、引导、kde
genfstab /mnt >> /mnt/etc/fstab 把当前分区信息写到新系统
arch-chroot /mnt 切换到新系统
nano /etc/locale.gen
找到zh_CN.UTF-8和en_US.UTF-8删去“#”保存退出
locale-gen
nano /etc/locale.conf
输入LANG=zh_CN.UTF-8保存退出
以上5行配置语言
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 配置地区
nano /etc/hostname 输入主机名(即希望这台电脑叫什么)后保存退出,不输入则主机名为archlinux
useradd -m -g wheel 用户名 -c "注释" 创建新用户
nano /etc/sudoers
找到%wheel ALL=(ALL) ALL 把#删掉 保存退出 把处于wheel用户组的所有用户授予sudo权限
passwd 设置root密码
passwd 用户名 设置新用户密码
grub-install /dev/sda 装引导
grub-mkconfig -o /boot/grub/grub.cfg 生成引导目录
systemctl enable sddm NetworkManager 启用登录窗口和网络服务
exit 退出chroot环境
umount /dev/sda1 取消挂载sda1
reboot 重启(记得拔U盘,除非你不是靠更改启动顺序启动的U盘)

装系统环节到此告一段落,已经可以进入桌面环境了,但因网卡相对特殊,以下为装网卡驱动环节:
git clone https://aur.archlinux.org/yay-bin
cd yay-bin
makepkg -si
yay -S b43-firmware
n
之后一路回车,reboot重启,网卡驱动安装完毕。

至此,一台算是功能完备的Arch电脑安装完成(大概),可以通过强大的aur包安装fcitx输入法、firefox浏览器等
其他参考文献 https://archlinux.org/
万能基友的强大大脑
上一篇:linux下doc转docx


下一篇:git出现OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054错误