通过安装 Linux 新内核,上个月给我带来了一些无人值守升级的问题
# cat /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Log started: 2018-05-02 00:33:09
Lettura dei changelog...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
Preconfigurazione dei pacchetti in corso
Selezionato il pacchetto linux-image-3.16.0-6-amd64 non precedentemente
selezionato.
(Lettura del database... 207164 file e directory attualmente installati.)
Preparativi per estrarre .../linux-image-3.16.0-6-amd64_3.16.56-
1_amd64.deb...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
Estrazione di linux-image-3.16.0-6-amd64 (3.16.56-1)...
Preparativi per estrarre .../linux-image-
amd64_3.16+63+deb8u2_amd64.deb...
Estrazione di linux-image-amd64 (3.16+63+deb8u2) su (3.16+63+deb8u1)...
Preparativi per estrarre .../linux-libc-dev_3.16.56-1_amd64.deb...
Estrazione di linux-libc-dev:amd64 (3.16.56-1) su (3.16.51-3+deb8u1)...
Configurazione di linux-image-3.16.0-6-amd64 (3.16.56-1)...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.16.0-6-amd64
/etc/kernel/postinst.d/zz-update-grub:
/usr/bin/gettext: 1: /usr/bin/gettext: %!PS-Adobe-3.0: not found
/usr/bin/gettext: 2: /usr/bin/gettext: Syntax error: word unexpected
(expecting ")")
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code
2
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-
image-3.16.0-6-amd64.postinst line 634.
dpkg: errore nell'elaborare il pacchetto linux-image-3.16.0-6-amd64 (--
configure):
il sottoprocesso installato script di post-installation ha restituito lo
stato di errore 1
dpkg: problemi con le dipendenze impediscono la configurazione di linux-
image-amd64:
linux-image-amd64 dipende da linux-image-3.16.0-6-amd64; comunque:
Il pacchetto linux-image-3.16.0-6-amd64 non è ancora configurato.
dpkg: errore nell'elaborare il pacchetto linux-image-amd64 (--configure):
problemi con le dipendenze - lasciato non configurato
Configurazione di linux-libc-dev:amd64 (3.16.56-1)...
Si sono verificati degli errori nell'elaborazione:
linux-image-3.16.0-6-amd64
linux-image-amd64
Error in function:
Log ended: 2018-05-02 00:36:46
Log started: 2018-05-05 13:26:51
Lettura dei changelog...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
(Lettura del database... 210939 file e directory attualmente installati.)
Preparativi per estrarre .../libmad0_0.15.1b-8+deb8u1_amd64.deb...
Estrazione di libmad0:amd64 (0.15.1b-8+deb8u1) su (0.15.1b-8)...
Configurazione di linux-image-3.16.0-6-amd64 (3.16.56-1)...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
vmlinuz(/boot/vmlinuz-3.16.0-6-amd64
) points to /boot/vmlinuz-3.16.0-6-amd64
(/boot/vmlinuz-3.16.0-6-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-6-amd64.postinst line 263.
initrd.img(/boot/initrd.img-3.16.0-6-amd64
) points to /boot/initrd.img-3.16.0-6-amd64
(/boot/initrd.img-3.16.0-6-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-6-amd64.postinst line 263.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.16.0-6-amd64
/etc/kernel/postinst.d/zz-update-grub:
/usr/bin/gettext: 1: /usr/bin/gettext: %!PS-Adobe-3.0: not found
/usr/bin/gettext: 2: /usr/bin/gettext: Syntax error: word unexpected
(expecting ")")
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code
2
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-
image-3.16.0-6-amd64.postinst line 634.
dpkg: errore nell'elaborare il pacchetto linux-image-3.16.0-6-amd64 (--
configure):
il sottoprocesso installato script di post-installation ha restituito lo
stato di errore 1
dpkg: problemi con le dipendenze impediscono la configurazione di linux-
image-amd64:
linux-image-amd64 dipende da linux-image-3.16.0-6-amd64; comunque:
Il pacchetto linux-image-3.16.0-6-amd64 non è ancora configurato.
dpkg: errore nell'elaborare il pacchetto linux-image-amd64 (--configure):
problemi con le dipendenze - lasciato non configurato
Configurazione di libmad0:amd64 (0.15.1b-8+deb8u1)...
Elaborazione dei trigger per libc-bin (2.19-18+deb8u10)...
Si sono verificati degli errori nell'elaborazione:
linux-image-3.16.0-6-amd64
linux-image-amd64
Error in function:
Log ended: 2018-05-05 13:28:47
Log started: 2018-05-06 10:01:20
Lettura dei changelog...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
Preconfigurazione dei pacchetti in corso
(Lettura del database... 210939 file e directory attualmente installati.)
Preparativi per estrarre .../tzdata_2018e-0+deb8u1_all.deb...
Estrazione di tzdata (2018e-0+deb8u1) su (2018d-0+deb8u1)...
Configurazione di tzdata (2018e-0+deb8u1)...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
Current default time zone: 'Europe/Rome'
Local time is now: Sun May 6 10:01:48 CEST 2018.
Universal Time is now: Sun May 6 08:01:48 UTC 2018.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
Configurazione di linux-image-3.16.0-6-amd64 (3.16.56-1)...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
vmlinuz(/boot/vmlinuz-3.16.0-6-amd64
) points to /boot/vmlinuz-3.16.0-6-amd64
(/boot/vmlinuz-3.16.0-6-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-6-amd64.postinst line 263.
initrd.img(/boot/initrd.img-3.16.0-6-amd64
) points to /boot/initrd.img-3.16.0-6-amd64
(/boot/initrd.img-3.16.0-6-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-6-amd64.postinst line 263.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.16.0-6-amd64
/etc/kernel/postinst.d/zz-update-grub:
/usr/bin/gettext: 1: /usr/bin/gettext: %!PS-Adobe-3.0: not found
/usr/bin/gettext: 2: /usr/bin/gettext: Syntax error: word unexpected
(expecting ")")
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code
2
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-
image-3.16.0-6-amd64.postinst line 634.
dpkg: errore nell'elaborare il pacchetto linux-image-3.16.0-6-amd64 (--
configure):
il sottoprocesso installato script di post-installation ha restituito lo
stato di errore 1
dpkg: problemi con le dipendenze impediscono la configurazione di linux-
image-amd64:
linux-image-amd64 dipende da linux-image-3.16.0-6-amd64; comunque:
Il pacchetto linux-image-3.16.0-6-amd64 non è ancora configurato.
dpkg: errore nell'elaborare il pacchetto linux-image-amd64 (--configure):
problemi con le dipendenze - lasciato non configurato
Si sono verificati degli errori nell'elaborazione:
linux-image-3.16.0-6-amd64
linux-image-amd64
Error in function:
Log ended: 2018-05-06 10:04:18
在那之后 这解决了我的问题我尝试清除并重新安装 grub2,然后按照我获得的步骤进行操作
# dpkg --configure -a
Configurazione di grub-pc (2.02~beta2-22+deb8u1)...
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
/usr/bin/locale: 1: /usr/bin/locale: %!PS-Adobe-3.0: not found
/usr/bin/locale: 2: /usr/bin/locale: Syntax error: word unexpected
(expecting ")")
Installing for i386-pc platform.
Installazione completata, nessun errore segnalato.
/usr/bin/gettext: 1: /usr/bin/gettext: %!PS-Adobe-3.0: not found
/usr/bin/gettext: 2: /usr/bin/gettext: Syntax error: word unexpected
(expecting ")")
dpkg: errore nell'elaborare il pacchetto grub-pc (--configure):
il sottoprocesso installato script di post-installation ha restituito lo
stato di errore 2
Si sono verificati degli errori nell'elaborazione:
我担心的是,如果冲突的不是grub,然后重新安装grub也不起作用,那么就无法启动了。我也没有通过chroot解决,只能修复grub不行。我的 dpkg 状态文件在 grub-pc 上告诉我
Package: grub-pc
Status: install ok half-configured
Priority: optional
Section: admin
Installed-Size: 514
Maintainer: GRUB Maintainers <[email protected]>
Architecture: amd64
Multi-Arch: foreign
Source: grub2
Version: 2.02~beta2-22+deb8u1
Replaces: grub, grub-common (<= 1.97~beta2-1), grub-coreboot, grub-efi-$
Depends: debconf (>= 0.5) | debconf-2.0, grub-common (= 2.02~beta2-22+d$
Conflicts: grub (<< 0.97-54), grub-coreboot, grub-efi-amd64, grub-efi-i$
Conffiles:
/etc/kernel/postinst.d/zz-update-grub 269828d3b8e5bfb266c58fb0a00abcd5
/etc/kernel/postrm.d/zz-update-grub 269828d3b8e5bfb266c58fb0a00abcd5
...
其他信息:
# uname -r
3.16.0-6-amd64
# apt-cache policy grub-pc
grub-pc:
Installato: 2.02~beta2-22+deb8u1
Candidato: 2.02~beta2-22+deb8u1
Tabella versione:
*** 2.02~beta2-22+deb8u1 0
500 http://ftp.uk.debian.org/debian/ jessie/main amd64 Packages
500 http://security.debian.org/ jessie/updates/main amd64 Packages
100 /var/lib/dpkg/status
# ls -al /vmlinuz*
lrwxrwxrwx 1 root root 27 mag 2 00:35 /vmlinuz -> boot/vmlinuz-3.16.0-6-
amd64
lrwxrwxrwx 1 root root 27 gen 26 13:30 /vmlinuz.old -> boot/vmlinuz-
3.16.0-5-amd64
# ls -a /initrd.img*
/initrd.img /initrd.img.old
# ls -al /boot
totale 62164
drwxr-xr-x 3 root root 4096 mag 11 11:35 .
drwxr-xr-x 22 root root 4096 mag 11 14:20 ..
-rw-r--r-- 1 root root 157756 dic 14 22:27 config-3.16.0-4-amd64
-rw-r--r-- 1 root root 157786 gen 9 12:42 config-3.16.0-5-amd64
-rw-r--r-- 1 root root 157842 mag 8 19:36 config-3.16.0-6-amd64
drwxr-xr-x 5 root root 4096 mag 12 10:47 grub
-rw-r--r-- 1 root root 15164265 mag 7 11:27 initrd.img-3.16.0-4-amd64
-rw-r--r-- 1 root root 15164783 gen 26 13:31 initrd.img-3.16.0-5-amd64
-rw-r--r-- 1 root root 15310597 mag 11 11:35 initrd.img-3.16.0-6-amd64
-rw-r--r-- 1 root root 2684316 dic 14 22:27 System.map-3.16.0-4-amd64
-rw-r--r-- 1 root root 2683305 gen 9 12:42 System.map-3.16.0-5-amd64
-rw-r--r-- 1 root root 2683087 mag 8 19:36 System.map-3.16.0-6-amd64
-rw-r--r-- 1 root root 3137712 dic 14 22:25 vmlinuz-3.16.0-4-amd64
-rw-r--r-- 1 root root 3139776 gen 9 12:40 vmlinuz-3.16.0-5-amd64
-rw-r--r-- 1 root root 3170464 mag 8 19:34 vmlinuz-3.16.0-6-amd64
# df -h
File system Dim. Usati Dispon. Uso% Montato su
/dev/sda1 46G 21G 24G 47% /
udev 10M 0 10M 0% /dev
tmpfs 401M 6,0M 395M 2% /run
tmpfs 1001M 28M 973M 3% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/sda2 180G 34G 137G 20% /home
tmpfs 201M 12K 201M 1% /run/user/1000
/dev/sdb1 3,8G 3,8G 0 100% /media/stefano/Debian 8.0.0 amd64
1
# df -i
File system Inode IUsati ILiberi IUso% Montato su
/dev/sda1 3055616 448579 2607037 15% /
udev 253925 424 253501 1% /dev
tmpfs 256068 604 255464 1% /run
tmpfs 256068 129 255939 1% /dev/shm
tmpfs 256068 4 256064 1% /run/lock
tmpfs 256068 13 256055 1% /sys/fs/cgroup
/dev/sda2 11968512 320153 11648359 3% /home
tmpfs 256068 18 256050 1% /run/user/1000
/dev/sdb1 0 0 0 - /media/stefano/Debian 8.0.0
amd64 1
编辑1
我的区域设置文件
# locale
/usr/bin/locale: riga 1: fg: nessun controllo dei job
/usr/bin/locale: riga 2: errore di sintassi vicino al token non atteso
"ImageMagick"
/usr/bin/locale: riga 2: `%%Creator: (ImageMagick)'
# cat /etc/default/locale
# File generated by update-locale
LANG="it_IT.UTF-8"
# gettext -d coreutils -s "write error"/usr/bin/gettext: riga 1: fg:
nessun controllo dei job
/usr/bin/gettext: riga 2: errore di sintassi vicino al token non atteso
"ImageMagick"
/usr/bin/gettext: riga 2: `%%Creator: (ImageMagick)'
答案1
/usr/bin/locale
您的和命令似乎/usr/bin/gettext
遇到了类似 PostScript 文档标题的内容,这导致了一些错误。这些错误可能是也可能不是问题的根本原因,但它们肯定会干扰其他系统功能。
也许你有什么奇怪的东西吗/etc/default/locale
?它应该只包含sh
-style 变量定义和/或注释。
如果你跑步会发生什么locale
?它应该显示您当前的区域设置,并且没有错误消息。
或者如果你跑了怎么办gettext -d coreutils -s "write error"
?它应该根据您当前的区域设置输出“写入错误”消息的翻译版本。
或者也许 PostScript 文件已进入您的消息目录目录?那么这个命令可能会找到它:
find /usr/share/locale -type f -exec file {} \+ |grep -E -v 'GNU (gettext )?message catalog'
该命令应识别 /usr/share/locale 下非消息目录文件的所有文件。如果您的file
命令输出也已翻译,则您可能必须在此命令前面添加前缀,以LC_ALL=C
获取标准美国英语的消息,以便搜索字符串正确地从输出中排除消息目录文件。
事实证明,您的/usr/bin/locale
和 显然也/usr/bin/gettext
已被 ImageMagick 创建的 PostScript 文件替换。这听起来像是可能的文件系统损坏,或者可能是在以 root 身份运行时使用 ImageMagick 命令出现“哎呀”。
要修复您的/usr/bin/locale
和/usr/bin/gettext
,请运行以下命令:
apt-get install --reinstall libc-bin gettext-base
这将重新安装libc-bin
和gettext-base
软件包的所有文件,而不首先删除依赖于它们的任何软件包。这应该至少可以修复一些原始错误消息。然后您可以尝试dpkg --configure -a
再次运行,看看这是否是整个问题的真正根本原因,或者是否还有更多问题需要修复。
文件系统损坏的可能性让我认为你应该检查dmesg | less
输出:是否有任何看起来像磁盘错误的东西?
是否smartctl -a /dev/<your system disk device>
表示磁盘通过了内部 SMART 运行状况检查?该命令输出很多信息,但重要的部分应该如下所示:
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
如果它没有显示“PASSED”,则您的磁盘出现故障,应更换。
即使smartctl
认为磁盘正常,完整备份然后完整文件系统检查可能是一个好主意。如果您需要文件系统检查方面的帮助,请为其提出一个新问题。