我从现场的Ubuntu CD启动了我的系统,我需要解决一些包问题.我已经安装了我的硬盘,现在我想运行apt-get,好像我正常启动一样.即更改apt-get的工作目录,以便它可以在我的硬盘上运行.我以前做过这个,但我不记得语法了.我认为这只是一些旗帜,像这样:
apt-get --root-directory=/mnt/partition1 install....
但我只得到"命令行选项...不理解".有任何想法吗?
这应该工作:
sudo apt-get -o Dir=/media/partitioni1 update
chroot/mnt/partition1
如果您的系统使用多个磁盘分区,您可能必须安装其中一些以使程序包系统正常工作(10年前,当硬盘开始变得太大而无法进行原始物理备份时,我停止设置多个分区).
如果您在该位置尚未使用可用的debian系统,则无法使用此功能. - akostadinov
如果你在chrooting时无法让包装系统工作,也许它太混乱了,再也不能再被信任 - 根据我的经验,将它恢复生机的努力很少付出代价.如果发生这种情况,请高兴您仍然可以访问您的HD,备份您的数据并执行干净的重新安装.
其他答案的一些相关评论:
apt-get -o RootDir =/tmp/test_apt设置(几乎)所有路径都在不同的根目录中.btw在正在运行的系统上,如果你复制/ etc/apt,/ usr/lib/apt和mkdir -p usr/lib等var/cache var/lib/dpkg var/lib/apt/lists/partial var/cache/apt/archives/partial,最后触摸var/lib/dpkg/status,然后apt将在该根目录中运行.如果添加-o Debug :: NoLocking = 1选项,它甚至可以作为非root用户使用.nolock选项是必需的,因为我找不到在不同的根目录中设置锁文件的方法. - akostadinov
工作意味着使用搜索和下载包以及此类操作.实际上,如果某些基本包装尚未安装,则无法进行安装.如果目标实际上是出于任何原因在新根目录中安装软件包,则debootstrap可以提供帮助. - akostadinov