升级期间 aptitude 将文件存储在哪里?

升级期间 aptitude 将文件存储在哪里?

我支持另一州的一台运行 Ubuntu 的笔记本电脑(因此我无法物理访问它)。它是一台 EeePC,有两个内部驱动器:一个带有根文件系统的 4GB 闪存驱动器,以及一个带有 /home 分区(以及大量可用空间)的更大(~12GB)驱动器。用户尝试升级到 11.10,但升级失败,因为根分区没有足够的可用空间来执行升级。

我记得以前在笔记本电脑上遇到过类似的问题,它只有一个物理驱动器,但分区方案考虑不周;我想我只是将一个目录从一个太小的 rootfs 分区符号链接到一个更大的分区。在这种情况下,我认为最好的解决方案是将 Ubuntu 想要用来存储其下载文件的任何目录绑定挂载到更大的驱动器上。

  • 哪个目录(或哪些目录)是需要“移动”到更大的驱动器的重要目录?

  • 如果我只需绑定挂载一个目录就可以了,那么我是否只需要在安装开始时执行一次,或者是否需要将绑定挂载添加到 fstab(即因为重启后仍然需要这些文件,所以绑定挂载需要持久)?

  • 有没有更简单或更好的方法来完成升级?(现在既不能全新安装也不能重新分区)

答案1

那么,apt、aptitude 和您使用的任何其他软件包管理系统存储下载软件包的目录是/var/cache/apt/archives。如果您将这些文件复制到另一台电脑的同一缓存文件夹中,您就不必再次从互联网上下载它们。

其余部分我不太清楚。如果你能更改或添加更多内容,我可以在这里详细说明。抱歉,伙计。

答案2

超过一半的小硬盘都在 /usr 中,因此我只需将 /usr 移动到(未加密的)/home 分区,然后将 /home/usr 绑定挂载到 /usr,如下所示:

sudo su -
mv /usr /home/
mkdir /usr
mount --bind /home/usr /usr
echo "/home/usr /usr bind defaults,bind 0 0" >> /etc/fstab

sudo 位于 /usr/bin 中,因此最好先以 root 身份登录,这样如果出现问题,您就不会因为没有 root 会话而陷入困境(在 mv 操作期间,/home/usr 由 root 拥有,具有 700 权限)。mount、ls 和 mkdir 都在 /bin 中。

如果你尝试这样做,一定要准备好备用计划:我数不清有多少事情可以出错了。另外,如果我要再做一次,我可能会尝试复制首先将 /usr 放入 /home(可能使用 rsync、cpio 或 tar 之类的东西来保留文件属性?)并在删除原始 /usr 之前测试绑定挂载。但这次我很幸运,一切都顺利。

答案3

通过在 dash 中搜索来打开终端,然后在出现提示后user@computer:~$输入确切地

sudo apt-move path-to-your-12GB-device

当 sudo 提示输入密码时,输入您的密码。密码不会显示(甚至不会显示星号)。再次收到user@computer:~$提示后,您就可以开始了。

相关内容