我有一个可启动 Arch Linux 的 32GB USB 驱动器。每当我尝试在驱动器上保存文件(使用 wget)时,它都会在关闭/启动时被删除/清理。
例如,使用以下方式保存文件/root
:
wget http://example.com/myfile.txt
然后使用关机或重新启动,该文件将不再存在于驱动器上。
如何防止这种情况发生?
如果我没有遵循使用 Linux 发行版(在本例中为 Arch Linux)的标准,请通知我。我仍在学习!
输出df /root
:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/arch_airootfs 33027952 852256 32159312 3% /
输出lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
|-sda1 8:1 0 1.5G 0 part
|-sda2 8:2 0 296.6G 0 part
sdb 8:16 1 29.8G 0 disk
|-sdb1 8:17 1 31M 0 part
loop0 7:0 0 286.6M 1 loop /run/archiso/sfs/airootfs
loop1 7:1 0 32G 1 loop
|-arch_airootfs 254:0 0 32G 0 dm /
loop2 7:2 0 256M 0 loop
|-arch_airootfs 254:0 0 32G 0 dm /
请注意,298.1G 是 (Windows) 硬盘及其分区(sda、sda1、sda2)的大小,sdb 代表实际的 USB 驱动器。
答案1
根文件系统/dev/mapper/arch_airootfs
是从文件安装 /run/archiso/sfs/airootfs
。/run
是内存中的文件系统。这里有一个实时系统,它在启动时将系统映像加载到内存中。您将文件保存到内存副本中,而不是磁盘上。
这种类型的设置在实时系统中很常见,因此无论您在实时系统上搞砸什么,或者您操作什么私人数据,一旦重新启动,您就会得到一个干净的系统。
一些实时系统支持持久存储,可以在特定目录中,也可以通过允许存储对原始图像的修改的覆盖层。但阿奇索好像没有这个功能。
如果您想要持久存储,您可以通过在 USB 记忆棒上创建分区并安装它来实现。但要小心,不要破坏实时安装。由于不支持持久存储作为一项功能,因此添加它可能并不完全简单。
获得具有持久存储的系统的最简单方法是将某些 Linux 发行版“正确”安装到 USB 记忆棒上。