![从 USB 驱动器上的持久 Linux 安装到内部磁盘](https://linux22.com/image/176100/%E4%BB%8E%20USB%20%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%E7%9A%84%E6%8C%81%E4%B9%85%20Linux%20%E5%AE%89%E8%A3%85%E5%88%B0%E5%86%85%E9%83%A8%E7%A3%81%E7%9B%98.png)
我一直在 U 盘上坚持使用 Linux。我一直在考虑最终将其安装到内部驱动器上。
我想知道是否有任何方法可以安装到驱动器并保留 USB 记忆棒上存在的应用程序及其数据。
深入挖掘后,我发现持久性 Linux 只是将所有已安装的文件存储在一个单独的分区中。是否有一种自动方式将这些应用程序和数据获取到我的内部驱动器?如果没有,那么选择正确的文件进行手动复制和粘贴会有多困难?
更新:我在 USB 驱动器上使用 Ubuntu 20.04。软件主要来自 apt 或 flatpak。我之前没有指定这些,因为理想的解决方案可能是在系统级别工作的(将诸如/etc
from 之类的目录casper-rw
直接复制到安装目标,因为它已经将这些目录从 ISO 映像复制到安装目标)
答案1
如果您使用发行版的标准包管理器安装了应用程序,则应该只获取当前安装的所有包的列表。当然有一个命令行工具可以用来将这样的列表通过管道传输到文件中:
- 对于基于 RPM 的发行版,
rpm -qa >package-list.txt
通常可以工作 - 对于使用
.deb
软件包的发行版(Debian、Ubuntu 及其衍生版本),dpkg --get-selections >package-list.txt
应该可以工作。
然后,一旦您进行了常规安装,请浏览该列表并使用程序包管理器选择那些相同的程序包进行安装,您将以完全相同的方式安装完全相同的软件。
如果您通过自己从源代码编译或使用第三方安装程序来安装软件,则您将自行处理它们。 如果软件专门安装在 或 中/usr/local
,则/opt
您很可能只需将应用程序的目录子树(甚至整个/opt
或/usr/local
子树)从 USB 安装复制到内部安装即可。 但是,如果安装程序通过将文件添加到系统目录来将 MIME 类型注册到桌面环境,您可能也需要重现这些类型。
对于数据来说,这正是为什么概念用户主目录存在:您应该能够例如zip
或tar
整个/home
目录并将其全部解压到新安装中。您也可以将它们直接从一个安装复制到另一个安装,但根据基于 USB 的安装如何实现持久性,可能会或可能不会出现一些复杂情况。
(你没有说哪个 Linux 发行版你正在使用,所以很难给出比这更具体的建议。)