在另一个目录(或等效目录)中安装 deb 包

在另一个目录(或等效目录)中安装 deb 包

我有一台上网本,配有一个微型硬盘和一个外置硬盘。它运行的是 Ubuntu。我希望能够将一些软件包安装到该外置硬盘上,这样当硬盘未插入时,上网本仍能使用,只是缺少一些功能。它没有正是这样,我只想将一些已安装的库和程序卸载到便携式硬盘上。换句话说,仅仅从外部驱动器安装一些目录是行不通的,因为我至少需要一些基本程序才能正常运行。

以下是我考虑过的一些事情,但无法找到足够的信息来真正了解它们是否可行,或者如何去做。对于如何做这些事情或其他方法的评论,我们将不胜感激。

  1. 如果我使用 dpkg install 的 --root=/media/external 开关,然后将 /media/external/ 添加到我的系统路径,我可以执行这样的操作吗?
  2. 如果我为 dpkg 创建某种包装器,将包安装到备用根目录(--root=/media/external),然后在内部文件系统中为刚刚安装在外部文件系统上的每个文件创建符号链接,会怎么样?
  3. 那么如果我将 chroot 到外部驱动器怎么样?
  4. 使用 LVM 怎么样?

答案1

您可以使用- 根将软件包安装到另一个目录中,但您无法从那里使用大多数程序,因为大多数程序都在固定位置(如 /etc)查找某些文件。此选项适用于将软件包安装到无盘客户端的 NFS 根目录中的情况。

也许你可以使用类似联合金融服务合并两个文件系统。

答案2

如果您想要一个简单的答案,而又不想在 debian 软件包管理上费尽心思,只需使用 mount 和 symlinks 即可。您可以使用 /etc/fstab 安装外部驱动器,并创建指向该驱动器的符号链接。注意:您不应该盲目地进行符号链接,在更改某些内容之前请务必确认 ;)

一个相当安全的建议是将您的 /tmp 放入 ramfs(无论如何您都应该在许多带有 SSD 的上网本上执行此操作)。

您确定您的程序需要内部驱动器上的最大空间吗?您是否使用 xdiskusage 之类的工具检查过?

相关内容