我的操作系统是 Ubuntu。我尝试执行sudo apt-get install texlive-fonts-extra
,但出现错误:
Setting up linux-image-3.2.0-27-generic (3.2.0-27.43) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
当我输入一个进入接二连三地,它出现在外壳上:
Could not chdir to /:No such file or directory at /var/lib/dpkg/info/linux-image-3.2.0-27-generic.postinst line 235`.
dpkg: error processing linux-image-3.2.0-27-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.2.0-29-generic (3.2.0-29.46) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
然后我看了一下第235行,它是这样的:
chdir ($cwd) or die "Could not chdir to $params{'New Dir'}:$!";
cwd 在该行上方的行中定义为:
chomp($cwd = `pwd`);
我找不到错误发生的原因。
我尝试了 Ubuntu 论坛中提供的所有内容,例如:
sudo dpkg --configure -a
sudo apt-get -f install
sudo dpkg --configure initramfs-tools
它们根本不起作用。(要么出现与上图相同的错误,要么例如package initramfs-tools is already installed and configured
)
如果有人能给我一点提示我将不胜感激。
先感谢您!
答案1
您是否使用了加密的主目录?您可以尝试在执行之前 cd 到其他目录(即 /)sudo apt-get ...
我猜测,某些软件包脚本试图显式地 cd 到您执行程序的目录,但被禁止。当目录位于 fuse 卷(即加密的主目录)上时,可能会出现这种情况,因为 fuse 进程甚至可以拒绝 root 的访问。
当某些环境变量($CWD)在 sudo 调用中未正确保存时,它也可能与融合和加密无关……或类似情况。
无论如何,cd /
在执行 apt-get 之前尝试一下,看看会发生什么。