(适用于 Arch ISO 映像版本:2024.01.*)
大家好,这是我使用 KDE Plasma 安装 Arch Linux 的指南。在本指南中,我们将逐步介绍如何执行此操作。
如果您的计算机无法识别 USB 记忆棒或在尝试启动 USB 记忆棒时抛出错误,则您可能已启用安全启动。
进入 BIOS 设置并禁用安全启动。
提示:按 CTRL+L 快速清屏
首先,使用命令:
iwctl
要查看您安装了哪些网络站,请使用以下命令:
device list
从列出的站点中选择一个站点并使用以下命令打开其电源:
device [selected station] set-property Powered on
使用上面的命令打开相应的适配器,只需将“设备”替换为“适配器”即可,然后您可以扫描网络或通过WPS连接。
使用以下命令:
wsc [selected station] push-button
然后按路由器背面的 WPS 按钮。这可能需要一两分钟才能完成。一旦路由器上的 WPS LED 停止闪烁,您的计算机就已连接到互联网!
使用以下命令扫描当前可以连接的所有接入点:
station [selected station] scan
然后,要显示网络,请使用以下命令:
station [selected station] get-networks
从提供的列表中选择一个接入点并使用以下命令连接到它:
station [selected station] connect [SSID]
IWCTL 将提示您输入接入点的密码。输入它,您应该很快就会连接到互联网。
要获取所有可用键盘映射的列表,请使用以下命令:
localectl list-keymaps
要搜索键盘映射,请使用以下命令,将[search_term]
替换为您的语言、国家/地区或布局的代码:
localectl list-keymaps | grep -i [search_term]
loadkeys [keymap]
ping -c 4 archlinux.org
wifi-menu
连接到本地网络。 timedatectl set-ntp true
timedatectl
截至目前,您不必担心时区,只需确保它返回的 UTC 时间与现实世界的 UTC 时间匹配即可
️ 管理磁盘时要格外小心,如果您删除了宝贵的数据,请不要责怪我。
我们将使用gdisk
在 HDD、 EFI BOOT & ROOT
上创建两个分区。
/boot
分区g
创建 GPT 分区表。 gdisk /dev/[disk name] # If you are on an EFI system
fdisk /dev/[disk name] # If you are on an MBR system
lsblk
找到您的设备,这会显示磁盘的所有挂载点和分区。/
、 /boot
、 /swap
和/home
使用单独的分区。如果您使用的是 EFI 系统:
x - Expert command
z - "Zap" the disk
y - Blank our MBR (Fully initialises the disk)
如果您使用的是 MBR 系统:
q - To quit
sfdisk --delete /dev/[disk name]
然后,再次运行 gdisk 或 fdisk。
n = New Partition
simply press enter = 1st Partition
simply press enter = As First Sector
+1G = As Last sector (BOOT Partition Size)
ef00 = EFI Partition Type
n = New Partition
simply press enter = 2nd Partition
simply press enter = As First Sector
+16G = As Last sector (SWAP size, or double your RAM, whichever is smaller)
8200 = Linux Swap
n = New Partition
simply press enter = 3rd Partition
simply press enter = As First Sector
+40G = As Last sector [ROOT Partition Size (you may use 20GiB if you have a small hard drive)]
8300 or simply press enter = Linux filesystem
n = New Parition
simply press enter = 4th Partition
simply press enter = As first sector
simply press enter = As last sector [HOME parition size (takes up remaining hard drive space)]
8300 or simply press enter = Linux filesystem
w = write & exit
如果您决定进行发行版跳跃,为了安全和方便,绝对建议您制作一个主分区。
重要提示:从现在开始,您的磁盘将被称为 sdx,其中 x 是代表您的驱动器的字母。
mkfs.fat -F32 /dev/sdx1
mkfs.btrfs /dev/sdx3 # Add -f if your system tells you another filesystem like ext4 is already present
mkfs.btrfs /dev/sdx4
格式化并打开交换内存
mkswap /dev/sdx2
swapon /dev/sdx2
mount /dev/sdx3 /mnt
mount --mkdir /dev/sdx1 /mnt/boot
mount --mkdir /dev/sdx4 /mnt/home
reflector -c County1 -c Country2 -a 12 -p https --sort rate --save /etc/pacman.d/mirrorlist
将Country1
和Country2
替换为您附近的国家/地区或您居住的国家/地区。请参阅Reflector了解更多信息。
例子:
reflector -c 'United States' -a 12 -p https --sort rate --save /etc/pacman.d/mirrorlist
pacstrap /mnt base base-devel linux linux-firmware linux-headers nano intel-ucode reflector mtools dosfstools
linux
替换为linux-hardened 、 linux-lts或linux-zen以安装您选择的内核。linux-headers
分别替换为您选择的内核类型(例如,如果您安装了linux-zen
那么您将需要linux-zen-headers
)。nano
替换为您选择的编辑器(即vim
或vi
)。intel-ucode
替换为amd-ucode
。 (使用-U
或-L
分别通过UUID或标签定义)
genfstab -U /mnt >> /mnt/etc/fstab
注意:单个
>
将覆盖文件,双>>
将追加到文件。确保您不会将它们相互混淆,并确保您键入的命令与本指南中的命令相同,然后再按 Enter 键。
检查生成的/mnt/etc/fstab
文件,并在出现错误时进行编辑。如果您不知道文件内容的含义,请勿触摸该文件。
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc # Sync hardware clock with system time
根据您的时区替换Region
和City
。要查看可用的时区,请使用以下命令:
ls /usr/share/zoneinfo/
和
ls /usr/share/zoneinfo/[Region]
一个例子是:
/usr/share/zoneinfo/Europe/London
我们将在此处使用en_US.UTF-8
,但如果您想设置语言,请在以下所有实例中将en_US.UTF-8
替换为您的语言。
nano /etc/locale.gen
通过删除该行前面的主题标签来取消注释以下行(或任何行,具体取决于您所在的地区以及键盘使用的语言)
#en_US.UTF-8 UTF-8
保存并退出。
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
仅适用于使用非美国英语的键盘用户。将[keymap]
替换为您的。
echo "KEYMAP=[keymap]" > /etc/vconsole.conf
echo arch > /etc/hostname
将arch
替换为您选择的主机名。
nano /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
将arch
替换为您选择的主机名。保存并退出。
pacman -S networkmanager
systemctl enable NetworkManager
passwd
引导加载程序负责管理引导过程,并且是 Arch 系统的 PID 0。
对于 MBR 系统,我们将安装 GRUB;对于 UEFI 系统,我们将安装 SystemD-Boot
“目标”是 CPU 架构。这些对于 grub 来说很重要,这样它才能正确处理引导过程。
从此站点找到您的 CPU 架构并将其指定为目标
pacman -S grub
grub-install /dev/[disk name] # You don't need to specify a target because the default is i386-pc
grub-mkconfig -o /boot/grub/grub.cfg
bootctl install
打开并编辑/boot/loader/loader.conf
nano /boot/loader/loader.conf
通过在行首放置主题标签来注释掉以default
开头的任何行。
并将此行添加到文件底部
default arch.conf
完成后,输入:
nano /boot/loader/entries/arch.conf
并定义参数如下:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID="[root partition UUID]" rw
您可以通过在命令行(而不是编辑器)中输入来找到根分区的 UUID:
blkid /dev/sdx3
(请记住,sdx 指的是您想要安装 Arch Linux 的驱动器)
按 Ctrl+O、Enter,然后按 Ctrl+X 保存。
我们需要为后备图像创建一个类似的文件。为此,请输入:
cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fb.conf
编辑文件:
nano /boot/loader/entries/arch-fb.conf
更改以下行:
title Arch Linux
initrd /initramfs-linux.img
至(分别):
title Arch Linux Fallback
initrd /initrams-linux-fallback.img
按 Ctrl+O 然后 Enter 保存,按 Ctrl+X 退出。
️ - 您是否按照上述步骤进行操作?该部分是强制性的。此外,犯的任何错误都可能导致您的 Arch 系统启动顺序失败。**
exit
reboot
useradd -mG wheel [username]
将[username]
替换为您选择的用户名。
passwd [username]
根据需要多次重复上述过程,具体取决于要添加到系统的用户数量。
如果您不希望用户使用 sudo 命令,请改用以下命令:
useradd -m [username]
EDITOR=nano visudo
#%wheel ALL=(ALL) ALL
保存并退出。
exit
由于我们现在使用 NetworkManager 而不是 iwd,因此我们的连接设置已丢失(并且连接过程略有不同)
首先,要查看您的计算机上安装了哪些网络站,请使用以下命令:
nmcli device
然后,我们使用以下命令打开 wifi:
nmcli radio wifi on
我们使用以下命令列出本地接入点:
nmcli device wifi list
选择列出的接入点之一并通过运行以下命令连接到它:
nmcli device wifi connect [Access Point SSID] password [Access Point Password]
您无需检查更新,因为 Arch 已经下载了最新版本的 Arch Linux
如果您想要进行服务器安装或出于任何其他原因拥有无桌面 Arch 系统,您可以到此为止。
sudo pacman -S xorg [xf86-video-your gpu type]
nvidia
& nvidia-settings
。有关更多信息/旧 GPU,请参阅 Arch Wiki - Nvidia。xf86-video-amdgpu
。xf86-video-ati
。xf86-video-intel
。multilib 包含 32 位软件和库,可用于在 64 位安装上运行和构建 32 位应用程序(例如 Wine、Steam 等)。
编辑/etc/pacman.conf
并取消注释以下两行。
#[multilib]
#Include = /etc/pacman.d/mirrorlist
如果您使用 Vulkan 后端玩游戏,Steam 需要此软件包。
sudo pacman -Sy lib32-mesa
注意:如果您未指定-Sy
或事先键入sudo pacman -Syy
上述安装将不起作用。
sudo pacman -S sddm
sudo systemctl enable sddm
sudo pacman -S plasma konsole dolphin ark kwrite kcalc spectacle krunner partitionmanager packagekit-qt5
套餐 | 描述 |
---|---|
等离子体 | KDE Plasma 桌面环境。 |
控制台 | KDE 终端。 |
海豚 | KDE 文件管理器。 |
方舟 | 归档工具。 |
写 | 文本编辑器。 |
千计算 | 科学计算器。 |
奇观 | KDE 屏幕截图捕获实用程序。 |
克伦纳 | KDE 快速下拉桌面搜索。 |
分区管理器 | KDE 磁盘和分区管理器。 |
sudo pacman -S alsa-utils bluez bluez-utils
套餐 | 描述 |
---|---|
alsa 实用程序 | 它包含(以及其他实用程序) alsamixer 和amixer 实用程序。 |
蓝色 | 提供蓝牙协议栈。 |
bluez-utils 工具 | 提供bluetoothctl 实用程序。 |
sudo systemctl enable bluetooth.service
您可以安装以下所有软件包或仅安装您想要的软件包。
sudo pacman -S firefox openssh qbittorrent audacious wget screen git neofetch
套餐 | 描述 |
---|---|
火狐浏览器 | Mozilla Firefox 网络浏览器。 |
打开ssh | 安全 Shell 访问服务器。 |
qbittorrent | 基于 Qt 的 BitTorrent 客户端。 |
大胆的 | 基于Qt的音乐播放器。 |
获取* | Wget 是一个免费实用程序,用于从 Web 上以非交互式方式下载文件。 |
屏幕 | 是一个全屏窗口管理器,可在多个进程(通常是交互式 shell)之间复用物理终端。 |
git* | Github 命令行实用工具。 (需要访问 AUR) |
快速获取 | Fastfetch是一个命令行系统信息工具,是NeoFetch的后继者。 |
杯子* | 打印机服务 |
* - 这些是一些更重要的包,很多程序都倾向于使用它们。它们是可选的,但强烈建议安装所有这些。
sudo systemctl enable sshd.service
sudo systemctl enable --now cups.service
reboot
现在一切都已安装完毕,最后reboot
后,您将进入 SDDM 迎宾界面。您可以继续阅读一些步骤,以进一步改善您的体验。我建议您安装yay
和paccache
。
另一种酸奶 - AUR 帮手。许多为 Arch 编写的程序都可以在 AUR 中找到,但要小心从那里下载的内容。
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd .
rm -rf yay # To delete the yay folder as it isn't necessary anymore
Zsh 是一个功能强大的 shell,既可以作为交互式 shell,又可以作为脚本语言解释器。它是许多人首选的 shell 环境。
sudo pacman -S zsh zsh-completions
请阅读此处了解 Zsh 的定制和主题。请阅读下文如何更改您的 SHELL。
NuShell 是一个功能强大的 shell,具有非常有用的调试语句,并且总体上是一个可靠的 shell 环境。
yay -S nushell
首先通过运行以下命令检查当前的 SHELL:
echo $SHELL
chsh -l
例如,我们将 Zsh 设置为我们在上一步中安装的默认 SHELL:
chsh -s /usr/bin/zsh # To set Zsh as the default SHELL
chsh -s /usr/bin/nu # To set NuShell as the default SHELL
要应用更改,您需要注销并重新登录,或者最好重新reboot
。
PipeWire 是一种新的低级多媒体框架。它旨在以最小的延迟提供音频和视频的捕获和播放,并支持 PulseAudio、JACK、ALSA 和基于 GStreamer 的应用程序。
sudo pacman -S pipewire wireplumber pipewire-audio pipewire-alsa pipewire-pulse
EasyEffects(以前的 PulseEffects)是一个 GTK 实用程序,它为各个应用程序输出流和麦克风输入流提供大量音频效果和滤波器。值得注意的效果包括输入/输出均衡器、输出响度均衡和低音增强,以及输入嘶声消除器和降噪插件。安装
sudo pacman -S easyeffects
# or
yay -S easyeffects-git
这还将安装 pipeline-pulse 并用 PipeWire 替换 PulseAudio。
Clam AntiVirus 是一个用于 UNIX 的开源 (GPL) 防病毒工具包。它提供了许多实用程序,包括灵活且可扩展的多线程守护程序、命令行扫描程序和用于自动数据库更新的高级工具。
sudo pacman -S clamav
sudo freshclam
sudo systemctl enable --now clamav-freshclam.service
sudo systemctl enable --now clamav-daemon.service
ClamAV 的 GUI
sudo pacman -S clamtk
从 ClanTK-KDE Gitlab 下载最新的master zip
并将其解压到您的~/Downloads
文件夹中。现在从提取的文件夹中打开一个终端并运行:
sudo cp clamtk-kde.desktop /usr/share/kservices5/ServiceMenus/
Oh My Zsh 是一个开源、社区驱动的框架,用于管理 Zsh 配置。
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
我最喜欢的主题是Powerlevel10k(按照下面的安装)。
这是我将安装的主题,以增强我的终端体验。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
我们将使用Yay安装以下两个软件包,因为其中之一只能从 AUR 获得。
yay -S ttf-dejavu ttf-meslo-nerd-font-powerlevel10k
还将 Konsole 终端字体设置为MesloGS-NF-Regular
。
nano ~/.zshrc
找到以ZSH_THEME="...."
开头的行并替换主题名称,因此该行现在应如下所示ZSH_THEME="powerlevel10k/powerlevel10k"
现在执行source ~/.zshrc
。
对于新用户,第一次运行时,Powerlevel10k 配置向导会问您几个问题并配置您的提示。如果它没有自动触发,请输入
p10k configure
。配置向导根据您的偏好创建~/.p10k.zsh
。可以通过编辑此文件来完成其他提示自定义。它有大量注释可以帮助您浏览配置选项。
Kvantum 是一个基于 SVG 的 Qt 主题引擎,针对 KDE 和 LXQt 进行了调整,强调优雅、可用性和实用性。
yay -S kvantum-qt5-git
或者
sudo pacman -S kvantum
吃豆人缓存清理器。
安装
sudo pacman -S pacman-contrib
要手动清理 pacman 缓存,请运行
sudo paccache -rk
其中, k表示将每个包的“num”保留在缓存中。
在/etc/pacman.d/hooks
中创建文件
sudo mkdir /etc/pacman.d/hooks
sudo nano /etc/pacman.d/hooks/clean_cache.hook
在其中添加以下行
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -rk
保存并退出。
适用于 Linux 服务器、工作站甚至桌面的基于 web 的 systemd 用户界面。可用于监控您的系统统计数据、性能并执行各种设置,包括系统更新。
sudo pacman -S cockpit
sudo systemctl enable --now cockpit.socket
现在打开浏览器并将其指向your-machine-ip:9000
并使用root登录以获得完全访问权限。