网络白菜包子手动安装 Arch Linux

大家好!我是大聪明-PLUS

针对初学者的 Arch Linux 安装详细教程。

我曾经花了不少时间才搞清楚安装过程。本文旨在提供一种“捷径”,让每个人都能轻松上手,无论他们是否有 Linux 使用经验。

Arch 的主要特点是极其灵活的系统配置,它在安装初期就已提供。对于初学者来说,这种自由度可能显得繁琐乏味。但很可能,这是值得的。

系统的灵活性使您能够从一开始就创建一个完全满足您要求的环境,而不必坚持根除不必要的功能。

很多有趣的软件通常专门针对此发行版及其衍生版本。对于更简单的发行版,您可能需要多花些功夫。

在性能较弱的机器上也能保持良好的性能。如果性能不够,你总能找到解决方案,比如使用轻量级图形环境,或者一开始就完全放弃它们(当然,前提是它能满足你的需求)。

除此之外,这也是更好地了解 Linux、更好地了解终端以及了解系统管理的好方法。

就我而言,自从我从 Windows 切换到 Arch 后,我就彻底放弃了回头或使用其他更“友好”发行版的想法。不过,你需要明白,Arch 远非最复杂的解决方案。

在我们开始之前,我对您的第一个建议是,如果您在安装过程中或安装后遇到任何困难,请不要羞于使用官方手册并将其与阅读本文结合起来。

内容

│ │ └─
1.1 关于现场环境
│ │ └─使用镜像
│ │ └─ 2.1 下载镜像
│ │ └─ 2.2 将镜像写入 USB 驱动器
│ └─ 2.3 加载镜像
│ └─ 2.4 了解 UEFI 和 BIOS │ │ └─ 2.4 了解 UEFI 和 BIOS 
│ └─ 3.1 关于在终端中滚动(注意)│ │ └─ 3.2 设置互联网连接│ │ └─ 3.2.1 有线连接│ │ └─ 3.2.2 无线连接│ │ └─ 3.2.2.1 连接到网络│ │ └─ 3.2.2.2 解锁模块│ │ └─ 3.2.2.3 连接到网络(续)│ │ └─ 3.3 更新密钥和软件包│ └─ 3.4 同步日期和时间 │ │ │ │ │ │ │ │ └─ 4.1.1 UEFI 分区│ │ └─ 4.1.2 BIOS 分区│ │ │ │ └─ 4.2 格式化分区│ └─ 4.3 挂载分区 │ │ │ │ │ └─安装系统│ │ │ │ │ │ └─ 5.1安装软件包│ │ │ └─ 5.3切换到已安装的系统│ │ │ │ │ └─ 配置系统│ ... │ │ └─ 6.5.2 设置超级用户密码│ │ └─ 6.5.3 添加用户│ │ │ └─ 6.6 安装登录管理器│ │ │ └─ 6.7 安装图形环境│ └─ 6.8 重启└─结论

理论部分

首先,为了更好地理解我们将要做的事情,有几件事需要澄清。我强烈建议您从头到尾阅读本文,尤其是当您遇到任何问题时,因为其中一些问题将在本文后面得到解决。

让我们先明确几个概念:

  • Live 环境 是一种无需安装到计算机磁盘即可“即时”运行的系统,它可以将自身卸载到内存中。实际上,它就是 Arch,只不过没有图形界面,并且专门为在计算机磁盘上安装完整系统而定制。

  • “软件包”、“实用程序”、“软件”、“程序” 是类似的概念。因此,原则上应将它们等同看待。但在 Linux 环境中,“软件包”和“实用程序”这两个词最常用于指代软件。需要注意的是,并非所有软件包都是程序。它们也可以提供字体、壁纸、主题,并且需要安装其他软件包——即所谓的依赖项。

  • “目录”、“目录”、“文件夹” 都是相同的概念,但在 Linux 环境中,正确使用的词是“目录”。

  • 挂载 是“连接”文件系统的过程,从而使操作系统可以访问磁盘或特定分区。

  • root用户 是系统的主要用户,对系统有完全的控制权,主要对根目录“/”有完全的访问权限。

  • 根目录“/” 是整个系统(从用户数据到内核)的主目录。即使您将磁盘空间划分为多个分区,它们也会被挂载到“/mnt/...”、“/run/media/user/...”或其他目录中,而这些目录仍然位于根目录“/”内。

  • 交换分区 - 用于在内存不足时从内存中卸载数据的磁盘分区。如果您熟悉 Windows 中的交换文件,那么这两者本质上是一样的。

  • 一切皆文件- 在 Linux 中,一切皆文件,包括目录(文件夹)。此外,文件可能有也可能没有扩展名(即表示其属于特定文件格式的前缀,例如“.txt”、“.mp4”、“.html”等)。记住这一点,这样当我们编辑某些文本文件时就不会感到困惑,因为这些文件没有“.txt”或“.conf”之类的扩展名——这是正常的。

  • 引导加载程序- 负责加载已安装的系统,以及在计算机上同时安装多个操作系统的情况下选择“加载哪个特定系统?”。

如果内容对你来说是新的,没必要一下子记住所有内容。如果有必要,你以后会再回来的。

1.1 关于现场环境

安装过程包括启动实时环境、配置实时环境、准备目标磁盘以及下载和安装软件包(包括 Linux 内核和其他有用的东西),以使系统可用并满足您的需求。

此次安装分为两个全局阶段:

  1. 设置 Live 环境并安装系统。

  2. 设置已安装的系统。

在第一阶段,我们设置一个实时环境,以便能够在所需的位置下载并安装操作系统所需的软件包。

第二阶段,顾名思义,我们对已经安装好的系统进行配置。

处理图像

2.1 下载镜像

您可能需要考虑两个选项:

  1. 使用 Torrent(“BitTorrent 下载(推荐)”)——推荐此选项。

  2. 直接下载(HTTP 直接下载)- 如果您在使用 Torrent 时遇到任何问题,请向下滚动到“HTTP 直接下载”部分,您将看到下方可用的直接下载服务器列表。找到离您最近的国家/地区,然后点击它提供的第一个服务器。

2.2 将镜像写入 USB 驱动器

下载图像后,将其写入可移动媒体。

要将镜像写入 U 盘,我强烈推荐 Ventoy。准备完成后,只需将镜像复制到 U 盘即可写入,并且还提供了便捷的多启动功能(将多个镜像同时存储在一个 U 盘上,并有选择地启动它们)。——这可能是目前最好的解决方案。

  1. 前往官方网站下载Ventoy。

  2. 找到“下载”选项卡。

  3. 该表格将提供三个选项供您选择。请选择任意一个,因为这三个链接都指向 SourceForge 上的同一个页面。

  4. 现在,在可用文件列表中,根据您当前的操作系统选择存档:ventoy-x.x.x-windows.zipventoy-x.x.x-linux.tar.gz

下载后,解压缩档案。

  • 在 Windows 上:右键单击存档 → “全部提取”。

  • 在 Linux 上:打开终端 → 运行:tar -xzf <archive-name>.tar.gz

您可以在网上搜索关于如何使用 Ventoy 的详细说明。

2.3 加载图像

进入主板的启动盘选择菜单。无论当前系统是什么,都需要重启。

在显示主板徽标之前和显示主板徽标时,反复按下该键以打开启动设备选择菜单(可能称为“启动菜单”或类似的名称)。

例如:在技嘉主板上,这通常是 F12 键。您的主板可能有所不同。

您可以从主板的启动屏幕或通过谷歌搜索找到主板的特定密钥。

在启动设备选择菜单中,选择您安装映像的启动设备。请注意,如果某个选项带有前缀“UEFI:...”,请务必选中它。否则,请选择不带前缀的选项。

镜像启动后,您将看到所谓的邀请。这是有关当前用户以及终端代表其启动的计算机的信息:

root@archiso ~ #

2.4 了解 UEFI 和 BIOS

了解主板使用的固件最简单、最直观的方法是查看其界面设计。进入启动菜单后,您将看到以下两种情况之一:

  • BIOS以粗糙的文本菜单形式出现,具有简单(古老)的界面。

  • UEFI提供了支持鼠标的现代图形界面。

这是一个相当重要的阶段,因为之后的一些安装步骤将依赖于此。一旦你决定了,我们就可以继续了。

但是,如果在前一阶段您可以选择从 UEFI 驱动器启动,那么这清楚地表明您的主板使用了此固件。

设置 Live 环境

首先,您需要设置环境。安装将在它的帮助下进行。

3.1 关于终端内的滚动(注)

可选步骤。

如果您在安装过程中遇到问题,查看之前的终端输出(向上滚动)有时会很有用。此功能并非开箱即用,但可以使用 tmux 实用程序实现:

tmux

值得注意的是,tmux 仅在启动后才会显示终端历史记录。如果您打算使用它,请立即启动它以保存完整的历史记录。

再次强调,这不是必需的,但知道这个实用程序可用会很有用。

3.2 设置互联网连接

安装过程需要下载软件包。因此,首先需要确保系统可以访问互联网。

注意:建议尽可能使用有线连接以避免稳定性问题。

3.2.1 有线连接

如果您使用有线连接,则无需采取任何其他措施。

您可以使用 ping 命令检查连接:

ping www.baidu.com

几秒钟就够了。如果数据包收到了,说明一切正常。使用“Ctrl + C”终止进程。

3.2.2 无线连接

3.2.2.1 连接网络

如果您使用 WiFi 访问互联网,请使用 iwctl 实用程序:

iwctl

显示已连接的 WiFi 模块列表:

device list

此时将出现“设备”表。您的 WiFi 模块应该会显示在此表的列表中。很可能它会是唯一一个。记住它的名称。

注意“Powered”列,其状态应为“on”。否则,您需要启用此模块:

device <module-name> set-property Powered on

如果遇到“操作失败”错误,请查看“解锁模块”。如果没有,请跳过此步骤。

3.2.2.2 解锁模块

使用“Ctrl + C”退出iwctl然后运行:

rfkill

此命令将列出您的设备,包括网络适配器、蓝牙和 WiFi 模块。

找到“wlan”类型的设备。

如果“HARD”参数显示为“blocked”,则表示 WiFi 模块已被硬件阻止。请在笔记本电脑上查找物理开关,或通过 百度 搜索。如果“SOFT”参数显示为“blocked”,则只需解除模块阻止即可:

rfkill unblock wlan

如果命令因错误“无效的缓冲区目标”而挂起,请使用“Ctrl + C”中断它。

重新检查模块状态:

rfkill

解锁后,WiFi模块将自动启用。返回无线连接设置的开始。

3.2.2.3 连接网络(续)

获取可用网络列表:

station <module-name> get-networks

连接到网络:

station <module-name> connect <network-name>

如果要求您输入密码,请不要拒绝。

如果程序没有显示其他消息,则表示连接成功。连接成功后,使用“Ctrl + C”组合键退出 iwctl。

检查连接:

ping google.com

按“Ctrl + C”完成该过程。

3.3 更新密钥和软件包

更新软件包数据库以便将来获得最新版本的软件包:

pacman -Sy

然后更新可信密钥数据库。这对于确认已安装软件包的完整性是必要的:

pacman-key --init

然后:

pacman-key --populate archlinux

3.4 同步日期和时间

为避免下载软件包时出现问题,需要在实时环境中正确配置时间。请检查日期和时间设置:

timedatectl

确保“系统时钟已同步”状态为“是”。如果不是,请安装 chrony 实用程序:

pacman -S chrony

运行 chrony:

systemctl start chronyd

(请注意正在启动的服务的名称,其名称与实用程序本身的名称略有不同)

重新检查时间同步状态:

timedatectl

准备磁盘

在开始准备磁盘之前,请确保磁盘上没有重要数据。

4.1 创建分区

目录就是文件夹。但在 Linux 中,通常不在此上下文中使用“目录”一词。因此,我们将文件夹称为“目录”。

当我们创建分区时,每个分区都会由某个目录表示,这些目录可以提供对该分区的磁盘空间的访问。

主要章节的帮助:

  • Root—— 包含系统文件的根分区,以及用于访问其他分区(即其他分区)的目录;

  • EFI(Boot)——包含系统引导加载程序;

  • Swap 是一个交换分区,在 RAM 溢出时用作额外的内存缓冲区(类似于 Windows 中的交换文件)。

  • 主页 — 用户的主目录。

需要哪些部分?

部分的数量取决于您的需求和偏好。

最低配置:

  • 对于具有 UEFI 的系统:仅限 EFI 和 Root。

  • 对于具有 BIOS 的系统:仅限 Root。

仅当您的磁盘空间确实不足(约 20-30 GB)或您知道自己在做什么时才使用它。

推荐且通用:

  • 对于具有 UEFI 的系统: EFI、Swap、Root、Home。

  • 对于具有 BIOS 的系统: Swap、Root、Home。

BIOS 和 UEFI 配置的区别在于,BIOS 不需要创建 EFI(引导)分区,因为引导加载程序可以直接放在根分区中。

您有权创建、格式化和挂载您认为自己需要的分区。

让我们开始吧。

查看现有磁盘和分区的信息:

lsblk

您的输出可能会有所不同,但您可能会得到类似这样的结果:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0  0  792.2M  1 loop  /run/archiso/airootfs
sda           8:0  1   14.8G  0 disk
├─sda1        8:1  1   14.8G  0 part
│ └─ventoy  254:0  0    1.1G  1 dm
└─sda2        8:2  1     32M  0 part
nvme0n1     259:0  0  238.5G  0 disk
├─nvme0n1p1 259:1  0  237.4G  0 part
└─nvme0n1p2 259:2  0      1G  0 part

让我们看一下我提供的输出的每一行作为示例:

loop0 sda ├─ sda1 │ └─ ventoy └─ sda2 nvme0n1 ├─ nvme0n1p1 └─ nvme0n1p2 

决定在哪个磁盘上安装系统,记住它的名称。

如果连接了多个磁盘,请再次确保对可以安装系统的磁盘进行进一步的操作,以避免丢失重要数据。

注意:如果您需要更多信息,请使用带有“-l”(列表)标志的 fdisk 命令:

fdisk -l

如果您发现由于连接的磁盘数量过多,导致您需要的信息超出了屏幕的顶部边框,请使用 fdisk 命令输出重定向到 less 实用程序:

fdisk -l  | less

这样,您就可以使用键盘上的箭头键或 Page Up/Page Down 键滚动查看命令输出。要退出,请使用 Ctrl + Z。

但我们主要使用 lsblk。所以让我们继续。

使用磁盘路径运行 fdisk 实用程序。路径通常以“/dev/”开头:

fdisk /dev/<disk-name>

例如,在我的情况下它是 /dev/nvme0n1。

管理 fdisk 需要使用一些命令,每个命令代表一个特定的字母。要查看可用命令的完整列表,请输入:

m

首次对磁盘进行分区时,请创建一个 GPT(GUID 分区表)类型的新分区表。为此,请输入:

g

建议的分区大小:

  • UEFI  — 512MB。

  • 交换分区 — 等于 RAM 大小。建议不少于 4 GB,但不超过 16 GB。

  • Root 权限 — 至少 20 GB。越多越好。我分配了 60 GB。

  • 主页 - 分配与根分区相同的空间,或者稍微少一点,或者分配所有剩余的空间(如果您不打算创建备份分区)。

除分配的内存量外,每个分区的分区创建算法都是相同的:

  1. 新建一个section,输入:n

  2. 只需按“Enter”即可将“分区号”保留为默认值。

  3. 将“First sector”保留为默认值,“Enter”。

  4. 对于“最后一个扇区”,请按以下格式指定分区大小:+<amount><GB/MB>

(分区大小可以按如下方式指定(例如):+512MB+60GB,等等)

因此,创建您需要的部分。

对于最后一段,您可以在最后阶段(“最后扇区”)分配剩余内存而无需指定大小。

如果 fdisk 指示存在现有签名(消息“分区 <num> 包含 <type> 签名”),则同意删除它:

y

完成剪切部分后,应用更改:

w

再次检查已完成的工作:

lsblk

4.2 格式化分区

下一步是将分区格式化为特定的文件系统类型。以下命令会将分区格式化为推荐的格式。如果您没有个人偏好,请按照说明操作。

如果您尚未创建以下任何部分,请跳过该命令。

将 EFI(启动)格式化为 FAT32:

mkfs.vfat /dev/<efi-partition>

格式化交换:

mkswap /dev/<swap-partition>

将根格式化为 EXT4:

mkfs.ext4 /dev/<root-partition>

对于所有其他分区,使用与根分区相同的格式。

4.3 挂载分区

您需要挂载创建的分区以使它们可用于实时环境。

原理是一样的:如果您尚未创建任何列出的部分,请跳过它。

为 EFI 分区创建目录“/boot”:

mkdir /mnt/boot

安装启动:

mount /dev/<boot-partition> /mnt/boot

swapon:

swapon /dev/<swap-partition>

mount:

mount /dev/<root-partition> /mnt/

为 Home 分区创建目录“/home”:

mkdir /mnt/home

mount:

mount /dev/<home-partition> /mnt/home

目前无需挂载“/backup”分区。您需要时再挂载。

重新检查已挂载的分区。现在,它们应该出现在“MOUNTPOINTS”列中:

lsblk

安装系统

5.1 安装软件包

作为最低要求,我推荐以下软件包:

pacstrap -K /mnt base base-devel linux linux-firmware xorg-server xorg-xinit efibootmgr grub os-prober sudo vim man bash-completion networkmanager konsole firefox

此命令将安装 Linux 内核、其运行所需的软件包以及与系统进行最低限度舒适交互的软件。

一些有用的软件包可以使一开始的工作更加轻松:

  • “neofetch”  ——帮助快速获取有关系统的信息。

  • “qview”  ——简单的照片浏览器。

  • “vlc”  ——经典视频播放器。

  • “audacious”  ——轻量级音频播放器。

  • “htop”  — 系统监控、进程管理。在终端中运行,模拟图形界面。其功能与 Windows 中的“任务管理器”几乎相同。

  • “libreoffice-fresh”  ——Office 套件(微软 Office 套件的替代品)。

  • “code”  ——Visual Studio Code。

(只需将您需要的包的名称添加到上面提供的“pacstrap”命令的末尾)

您可以通过在互联网上查找名称来安装其他软件包(当然,前提是它们在官方仓库中可用)。但是,如果您是第一次安装,则可以将安装限制在我建议的列表中。

Arch 充满了 Windows 上现有程序的独立类似物,以及相当多的官方和非官方端口。

5.2 创建分区配置文件

fstab 文件存储了磁盘的相关信息,这些信息是系统识别磁盘所必需的。生成该文件:

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

未来展望:有时,在安装或恢复后,您可能会遇到 Grub(引导加载程序)无法识别系统的情况(列表中缺少“Arch”项)。问题很可能出在 fstab 文件中。

可选:您可以检查文件配置并确保系统可以看到您创建的所有分区:

vim /mnt/etc/fstab

fstab 文件将在 Vim 文本编辑器中打开。确认一切就绪后,退出编辑器并在键盘上输入:

:q

然后按“Enter”。

5.3 过渡到已安装的系统

切换到系统环境(也称为“chroot”)是从实时环境迁移到我们刚刚安装的系统环境所必需的。运行:

arch-chroot /mnt

注意:您将处于已安装系统的环境中,这意味着只有您在第 5.1 点中指定的安装软件包可用。因此,如果您在启动时遇到系统找不到程序的情况,则可能是您遗漏了某些程序。您可以使用 pacman 安装必要的软件包:

pacman -S <package-name>

系统设置

6.1 系统时间

首先,设置您的时区:

ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime

<Region>和替换<City>为您相关的地区和城市。例如:/Europe/Moscow/Asia/Bishkek

如果您不确定具体要输入什么,请查看所有可用区域:

ls /usr/share/zoneinfo

此命令将允许您查看“zoneinfo”目录,其中包含代表区域的目录。

要查看特定区域内所有可用的城市,请在“zoneinfo”目录中输入其名称:

ls /usr/share/zoneinfo/<Region>

将显示特定区域内所有可能的城市。

生成“adjtime”文件来同步硬件时间:

hwclock --systohc

6.2 系统本地化

注意:我建议您只使用英语界面语言。Linux 上的大部分内容都是英文的当然,您可以稍后添加任何其他键盘布局语言。

通过在文件“locale.gen”中取消注释所需语言及其编码的行来安装语言。对于编辑文本文件,我建议使用 Vim:

vim /etc/locale.gen

该文件将在 Vim 编辑器中打开。输入反斜杠即可切换到文件搜索模式:

/

通过输入名称来找到所需的系统语言。例如,英语是“en_US”。对于英语,请找到以下行:“#en_US.UTF-8 UTF-8”。

找到后,按“Enter”。

现在光标位于所需行,进入编辑模式。按下键盘上的:

i

删除所需语言配置行前的井号“#”。它应该像这样:“en_US.UTF-8 UTF-8”。

按“Esc”。

要保存更改并退出编辑器,请在键盘上输入:

:wq

按“Enter”。

打开以下文件:

vim /etc/locale.conf

该文件将为空。切换到编辑模式:

i

对于英语,请输入以下内容:

LANG=en_US.UTF-8

键入以保存并退出编辑器:

:wq

按“Enter”。

生成语言环境,以便系统获取设置:

locale-gen

6.3 启用网络管理器

将 NetworkManager 添加到启动中,以便重启后可以访问 Internet:

systemctl enable NetworkManager

6.4 设置引导加载程序

安装 GRUB:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

然后,进行配置:

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

6.5 设置账户

设置帐户包括指定主机名、Root 用户的密码,以及创建具有 Root 权限的第二个用户。原则上,创建第二个用户并非必需,但从系统安全的角度来看,这是一个很好的做法。

6.5.1 主机名公告

接下来,您需要设置主机名。换句话说,就是您的计算机在本地网络上的名称:

vim /etc/hostname

切换到编辑模式:

i

现在输入您喜欢的计算机名称。例如,如果您是个人使用,可以将其称为“台式机”或“PC”。为了方便起见,建议您使用简洁的名称。

然后保存并退出:

:wq
6.5.2 设置超级用户密码

用于设置Root用户密码:

passwd <password>

想一个密码。如果这是你的家用电脑,你可以设置一些简单的密码。

6.5.3 创建第二个用户

现在让我们添加一个新用户,我们将大部分时间都坐在他下面。给他想个名字。这里也一样,一切都取决于你的想象力:

useradd -m -G wheel -s /bin/bash <name>

如果你的想象力实在太差的话,你可以称之为“用户”。

在“passwd”后输入您的用户名来设置密码:

passwd <name>

您将需要经常输入它,请记住这一点。

现在,您需要为您的用户配置可用的权限。输入:

EDITOR=vim visudo

向下滚动并找到以下行:“#%wheel ALL=(ALL:ALL) ALL”。

通过删除井号“#”来取消注释此行。

保存并退出:

:wq

6.6 安装登录管理器

登录管理器负责在用户登录系统时(例如,重启后)对用户进行身份验证。

有许多适合各种品味和风格的登录管理器,并且像 Linux 上的几乎所有东西一样,它们面向根据需要进行额外的灵活定制。

让我们安装最流行和“经典”的登录管理器之一 - SDDM:

pacman -S sddm

安装 SDDM 后,将其添加到启动:

systemctl enable sddm

6.7 安装图形环境

您选择的图形环境会直接影响您的用户体验:界面设计、功能和性能。市面上既有功能齐全的图形环境,也有窗口管理器。

  • 图形环境 - 提供现成的界面和预装的程序集。通常相当于“拿来就用”。对于初学者来说,这是一个便捷的选择。

  • 窗口管理器 - 提供纯图形环境,开箱即用,仅提供窗口管理功能。除运行所需的依赖项外,无需安装其他软件。始终需要仔细定制以满足您的需求。允许您几乎从零开始定制系统的外观和图形功能。

我建议考虑选择图形环境。

将来,如果您想要更多的东西(或者......相反,更少的东西),您可以切换到某个窗口管理器。

KDE Plasma 是最受欢迎且灵活的图形环境之一。安装简单,无需进一步研究配置文件即可开始使用。

pacman -S plasma

6.8 重启

恭喜!剩下的就是最简单的部分了。

退出 chroot:

exit

重新启动进入已安装的系统:

reboot

系统启动后,您将看到登录管理器,需要在其中输入您的用户(我们称之为第二个用户)的密码。登录并享受。

要打开终端(在我们的例子中我们安装了 Konsole),请按键盘上的 Win 并输入其名称,类似于 Windows 中的“开始”菜单。

首次使用 Arch Linux 的一些注意事项:

  • Arch Wiki、Reddit 和论坛。即使官方Wiki乍一看似乎很复杂,也不要忽视它。不要羞于在论坛和社区上寻找解决方案并提问。如果您在互联网上其他地方找不到问题的解决方案,那么 Reddit 可能是您在 Arch Wiki 之后首先想到的地方之一。

  • 终端。不要害怕使用终端。没错,如果你以前没有任何经验,一开始可能会有点困难。慢慢习惯吧。因为当你需要在图形界面之外做点什么的时候,你会感觉像一只在迷雾中摸索的刺猬。如果你想进一步学习 Linux,那么一直坐在 GUI 前肯定不行。

  • 软件包管理器。我建议您在安装后立即熟悉软件包管理器 pacman 和 yay。pacman 允许您从 Arch 官方仓库下载软件包。yay 提供对用户仓库(即所谓的“AUR”)的访问。pacman 中没有的软件包很可能在 yay 中找到。同时,请熟悉使用 CMake 编译程序,但如有必要,您可以稍后再学习。

  • 做笔记。使用 Obsidian 或 Notion(或其他工具)来记录你在 Linux 世界中的冒险经历。更具体地说,就是方便地写下问题的解决方案。相信我,这不仅能显著提高你学习 Arch 的速度,还能显著提高你学习 Linux 的速度。有时候,从你用自己理解的语言写的笔记中找到解决方案,然后沿着已经解开的思路继续学习,比再次翻阅已经找到的信息来解决问题要快得多。

  • 备份。Arch本身很稳定,但图形环境和窗口管理器(以及通常安装的软件)有时会带来麻烦,尤其是在刚开始学习使用它们的时候。不妨试试 TimeShift 实用程序。它非常易于使用,并且允许您创建快照——系统的快速备份副本(快照)。这非常有用。相信我,一开始您很可能会因为“搞砸了”而频繁地重新安装系统。诚然,有时 TimeShift 在恢复系统快照后会留下一些“污垢”——那些您决定“回滚”的更改的残留。因此,除了 TimeShift 之外,还请尝试使用 rsync 实用程序。它允许您创建系统的完整备份。实际上,创建备份只需将整个根目录“/”复制到某个僻静的地方,并在必要时使用当前系统格式化磁盘,然后将备份副本复制回来。 Rsync 可以让你比常规复制(例如使用 cp 命令)更快地完成此操作,并且还提供了其他选项来简化复制文件的过程(排除文件、忽略现有文件等)。简而言之,定期备份就是你的一切。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/100351.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/100351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习笔记(五)--Linux基础开发工具使用

在Linux中软件包通常是指一个包含了软件程序、元数据、依赖关系信息和安装脚本的压缩文件​​。因为在Linux上如果没有软件包管理器,那么想要下载软件会非常麻烦,不仅需要自己去手动编译和安装,而且难以卸载和管理,所以软件包的出现解决了这些问题.软件包一般是由程序文件(编译…

数据结构(陈越,何钦铭) 第十讲 排序(下)

10.1 快速排序 10.1.1 算法概述10.1.2 选主元10.1.3 子集划分10.1.4 算法实现10.2 表排序 10.2.1 算法概述10.2.2 物理排序10.3 基数排序 10.3.1 桶排序10.3.2 基数排序10.3.3 多关键字的排序10.4 排序算法的比较

vue 使用print.js 打印文本,HTML元素,图片,PDF

vue 使用print.js 打印文本,HTML元素,图片,PDF 安装 npm install print-js --save示例 <template><div class"print-example"><h2>Print.js 打印示例</h2><!-- 打印区域 --><div id"printableArea" class"printable…

jenkins审批机器人功能概述-Telegram版

Jenkins审批机器人 - 功能概述 代码链接&#xff0c;私聊可得 项目简介 Jenkins审批机器人是一个集成Jenkins CI/CD流程的自动化审批系统&#xff0c;通过Telegram机器人提供便捷的发布审批功能。该系统支持多环境部署审批、用户权限管理、构建结果通知等完整的DevOps审批流程。…

Rust : 关于解引用“*”

关于解引用*操作符&#xff0c;谨供参考&#xff01; 一、主要代码 use std::ops::Deref; fn main() {model_1();model_2();model_3();model_4();model_5();model_6();model_7();model_8();model_9(); }二、*操作符与常见的引用和解引用 fn model_1(){let reference:&St…

【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程 一、前言 1. 背景 众所周知&#xff0c;最新搭载澎湃OS和鸿蒙OS的平板都内置了PC级WPS&#xff0c;办公效率直接拉满&#xff08;板子终于从“泡面盖”升级为“生产力”了&#xff09;。但问题来了&#xff1a;如果不是这…

从循环到矩阵运算:矢量化加速机器学习的秘诀

矢量化实现全解析&#xff1a;从原理到实战 在学习数据科学、机器学习和深度学习的过程中&#xff0c;我们经常会听到一个高频词——矢量化&#xff08;Vectorization&#xff09;。很多库的官方文档、教程里也不断强调“要尽量使用矢量化操作&#xff0c;而不是显式循环”。那…

大数据毕业设计-大数据-基于大数据的热门游戏推荐与可视化系统(高分计算机毕业设计选题·定制开发·真正大数据)

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

从零到一:用 Qt + libmodbus 做一个**靠谱**的 Modbus RTU 小工具(实战总结)

文章目录从零到一&#xff1a;用 Qt libmodbus 做一个**靠谱**的 Modbus RTU 小工具&#xff08;实战总结&#xff09;你会得到什么快速背景&#xff1a;为什么是 Modbus RTU&#xff1f;协议速查&#xff08;够用不啰嗦&#xff09;工程结构与 UI 组织连接“三板斧”&#xf…

使用Python创建本地Http服务实现与外部系统数据对接

在Python 3.10中创建一个能够处理GET和POST请求的本地HTTP服务器&#xff0c;并提供一个默认的 index.html 页面是完全可行的。Python的标准库中的 http.server 模块虽然简单&#xff0c;但通过一些自定义扩展可以满足这个需求。 下面我将提供一个实现方案&#xff0c;它包含一…

了解篇 | StarRocks 是个什么数据库?

今天简要介绍一下StarRocks 这个强大的数据库。注意&#xff1a;本文章内容仅供个人学习&#xff0c;不包含任何推荐性质。StarRocks&#xff08;原名 Doris&#xff09;是一个高性能、全场景的MPP&#xff08;大规模并行处理&#xff09;分析型数据库。它专为极速的多维联机分…

SSL部署完成,https显示连接不安全如何处理?

在部署 SSL 后&#xff0c;如果浏览器仍然显示 “连接不安全” 或 “Not Secure”&#xff0c;通常是由以下几种原因导致的。针对每种可能的原因和问题&#xff0c;以下提供了详细的排查和解决方案。 1. 排查问题的可能原因 1.1 SSL 证书未正确安装 如果 SSL 证书安装不完整或…

LeetCode热题100--105. 从前序与中序遍历序列构造二叉树--中等

1. 题目 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,n…

【WitSystem】详解JWT在系统登录过程中前端做了什么事,后端又做了什么事?

要理解 JWT&#xff08;JSON Web Token&#xff09;登录流程中前端与后端的职责分工&#xff0c;需先明确 JWT 的核心定位&#xff1a;它是一种无状态的身份认证令牌&#xff0c;用于替代传统 Session 认证&#xff0c;解决跨服务、跨域登录的问题。其流程本质是“后端生成令牌…

MongoDB 在线安装-一键安装脚本(CentOS 7.9)

1. 脚本概述本脚本用于在 CentOS 7.9 系统上在线安装 MongoDB&#xff0c;自动处理端口占用和重复安装问题&#xff0c;并创建管理员用户 test8&#xff0c;密码 test123。2. 功能停止并关闭防火墙检查 27017 端口占用并结束进程如果已安装 MongoDB&#xff0c;卸载重装配置 Mo…

树形数据结构之树状基础-算法赛

今天给分享的是一道算法决赛的题目&#xff0c;这道题目的综合要求比较高&#xff0c;希望大家可以好好理解&#xff0c;同时这道题用到的是树状树形结构的有关知识。可以用这几天学的相关内容结合起来。问题描述给定两个长度为 N的排列 A 和 B。若一对二元组下标 (i,j) 满足以…

Jenkins 构建清理策略:自带功能 vs Discard Old Build 插件,全场景实操指南

前言&#xff1a;在 Jenkins 持续集成过程中&#xff0c;构建记录、工作空间、产物包会不断积累&#xff0c;既占用磁盘空间&#xff0c;也会让构建历史变得臃肿。Jenkins 自带的“丢弃旧的构建”功能和 Discard Old Build 插件&#xff0c;是两种常见的构建清理方案。本文将详…

Leetcode | Hot100

文章目录两数之和字母异位词分组最长连续序列移动零盛水最多的容器三数之和接雨水无重复字符的最长子串找到字符串中所有字母异位词和为 K 的子数组滑动窗口最大值最小覆盖子串最大子数组和合并区间轮转数组除自身以外数组的乘积缺失的第一个正数矩阵置零螺旋矩阵旋转图像搜索二…

【论文阅读】Uncertainty Modeling for Out-of-Distribution Generalization (ICLR 2022)

论文题目&#xff1a;Uncertainty Modeling for Out-of-Distribution Generalization 论文来源&#xff1a;ICLR 2022 论文作者&#xff1a; 论文链接&#xff1a;https://arxiv.org/pdf/2202.03958 论文源码&#xff1a;https://github.com/lixiaotong97/DSU ​ 一、摘要…

分布式系统单点登录(SSO)状态管理深度解析:从Cookie+Session到JWT的演进之路

分布式系统单点登录(SSO)状态管理深度解析&#xff1a;从CookieSession到JWT的演进之路作者&#xff1a;默语佬 | CSDN博主 在分布式微服务架构盛行的今天&#xff0c;单点登录已成为企业级应用的标准配置。本文将深入探讨SSO状态管理的技术演进&#xff0c;从传统的CookieSess…