ArchLinux重开备忘录
2023-02-05 21:39:03
技术
时常记得:sudo pacman -Syu
万一哪天挂了或用新电脑时,方便自己快速重开。
第二次安装成功,nice.
原来16G太小了,重新分配40G再装了一遍,第三次安装成功。
可能用到的链接
Arch wiki
https://wiki.archlinux.org/
vmware虚拟机安装archlinux
https://blog.csdn.net/takashi77/article/details/118927109
重启后网络ping不通
网络问题解决方案
https://blog.csdn.net/kaluosifa/article/details/105303484
安装plasma桌面环境 虚拟机安装不需要配置显卡驱动,其实这个应该是最全最好用的,不过我是装好了Arch后要装kde出错后才找到这个不错的完全体教程
https://arch.icekylin.online/rookie/desktop-env-and-app.html#_4-%E5%AE%89%E8%A3%85-kde-plasma-%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83
安装可能用到的命令
ping arch.icekylin.online
timedatectl set-ntp true
timedatectl status
vim /etc/pacman.d/mirrorlist
# 分区和挂载系列命令
pacstrap /mnt base base-devel linux linux-firmware
pacstrap /mnt dhcpcd iwd vim sudo bash-completion
genfstab -U /mnt > /mnt/etc/fstab
cat /mnt/etc/fstab
arch-chroot /mnt
vim /etc/hostname
vim /etc/hosts
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
passwd root
pacman -S intel-ucode
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ARCH
vim /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg
exit
umount -R /mnt
reboot
安装准备
下载软件
前往官网 https://archlinux.org/download/ 下载Arch镜像,往下划选择一个国内的镜像源,这里选用的是aliyun,选择iso映像文件下载
下载虚拟机 VMware 或visual box都可以,这里使用的是VMware
创建虚拟机
创建虚拟机:
- 典型配置
- 安装程序光盘映像文件-选择刚刚下载好的iso映像文件
- 操作系统选择Linux-版本选择其他Linux内核64位
- 设置虚拟机名称和位置
- 分配内存 我是16g硬盘 2g内存 后面装kde后感觉有点小了?
- 其他默认,之后可以在虚拟机-设置里更改
创建完成后请勿直接开启虚拟机,因为会默认使用bios方式启动,我们这里要改用efi方式启动
开始安装
开启虚拟机
更改为UEFI引导: 虚拟机-设置-选项-高级-固件类型,将BIOS选项改为UEFI,确定。因为我们之后的分区类型和引导程序都是用EFI的
开启虚拟机,第一个选项 enter
测试网络,开通则有数据显示,安装镜像时应该已经预配置了网络
ping www.bilibili.com
时间
# 通过 npt 校准时间
timedatectl set-ntp true
# 查看时间
timedatectl status
如果与实际时间相差 8 小时,那是因为我们用的东八区时间与UTC标准时间相差 8 小时: 设置时区为上海,我是安装完后才设置的
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
磁盘分区
lsblk查看磁盘分区情况,未分区时磁盘sda 16G
# 进入磁盘分区系统
cfdisk /dev/sda
然后选择 gpt 方式进入分区,上下键选择分区、左右键选择下方的操作命令,回车执行操作
- new 新建分区然后输入分区大小,即可将当前磁盘划分出一块分区
- type 分区类型
- write 写入磁盘,如果没有 write 直接 quit 则分区操作不会生效
- delete 删除分区
- quit 退出分区操作
分区sd1:new - 输入大小(参考:512M)- type - EFI System
分区sd2:new - 输入大小(参考:12G)- type - Linux root(x86-64)
分区sd3:输入大小(参考:剩下的3.5G)- type - Linux swap
确定完成分区后 write - 最后 quit
使用lsblk查看分区后的磁盘
初始化分区
格式化分区
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3 -L Swap
swapon /dev/sda3
挂载分区
mount /dev/sda2 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/sda1 /mnt/boot/EFI
使用vim打开下载镜像列表
vim /etc/pacman.d/mirrorlist
在里面列表第一行添加中国境内的源,这里使用aliyun
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
假如你不会vim,你只需要了解在本文中你会用到的 vim 操作:
- 按
i
进入插入模式,在插入模式下才可以对文件进行修改 - 按
esc
进入命令模式,可以多按几次esc
以确保你处于命令模式,在命令模式下不能对文件进行修改 - 在命令模式下,可以输入一些命令,在本文中你会用到的命令如下
:/
为查找命令,后面家上你要查找的文本,vim 会跳转到匹配的那一行,按N
查找下一个:w
保存修改:wq
保存修改并退出 vim:q!
强制退出
系统安装
# 这是为/mnt下安装一些环境用于待会创建用户所使用的,包括一些基本环境以及网络相关的dhcpcd和net-tools
pacstrap -i /mnt base base-devel linux vim dhcpcd net-tools
# 生成 fstab 文件 (用 -U 或 -L 选项设置UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstab
# 查看是否生成了磁盘分区
cat /mnt/etc/fstab
# 切换用户,原来 root是红色,切换成功后变为灰色
arch-chroot /mnt
# 创建初始的ramdisk环境
mkinitcpio -p linux
locale地区和语言配置
# 用 vim 打开locale配置文件
vim /etc/locale.gen
查找以下3项,去掉前面的 # 号
vim命令模式输入 :/en_US.UTF-8 UTF-8
查找
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
# 生成Locale信息
locale-gen
# 列出所有启用的Locale
locale -a
# 创建locale.conf文件,并提交所要使用的本地化选项
# 不推荐此时设置任何中文locale,这样做可能会导致tty显示乱码
echo LANG=en_US.UTF-8 > /etc/locale.conf
# 显示当前正在使用的Locale和相关的环境变量
locale
设置主机名
# 创建 /etc/hostname 文件并将主机名写入文件,比如主机名为 arch
echo arch > /etc/hostname
# 然后用 vim打开 /etc/hosts 配置
vim /etc/hosts
写入以下内容,保存并退出
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 arch.localdomain arch
网络配置
pacman -S dhcpcd
systemctl enable dhcpcd.service
使用无线网络的话,则需安装以下几个软件包(未验证)
pacman -S iw wpa_supplicant dialog (有线网络忽略这行)
iwctl # 进入交互式命令行
device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有 wifi 网络
station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可
exit # 连接成功后退出
root用户密码及创建新用户
设置 root 密码
# 输入时密码会隐藏,你不会看到你输入的任何东西,这是正常的。确定密码输入完后回车
passwd
# 二次确认密码,密码同样会隐藏
root用户拥有系统的所有操作权限,这样对系统的操作非常不安全,所以需要新建一个普通用户,让其对系统的操作受到一定限制,后面要用的 kde 也只能由非 root 用户使用
# 创建新用户,比如用户名为free
useradd -m -G wheel -s /bin/bash free
# 设置用户密码
passwd free
-m:创建用户主目录(/home/用户名) -G:用户要加入的附加组列表;此处将用户加到wheel组中,之后可以给这个组执行sudo命令的权限 -s:指定了用户默认登录shell的路径,此处设置为bash的路径
给予普通用户使用 root 的权限
# 打开sudoers文件后
visudo
删除wheel组前面的注释符号即可,之后普通用户在命令之前加上 sudo 就能以 root 权限执行命令
安装引导程序 grub
# arch下载软件命令:pacman -S <软件名>
# 因为我们使用的是虚拟机和UEFI引导方式,因此只需要安装grub和efibootmgr:
pacman -S grub efibootmgr
# 将其安装到EFI分区当中
grub-install --recheck /dev/sda
# 生成 grub 的配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
安装完毕
退出重启,安装完成
# 退回安装环境
exit
# 卸载新分区
umount -R /mnt
# 重启
reboot
开启网络
重启后使用登录,若使用普通用户登录则有些命令之前需要加 sudo 以获得 root权限
# 设置开机自启并立即启动 dhcp 服务
systemctl enable --now dhcpcd
# 测试网络连接
ping www.bilibili.com
若为无线连接,还需要
systemctl start iwd # 立即启动 iwd
iwctl # 和之前的方式一样,连接无线网络
而本人之前遇到网络问题的解决方式,亲测可用
# 检查网络接口
ip link
# 开启第二个接口
ip link set dev ens33 up
# 使用 dhcpcd 分配网络地址
dhcpcd
# 将 dhcpcd 设置为自启
systemctl enable dhcpcd
systemctl disable dhcpcd // 取消自启
到此 ArchLinux 已经安装完成啦,撒花❀,但是此时只有命令行的界面,稍后我们将安装图形化界面
图形化桌面-KDE(plasma)
Linux 的图形化桌面有 KDE、GONE、xfce等等,这里使用 KDE
安装 KDE plasma桌面环境
安装最小相关软件包
# plasma-meta 元软件包、konsole 终端模拟器和 dolphin 文件管理器
sudo pacman -S plasma-meta konsole dolphin
kde-applications则是 kde 全家桶
sudo pacman -S plasma kde-applications
其中很多都没必要,而且我第一次装完后登录只显示黑屏与鼠标,不知道是部件有问题还是磁盘空间太小(应该是后者?使用最小包安装成功后我sda2 12g的存储空间只剩5g了)
假如你不慎安装了 kde 全家桶,想要卸载,可以使用以下命令卸载
sudo pacman -Rsc plasma
sudo pacman -Rsc kde-applications
kde 默认安装的是 xorg,如果想使用wayland的话安装以下包:
pacman -S plasma-wayland-session xdg-desktop-portal
# N卡用户需要额外安装egl-wayland,xdg-desktop-portal包是为了如obs此类工具录制屏幕使用
安装完成后,可以在登录时选择使用 xorg 还是 wayland 另外,虚拟机环境下不需要显卡驱动
配置 sddm
systemctl enable sddm
systemctl start sddm # 直接启动显示管理器,与以下reboot命令二选一即可
reboot
基本的 kde 就安装完成了,之后更改需要的配置,挑选喜欢的主题,查找美化的教程,安装需要的软件,时常记得 sudo pacman -Syu
滚动更新防止滚挂
完结撒花,可以愉快地玩耍啦 ❀
软件源配置
执行安装 archlinuxcn 源所需的相关步骤:
sudo pacman -S archlinuxcn-keyring # cn 源中的签名(archlinuxcn-keyring 在 archlinuxcn)
sudo pacman -S yay # yay 命令可以让用户安装 AUR 中的软件(yay 在 archlinuxcn)
若安装 archlinuxcn-keyring 时报错,是由于密钥环的问题。 以root 权限运行
pacman -Syu haveged
systemctl start haveged
systemctl enable haveged
rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn
出现这个问题
错误:密钥环文件 `/usr/share/pacman/keyrings/archlinuxcn.gpg` 不存在。
解决方法是通过git方式安装yay,再通过yay安装archlinuxcn
git 安装yay
# 安装 git
sudo pacman -S base-devel
sudo pacman -S git
# 进入 /opt 目录并克隆 yay 稳定版的 git 仓库。
cd /opt
sudo git clone https://aur.archlinux.org/yay.git
# 更改源目录的所有者。将 debugpoint 替换为你的用户名。
sudo chown -R free:users ./yay
# 进入目录进行编译
cd yay
makepkg -si
# 安装中出现 build 错误,卡在下载一个 go 的依赖包
在 makepkg 过程中会因为go依赖的问题卡住,换源后再makepkg
不过go的代理推荐改用https://proxy.golang.com.cn, 感觉其他代理有时不太行,因为在安装vscode的go工具时下载有时会失败
https://zhuanlan.zhihu.com/p/439805266
cd /opt
cd yay
makepkg -si
# yay 安装 archlinuxcn-keyring
yay -S archlinuxcn-keyring
问题已解决,推荐用上面的方法,下面安装keyring后,安装一些软件如v2ray时还是有密钥问题,上面的方法已经完全解决问题了,不过换源还是可以换一下的
使用中科大镜像源,用清华源失败了,还是中科大的靠谱
sudo vim /etc/pacman.conf
在末尾添加
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
安装 archlinuxcn-keyring
sudo pacman -S archlinuxcn-keyring
# 如出现错误让你使用 -Sy 安装
sudo pacman -Sy archlinuxcn-keyring
软件安装
sudo pacman -S firefox chromium # 安装常用的火狐、chromium 浏览器
sudo pacman -S ark # 压缩软件。在 dolphin 中可用右键解压压缩包
sudo pacman -S gwenview # 图片查看器
sudo pacman -S code # all in vscode,yyds
sudo pacman -S go # golang
sudo pacman -S java # java 其他编程语言应该都类似安装
进一步美化桌面
https://zhuanlan.zhihu.com/p/558354279
透明代理
sudo pacman -S v2ray v2raya