Archlinux从安装到使用(持续更新中)

本文最后更新于:2022年8月4日 晚上

Archlinux 从安装到使用(持续更新中)

关于

关于Archlinux的介绍,自行查看主页

安装

本文尝试过手动输入命令安装和archinstall 安装两种形式,手动命令安装参考 吴迪大佬的三部曲 安装 配置 常用软件

经实验,可完美安装在redmibook pro15s 上,但由于一些软件体验不友好(此处点名腾讯类),所以切换为 Windows10 + Vmware ,在Vmware中安装archlinux。以下为在虚拟机中安装

虚拟机软件配置向导

首先打开Vmware Workstation,点击文件 - 新建虚拟机,选择自定义(高级),

点击下一步,在安装来源中选择 安装程序光盘映像文件,点击右边的浏览找到你下载的archlinux-2022.03.01-x86_64.iso ,

点击下一步,选择操作系统为Linux,版本为 其他Linux5.x内核64位,

点击下一步,填写虚拟机的名称和要放置的位置,

点击下一步,选择处理器数量(本文1),每个处理器的内核数量(我的系统有12个,所填12),

下一步,选择虚拟机的内存(我分配的8G,因为后续要安装GNOME桌面,可能会比较占用内存),

下一步,网络连接选择 NAT模式,剩下的默认就可以了(硬盘大小按照自己需求分配),

一直点下一步,然后点击完成。

进入到iso中开始安装系统

打开虚拟机,进入到iso安装模式下,选择第一个,等出现 root@archiso ~#就可以继续了。

首先更改本机默认密码,输入命令 passwd,连续敲击两次 0(默认密码改成0)

通过ip addr 命令确认本机 ip,图中 ip 为192.168.33.129

使用命令ssh root@192.168.33.129 连接(可以使用 ssh 工具或者直接在 windows 下通过 ssh 命令等)

Archinstall方式安装

然后输入 archinstall 开始安装,开始进入到archinstall 脚本中(**此过程不可输入 <CTRL + c>**,否则需要从头开始配置)

然后输入 键盘语言编号:26,然后回车

选择地区:11 ,中国 然后回车

选择要安装的位置的磁盘:1(我要安装到100G空间大小的磁盘中),然后回车。注意此时选中的块设备会多一个 >> 箭头,接着回车。

注意此处是要擦除分区,由于我装在虚拟机中,所以擦盘中没有任何东西,直接擦除:0,然后回车

接着 让你选择磁盘类型,我选的是 ext4,所以输入:1,然后回车

接着 让你选择磁盘是否加密(此处若加密,开机时需先输入磁盘密码,在输入账户密码),为了简单起见,不加密。此处保持空白 直接回车。

是否开启zram,我选的否,n,回车。

然后让你配置主机名:

接着输入密码,空白时没有密码。

然后配置用户(我第一次没有配置成功,好像是首字母要小写),配置用户密码。

然后是否为当前用户配置 sudo权限,是,配置sudo权限。

然后会让你再次添加用户,没有用户可添加了,直接回车。

image-20220323182921830

接着让你添加配置文件,我们选择3-xorg

由于我们是在虚拟机中安装的,所以此处选择5:VMware /等等

选择音频服务器,1

选择0,linux内核(关于几个内核的区别,请自行百度)

下一步选择要安装的软件,默认回车

选择网络接口,1

选择时区,默认回车

image-20220323184131200

然后配置结束后,让你确认,直接回车。

然后就会在下载,安装中。

安装结束后,poweroff 关机。

image-20220323185646499

接着移除CD/DVD的文件,点击确认,开机。

系统配置及软件安装

安装openssh

通过 ip addr命令查看,发现ip已变,重新连接,发现还是连不上。

注意,不要使用root账户,默认root账户是被禁止ssh连接的。

然后普通用户还是登不上,显示22端口拒绝,此时需要安装openssh

1
2
sudo pacman -Syyuu
sudo pacman -S openssh

此时,sshd服务并没有启动,不信你通过 sudo systemctl status sshd 查看是否为dead

1
2
3
4
# 启动sshd
sudo systemctl start sshd
# 开机自启
sudo systemctl enable sshd

启动应用并打开开机自启,此时在查看应该已经改为 running 状态了。

这个时候就可以通过xshell工具进行ssh连接了。(至于为什么要使用xshell,方便复制)

安装xorg服务器

1
sudo pacman -S --needed xorg 

安装gnome桌面环境

1
2
3
4
5
6
7
8
9
10
11
sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool adwaita-icon-theme  xdg-user-dirs-gtk fwupd arc-gtk-theme  gdm

# 配置gnome管理器开机自启
systemctl enable gdm
# 配置右上角 网络管理器开机自启
systemctl enable NetworkManager
#然后reboot
reboot

# 删除自带浏览器
sudo pacman -Rscn epiphany

桌面切换到xfce4

由于gnome各种bug(安装open-vm-tools后不能复制东西,复制文件管理器就闪退;打开clion会卡屏;gnome-shell cpu占用高等),所以切换到xfce4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 安装xorg服务器相关
sudo pacman -S xorg-server xorg-xinit

# 安装xfce4
sudo pacman -S xfce4 xfce4-goodies networkmanager network-manager-applet

# 网络自启
sudo systemctl enable NetworkManager

# 安装
sudo pacman -S lightdm lightdm-gtk-greeter
## 开机自启
sudo systemct enable lightdm

# 卸载
sudo pacman -Rscn gnome gnome-extra
sudo pacman -Rstn gdm

# 输入法
# 安装中文输入法,基础包组
sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-im fcitx5-configtool --noconfirm

sudo gedit ~/.pam_environment
------------------------------------------
INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
SDL_IM_MODULE DEFAULT=fcitx

sudo gedit ~/.xprofile
------------------------------------------
export INPUT_METHOD=fcitx5
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

桌面切换成KDE

1
2
3
4
5
6
7
8
9
# 安装kde
sudo pacman -S plasma

# 安装yakuake下拉终端
sudo pacman -S yakuake

# 文件管理器
sudo pacman -S nautilus ranger

美化 https://acherstyx.github.io/2021/02/20/KDE%E6%A1%8C%E9%9D%A2%E7%BE%8E%E5%8C%96%E6%8C%87%E5%8D%97-2/

安装open-vm-tools

请参考 https://gonglja.github.io/posts/b9ab4680/ (此处应该会存在bug,不能拷贝除.tar.gz结尾的文件,否则虚拟机内的文件管理器会闪退)

安装后如果没有动画,开启虚拟机中的3D加速

安装 yay

1
2
3
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

安装 archlinuxcn

参考 https://www.archlinuxcn.org/archlinux-cn-repo-and-mirror/

1
2
3
4
5
6
7
8
sudo vim /etc/pacman.conf

# 添加到最后,按 !wq 保存退出
[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch

# 最后安装 archlinuxcn-keyring
sudo pacman -S archlinuxcn-keyring

archlinuxcn-keyring 报错解决方法

根据这篇文章上的方法进行操作
如果是在普通用户权限下执行记得在每条命令前添加sudo

1
2
3
4
5
6
7
pacman -Syu haveged
systemctl start haveged
systemctl enable haveged

rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux

执行完毕后再次安装archlinuxcn-keyring

1
pacman -S archlinuxcn-keyring

然后执行下一条命令

1
pacman-key --populate archlinuxcn

然后就可以愉快的安装archlinuxcn的软件啦

修改用户

如果没有写权限,可能是创建账户时的问题,此时,需要通过root用户登录,然后删掉原来的账户,重新创建账户。

1
2
3
# userdel -r acoollib
# useradd -m -G wheel acoollib
# passwd acoollib

然后配置sudo 权限

安装zsh

然后安装zsh

添加中文字体

1
sudo pacman -S wqy-zenhei

安装中文输入法

首先安装

1
sudo pacman -S ibus ibus-pinyin ibus-libpinyin

然后在去设置中找到键盘,输入源 点击 + 号添加输入法,注意添加时选择 中文(pinyin)

安装Qv2ray

安装时注意 首先配置 archlinuxcn源,然后在安装

1
sudo pacman -Syy qv2ray 

参考链接:https://qv2ray.net/getting-started/step1.html#linux-manjaro

安装 chrome-gnome-shell

安装火狐 sudo pacman -S firebox sudo pacman -S firefox-developer-edition

详见 https://wiki.archlinux.org/title/Firefox_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

首先安装yay,使用yay安装 yay -S chrome-gnome-shell 或者安装archlinuxcn源通过pacman安装

主题

一款Mac风格的主题 Mojave-gtk-theme

1
2
# 快速安装
yay -S mojave-gtk-theme-git

另外一款主题

https://github.com/EliverLara/Ant

1
yay -S numix-circle-icon-theme

常用软件安装

https://segmentfault.com/a/1190000039901064

内核编译相关

内核编译报错

缺少编译器 gcc 、交叉编译器等

1
2
sudo pacman -S gcc
sudo pacman -S arm-linux-gnueabi-gcc

错误:/bin/sh:行1: bc

缺少 bc

1
sudo pacman -S bc

错误:”mkimage” command not found - U-Boot images will not be built

1
sudo pacman -S uboot-tools

软件配置

NFS配置

archlinux下配置nfs,使开发板能够通过nfs启动。

注意如果是虚拟机,网络模式需改成桥接模式,而且要关闭windows防火墙(一定要把三个防火墙全关了。。。)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 1.安装nfs服务
sudo pacman -S nfs-utils
sudo systemctl start nfs-server.service
sudo systemctl status nfs-server.service
# 每次更改配置时,需重启nfs-server.service
sudo systemctl restart nfs-server.service

# 2.更改要挂载的nfs路径
sudo gedit /etc/exports
----------------------------------------
# 本地路径 用户(权限)
/home/acoollib/workspace/git/smart210-SDK/rootfs *(rw,sync,no_root_squash,no_subtree_check)
# 更新一下,没有错误就ok了
sudo exportfs -arv


# 3.开启nfs服务,uboot2014版本中用的还是nfsv2版本
sudo vim /etc/nfs.conf
-----------------------------------------
# 在[nfsd]中开启(新增)以下
udp=y
tcp=y
vers2=y
vers3=y
vers4=y

# 3. 更改防火墙
sudo gedit /etc/iptables/iptables.rules
-----------------------------------------
# 将一下 -A等 加在OUTPUT下
:OUTPUT ACCEPT [81:6480]
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20048 -j ACCEPT
-A INPUT -p udp -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m udp --dport 2049 -j ACCEPT
-A INPUT -p udp -m udp --dport 20048 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32765 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT
-A INPUT -p udp -m udp --dport 32765 -j ACCEPT
-A INPUT -p udp -m udp --dport 32803 -j ACCEPT

sudo systemctl reload iptables.service
sudo systemctl restart iptables.service


gdb配置

使用pwndbg插件

1
2
3
4
5
6
7
8
# 1. 安装pwndbg
sudo pacman -S gdb pwndbg
# 2. 打开gdbinit并添加pwndbg, 添加 source /usr/share/pwndbg/gdbinit.py
# 注意:不出意外是这个路径,但最好确认下,sudo find / -name gdbinit.py
# 输入后,通过 :wq 保存,打开gdb,此时应该就可以看到pwndbg了
vim ~/.gdbinit
-----------------------------------------
source /usr/share/pwndbg/gdbinit.py

grub配置

https://linuxhint.com/update_grub_arch_linux/

grub配置不生效

查看fstab是否没有挂载boot分区,发现实际上是个空文件。

解决方法:添加启动盘,挂载所有分区,使用genfstab -U /mnt >> /mnt/etc/fstab;重启系统后再次grub-mkconfig -o /boot/grub/grub.cfg

过程中可能碰到虚拟机无法从CD/DVD启动,此时需要修改虚拟机的bios,修改启动顺序;但是呢,虚拟机的bios不一定能进去,此处需要修改虚拟机启动时bios的时间。

然后进入到启动盘,挂载所有分区,首先用命令 fdisk -l 查看分区分布,我的sda2 是主分区,sda1 是启动分区,所以使用命令挂载 ,然后用命令 lsblk 查看一下,没有问题生成fstab

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1.创建boot文件夹
mkdir -p /mnt/boot

# 2. 挂载
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot

# 3.查看验证
lsblk

# 4.生成fstab
genfstab -U /mnt >> /mnt/etc/fstab

参考:

  1. 真没想到,vmware进入 bios设置 的方法是这样的
  2. 重装ArchLinux后修改GRUB配置不生效问题的解决
  3. 安装ArchLinux(一)仅命令行

Buildroot 构建

安装依赖

1
sudo pacman -S rsync cpio

开始构建,使用make menuconfig配置,然后make -j$(proc)

参考

  1. archlinux下开启openssh
  2. archlinux下安装gnome桌面环境
  3. archlinux安装
  4. Linux用户组
  5. Archlinux NFS配置
  6. Ubuntu开启NFS,从机端报错:ERROR: File lookup fail
  7. buildroot使用
  8. https://www.jianshu.com/p/7c2ab582e13d

Archlinux从安装到使用(持续更新中)
https://www.glj0.top/posts/d78cdbc6/
作者
gong lj
发布于
2022年3月25日
更新于
2022年8月4日
许可协议