例如当我“sudo apt-get install libmemcache0”时,我得到:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libmemcache0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up linux-image-2.6.24-16-xen (2.6.24-16.30) ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.24-16-xen
Could not find postinst hook script [update-grub].
Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'
dpkg: error processing linux-image-2.6.24-16-xen (--configure):
subprocess post-installation script returned error exit status 2
Setting up linux-image-2.6.24-24-386 (2.6.24-24.61) ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.24-24-386
Could not find postinst hook script [update-grub].
Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'
dpkg: error processing linux-image-2.6.24-24-386 (--configure):
subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
linux-image-2.6.24-16-xen
linux-image-2.6.24-24-386
E: Sub-process /usr/bin/dpkg returned an error code (1)
我能做些什么?
我正在使用 linode,没有使用 grub。
答案1
作为使 apt 正常运行的临时解决方案,您可以调整kernel-img.conf
文件,使系统不尝试运行update-grub
。这应该允许安装后脚本顺利完成而不会出现错误。它显然不会更新引导加载程序或切换系统以使用较新的内核。由于您使用的是特定于 xen 的内核,因此您几乎肯定不想切换到标准 386 内核。
#/etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
#postinst_hook = update-grub
#postrm_hook = update-grub