archlinux安装

ArchLinux为了快速迭代,在安装上实在是太不友好了。作为一个入门级使用者,我踩了无数的坑才跳出来。为了让其他人不用重复跳坑,我写了个简易安装脚本,希望能让大家在安装的时候能轻松一点

目前仅测试过ArchLinux2020,不过别的应该也就是小改就行。

首先下载ArchLinux,然后建立虚拟机,修改成EFI启动,这方面的文章有很多,我就不重复了

启动之后

先用cfdisk分区

目前脚本里分区顺序是

/dev/sda1 -> EFI 分区

/dev/sda2 -> 交换分区

/dev/sda3 -> OS安装分区

分区完成之后先按别的教程检查网络是否正常

然后在命令行执行以下命令

mkdir /inst

mount -t cifs -o username=[id],password=[pass],vers=2.1 [//192.168.182.1/folder] /inst

id/pass是主机远程目录的登录ID和密码,//192.168.182.1/folder是主机上的远程目录,换成你自己的相关内容就行。安装脚本放在这个远程目录里

/inst/install.sh

然后按提示操作就是

执行完成之后,在命令行输入

exit

umount -R /mnt

然后重启,ArchLinux的基本模块就安装完成了,然后再按你自己的喜好装用户桌面就行

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
#!/bin/bash
systemctl enable dhcpcd.service #好象可以去掉,我没试
timedatectl status
timedatectl set-ntp true #设置时间

mkfs.fat -F32 /dev/sda1 #格式化EFI分区
mkfs.ext4 /dev/sda3 #格式化主分区
mkswap /dev/sda2 -L Swap #建立交换分区
swapon /dev/sda2 #挂载交换分区
#如果你的分区格式跟我这里不一样,需要修改上面4行来适应你的分区

mount /dev/sda3 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/sda1 /mnt/boot/EFI

echo '## China\nServer = http://mirrors.aliyun.com/archlinux/$repo/os/$arch' > mrlist
grep -A 1 'China' /etc/pacman.d/mirrorlist|grep -v '\-\-' >> mrlist
cat /etc/pacman.d/mirrorlist >> mrlist
mv mrlist /etc/pacman.d/mirrorlist #把国内源加到源列表里

echo "Generate fstab"
genfstab -U /mnt >> /mnt/etc/fstab
echo "Install package"
pacstrap /mnt base linux linux-firmware net-tools dhcpcd networkmanager openssh #安装各个包,可以按你自己的需要增加或取消,如果以后包的功能有所变化,多半只需要改这里
echo "Change root path"
arch-chroot /mnt

echo dnsnat > /etc/hostname
echo "127.0.0.1 localhost" >>/etc/hosts
echo "::1 localhost" >>/etc/hosts
echo "127.0.0.1 dnsnat.localdomain dnsnat" >>/etc/hosts
echo "Host name set" #设置主机名,按你需要的修改一下

passwd #设置root密码,我这里是测试机,不需要建立别的用户,如果你有需求,在这里加上建立用户的命令或者安装好之后再建立

pacman -S grub efibootmgr
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg #设置启动部分

#mkinitcpio -p linux

wifi设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 进入iwctl
iwctl

# 获取device名称 我这里是 wlan0,后面注意wlan0替换成你自己device
device list

# 扫描附近wifi
station wlan0 scan

# 获取所有可连接wifi名字
station wlan0 get-networks
station wlan0 connect [wifi名]

#输入密码
# ctrl+c 退出 iwctl

更新系统

在 Archlinux 中,使用一条命令即可对整个系统进行更新:
pacman -Syu
如果你已经使用pacman -Sy将本地的包数据库与远程的仓库进行了同步,也可以只执行:pacman -Su

更新源

方法一

1
2
3
4
5
# sudo gedit /etc/pacman.conf
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# sudo pacman -Sy
# pacman -S archlinuxcn-keyring

方法二

1
2
3
4
sudo pacman-mirrors -i -c China -m ran
sudo pacman -Syyu

https://blog.csdn.net/CHAOS_ORDER/article/details/103396013

安装包

➔ pacman -S 包名:例如,执行 pacman -S firefox 将安装 Firefox。你也可以同时安装多个包,
只需以空格分隔包名即可。
➔ pacman -Sy 包名:与上面命令不同的是,该命令将在同步包数据库后再执行安装。
➔ pacman -Sv 包名:在显示一些操作信息后执行安装。
➔ pacman -U:安装本地包,其扩展名为 pkg.tar.gz。
➔ pacman -U http://www.example.com/repo/example.pkg.tar.xz 安装一个远程包(不在 pacman 配置的源里面)

删除包

➔ pacman -R 包名:该命令将只删除包,保留其全部已经安装的依赖关系
➔ pacman -Rs 包名:在删除包的同时,删除其所有没有被其他已安装软件包使用的依赖关系
➔ pacman -Rsc 包名:在删除包的同时,删除所有依赖这个软件包的程序
➔ pacman -Rd 包名:在删除包时不检查依赖。

搜索包

➔ pacman -Ss 关键字:在仓库中搜索含关键字的包。
➔ pacman -Qs 关键字: 搜索已安装的包。
➔ pacman -Qi 包名:查看有关包的详尽信息。
➔ pacman -Ql 包名:列出该包的文件。

其他用法

➔ pacman -Sw 包名:只下载包,不安装。
➔ pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
➔ pacman -Scc:清理所有的缓存文件。

tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968

查了一下,找到这个Arch Linux的Wiki页面,解决方法就是:

编辑 /etc/locale.gen 文件,取消这一行的注释:

en_US.UTF-8 UTF-8

执行以下命令生成Locale:

1
locale-gen

执行以下命令设置整个系统的Locale:

1
localectl set-locale LANG=en_US.UTF-8

安装中文字体

pacman -S ttf-arphic-uming

内核

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#导出当前内核的配置
zcat /proc/config.gz > .config
#配置
make menuconfig
#编译
make
#安装
make modules_install
#将内核拷贝至/boot,xx主要是为了与原本的内核区分开,随便写
cp -v arch/x86/boot/bzImage /boot/vmlinuz-linux<xx>
# 制作初始化内存盘,version可在/lib/modules/下查看
mkinitcpio -k <version> -g /boot/initramfs-linux<xx>.img
# 拷贝System.map
cp System.map /boot/System.map-<kernelName>
ln -sf /boot/System.map-<kernelName> /boot/System.map
#更新grub
grub-mkconfig -o /boot/grub/grub.cfg

neovim

sudo pacman -S –noconfirm neovim

sudo pacman -S –noconfirm python-pynvim

sudo pacman -S –noconfirm nodejs npm

sudo pacman -S –noconfirm global

:CocInstall coc-clangd

wps

需要添加AUR库并且安装好yay

sudo pacman -S yay

yay -S wps-office-mui-zh-cn wps-office-mime-cn wps-office-cn wps-office-fonts ttf-ms-fonts ttf-wps-fonts

sway

pacman -S sway xorg-xwayland rofi waybar

  • Install TigerVNC
  • Configure password by running vncpasswd in the console
  • Add the following command to the auto startup applications of you DE: x0vncserver -display :0 -PasswordFile /home/your_user_name/.vnc/passwd

Xvfb :2 -screen 0 800x600x24 -nolisten tcp

startplasma-x11

x0vncserver -display :2 -PasswordFile /home/dnsnat/.vnc/passwd

pacman -S glibc lib32-glibc


archlinux安装
http://blog.uanet.cn/SYSTEM/archlinux安装.html
作者
dnsnat
发布于
2022年7月30日
许可协议