昨天我apt-get upgrade
在 Debian/testing 上做了测试并破坏了一个 php5 包。我什至尝试用 和 删除和apt
清除dpkg clean apt cache
。当再次干净安装时,它会失败并显示以下错误消息:
Setting up libapache2-mod-php5 (5.3.6-12) ...
readlink: invalid option -- 'm'
BusyBox v1.17.1 (Debian 1:1.17.1-10) multi-call binary.
Usage: readlink [-fnv] FILE
Display the value of a symlink
Options:
-f Canonicalize by following all symlinks
-n Don't add newline
-v Verbose
ucf: Unable to determine The new file
dpkg: error processing libapache2-mod-php5 (--configure):
subprocess installed post-installation script returned error exit status 1
有什么想法可以解决这个 Debian 问题吗?
答案1
您不小心更改/bin/readlink
为 busybox,而不是 GNU coreutils 版本。
这会导致大量破损。您需要恢复 GNU coreutils。
尝试
# aptitude reinstall coreutils
答案2
看起来安装后脚本已损坏。编辑/var/lib/dpkg/info/libapache2-mod-php5.postinst
并查找行引用readlink
,看看可以采取哪些措施来修复它。
之后再次运行apt-get upgrade
。
答案3
我最近在 Fusion 7.1.1 上安装 Kali 1.1.0 VM 时遇到了同样的问题。
这就是我解决的问题:
apt-update
aptitude reinstall coreutils
mv /usr/bin/readline /usr/bin/readline.old (leaves GNU /bin/readline as available, trash once completed)
update-grub
sed -i 's/BUSYBOX=y/BUSYBOX=n/' /etc/initramfs-tools/initramfs.conf
update-initramfs -u
reboot
我同意 jmtd 的观点,编辑帖子似乎既矫枉过正又笨拙。