整理一下,方便以后安装Arch Linux

刻录u盘略过。。。

检测是否是UEFI启动

1
ls /sys/firmware/efi/efivars
  • 文件不存在说明不是以UEFI启动

连接WIFI

1
wifi-menu

然后可以检测连接是否成功

1
ping -c 5 www.baidu.com

更新系统时间

操作

1
timedatectl set-ntp true

查看服务状态

1
timedatectl status

原因

  • 系统时间不对可能造成ssl连接失败导致安装出错

  • 验证软件包签名,确定公钥过期没过期

  • https证书,也要验过期时间

分区

检测分区情况

1
lsblk

分区

1
cfdisk /dev/sdx

格式化分区

  • 格式化成ext4
1
mkfs.ext4 /dev/sdX2
  • 格式swap分区并激活
1
2
mkswap /dev/sdX3
swapon /dev/sdX3
  • 格式化efi分区
1
mkfs -t vfat /dev/sdX4

挂载分区

  • 首先将根分区 挂载/mnt
1
mount /dev/sdX2 /mnt

(多个分区的情况下可选)

  • 挂载home分区
1
2
mkdir /mnt/home
mount /dev/sdx3 /mnt/home
  • 挂载boot分区(uefi)
1
2
mkdir -p /mnt/boot/efi
mount /dev/sdx4 /mnt/boot/efi

安装

选择镜像源

1
vi /etc/pacman.d/mirrorlist

在列表中越前的镜像在下载软件包时有越高的优先权,将清华源复制到第一行

安装基本系统

1
pacstrap /mnt base base-devel

配置系统

Fstab

用以下命令生成 fstab 文件 (用 -U-L 选项设置UUID 或卷标):

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

Chroot

Change root 到新安装的系统:

1
arch-chroot /mnt

时区

设置时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

硬件时间设置,默认为UTC时间

1
hwclock --systohc 

本地化

/etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号()即可,建议选择带 UTF-8 的项

1
2
3
4
# nano /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

接着执行以生成 locale 讯息

1
2
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf

网络

设置主机名

1
echo cc > /etc/hostname

添加对应的信息到host

1
2
3
4
# nano /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

Root密码

1
passwd

安装引导

1
2
#后面两个包多系统的情况下可以选装
pacman -S grub efibootmgr ntfs-3g os-prober
  • 非uefi
1
2
grub-install --target=i386-pc /dev/sdx 
#/dev/sdx 是已经完成分区的磁盘,grub 将安装到它上面。
  • uefi
1
2
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
# 注意要挂载/boot/efi,见上面挂载boot分区那步

生成主配置文件

1
grub-mkconfig -o /boot/grub/grub.cfg

安装微码

1
pacman -S amd-ucode

无线连接

1
pacman -S iw wpa_supplicant dialog

重启

1
2
3
exit #返回安装环境
umount -R /mnt
reboot

配置新系统

新建用户

1
2
useradd -m -G wheel cc
passwd cc

设置权限

1
2
3
4
nano /etc/sudoers
在 root ALL=(ALL) ALL 下面添加
用户名 ALL=(ALL) ALL
为你刚才创建的用户 添加sudo权限

添加archcn源

/etc/pacman.conf 文件末尾添加两行

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

然后请安装 archlinuxcn-keyring 包以导入GPG key

常用软件

1
pacman -S git make cmake openssh gcc g++ gdb vim wget sshpass net-tools ntfs-3g

linux-lts内核

更换为lts内核

1
sudo pacman -S linux-lts

卸载原内核

1
2
3
4
5
6
7
8
9
10
11
12
$ pacman -Q | grep linux
archlinux-appstream-data 20190424-1
archlinux-keyring 20190123-2
archlinuxcn-keyring 20190422-1
libutil-linux 2.33.2-1
linux 5.0.10.arch1-1
linux-api-headers 5.0.7-1
linux-firmware 20190424.4b6cf2b-1
linux-lts 4.19.37-1
util-linux 2.33.2-1
$ pacman -R linux
$ sudo grub-mkconfig -o /boot/grub/grub.cfg

桌面环境

  1. 安装xorg

    XorgLinux下的一个著名的开源图形服务,我们的桌面环境需要Xorg的支持。

    1
    pacman -S xorg-server xorg-xinit
  2. 桌面环境

    • xfce

      1
      pacman -S xfce4 xfce4-goodies
    • KDE(Plasma)

      1
      pacman -S plasma kde-applications

      更多:archwiki

  3. 桌面管理器

    安装好了桌面环境包以后,我们需要安装一个图形化的桌面管理器来帮助我们登录并且选择我们使用的桌面环境,这里我推荐使用sddm

    1
    pacman -S sddm
  4. 开机自启sddm服务

    1
    systemctl enable sddm

yay

Arch拥有一个强大的用户库AUR即Arch User Repository,为我们提供了官方包之外的各种软件包,一些闭源的软件包也可以在上面找到,可以说AUR极大地丰富了软件包的种类与数量,并可以配合yay这样的工具为用户省下大量安装、更新软件包的时间。

yay实际上也是一个软件包,我们可以把它看成是对pacman的包装,它兼容pacman的所有操作,最大的不同是我们可以用它方便地安装与管理AUR中的包,下面的许多软件包都是在AUR库中的,也都是使用AUR来安装的。

安装

1
pacman -S yay

zsh

  • 安装
1
2
3
4
5
6
7
pacman -S zsh

#设置zsh为默认shell
sudo chsh -s /bin/zsh username

#安装oh-my-zsh
yay -S oh-my-zsh-git

修改zsh提示为英文

1
2
3
vim ~/.zshrc

LANGUAGE="en"

插件

  • zsh-autosuggestions
1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • zsh-syntax-highlighting
1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • 配置~/.zshrc
1
plugins=( zsh-autosuggestions zsh-syntax-highlighting)

配置网络

  • 安装networkmanager
1
pacman -S networkmanager
  • 设置开机自启并启用
1
2
systemctl enable NetworkManager
systemctl start NetworkManager
  • 安装前端插件

    • GTK3+前端小程序,工作在Xorg环境下,带有一个系统托盘。

      1
      pacman -S network-manager-applet
    • kde可以只安装plasma-nm,然后通过 面板的选项 > 添加部件 > 网络 来把它添加到KDE的任务栏上。

中文输入法

搜狗输入法

1
pacman -S fcitx fcitx-im fcitx-sogoupinyin fcitx-configtool zenity

装完以后需要修改~/.xprofile文件,在文件开头加入三行

1
2
3
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"

可以解决一些软件无法调出fcitx的问题。

字体

  1. 安装字体
1
pacman -S ttf-dejavu ttf-monaco noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra otf-fira-code
  1. 选择

    • 字体: noto fonts cjk,
    • 等宽字体: Fira Code或者monaco
  2. 配置文件

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# .config/fontconfig/fonts.conf

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Serif CJK SC</family>
<family>Noto Serif CJK TC</family>
<family>Noto Serif CJK JP</family>
<family>Noto Serif CJK KR</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
<family>Noto Sans CJK KR</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-sans</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
<family>Noto Sans CJK KR</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
</prefer>
</alias>
<alias>
<family>tahoma</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Fira Code</family>
<family>Noto Sans CJK SC</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>Noto Sans Mono</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
<alias>
<family>emoji</family>
<default>
<family>Noto Color Emoji</family>
</default>
</alias>
<alias>
<family>Apple Color Emoji</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
<default>
<family>sans-serif</family>
</default>
</alias>
<alias>
<family>Segoe UI Emoji</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
<default>
<family>sans-serif</family>
</default>
</alias>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
<edit mode="assign" name="hinting">
<bool>false</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
</match>
<dir>~/.fonts</dir>
<match target="font">
<edit mode="assign" name="hinting">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
</match>
</fontconfig>

参考:

Localization/Simplified Chinese)

Font Configuration/Chinese)

Arch Linux字体渲染(fontconfig)-fonts.conf参考

synaps

Synapse是一个快速的软件启动器,可以方便地查找安装的软件,设置快捷键使用再也不用找软件入口了。

1
pacman -S synapse

剪贴板

  • 删除自带的klipper(kde)
1
rm -rf /usr/share/plasma/plasmoids/org.kde.plasma.clipboard
  • 安装copyq
1
pacman -S copyq

xournal

1
yay -S xournal

VirtualBox

1
pacman -S virtualbox virtualbox-ext-vnc virtualbox-guest-iso virtualbox-host-modules-arch

再去官网下载Oracle VM VirtualBox Extension Pack ,在设置中导入使用。安装windows的过程不在这里讲解,记得安装之后在windows内安装扩展客户端软件即可。

系统备份

1
2
pacman -S timeshifts
systemctl enable --now cronie.service

声卡

1
2
3
4
pacman -S alsa-utils pulseaudio pulseaudio-bluetooth

#前端
pacman -S pavucontrol

蓝牙

1
2
3
sudo pacman -S bluez bluez-utils
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service

图形界面使用blueman

1
pacman -S blueman

为了消除登录时蓝牙请求权限,创建/etc/polkit-1/rules.d/81-blueman.rules

1
2
3
4
5
6
7
8
polkit.addRule(function(action, subject) {
if (action.id == "org.blueman.rfkill.setstate" && subject.local && subject.active && subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
if (action.id == "org.blueman.network.setup" && subject.local && subject.active && subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});

文本工具

1
pacman -S foxitreader typora visual-studio-code-bin mousepad

编译器

1
pacman -S codeblocks

互联网工具

1
pacman -S firefox chromium filezilla teamviewer

teamviewer not ready

1
2
sudo systemctl start teamviewerd
sudo systemctl enable teamviewerd

图形软件

1
pacman -S flameshot nomacs

jdk8

  1. https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载jdk8

  2. 解压并且配置环境变量

显卡

Xorg - ArchWiki

1
pacman -S xf86-video-amdgpu mesa

美化

1
2
3
4
5
6
7
8
# 主题Materia KDE
pacman -S materia-kde kvantum-theme-materia

# 图标papirus
pacman -S papirus-icon-theme

# 光标
yay -S capitaine-cursors

对应的介绍

KDE系部分软件

1
pacman -S dolphin dolphin-plugins konsole ark
  • Simple System Monitor
1
2
# 下载https://github.com/dhabyx/plasma-simpleMonitor/releases
plasmapkg2 -i plasma-simpleMonitor-0.6.plasmoid
  • 桌面添加网络监视器

解决问题

  • systemd-backlight@backlight:acpi_video0.service failed

添加backlight文件夹下的文件名到grub文件,然后禁止上面的service

1
2
3
4
5
6
7
$ ls /sys/class/backlight/
radeon_bl0
$ sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_backlight=radeon_bl0"
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
$ sudo systemctl mask systemd-backlight@backlight:acpi_video0.service
$ reboot

Docker

1
2
3
4
5
pacman -S docker
sudo systemctl enable docker
sudo systemctl start docker
sudo groupadd docker
sudo gpasswd -a ${USER} docker

划词翻译

参考:https://blog.einverne.info/post/2018/08/goldendict.html

1
pacman -S goldendict
  • 有道的源

http://dict.youdao.com/search?q=%GDWORD%&ue=utf8

  • Chinese Wikipedia

https://zh.wikipedia.org/w

  • Chinese Wiktionary

https://zh.wiktionary.org/w

16进制查看器

1
2
pacmam -S ghex   #查看功能
pacman -S okteta #修改功能

离线文档管理

1
2
pacman -S zeal
#第三方源:https://zealusercontributions.now.sh/

pip

1
pacman -S python-pip