Geachte dames en heren,
Ik dank Geert Stappers en Paul van der Vlis voor hun reacties. In de
loop der dingen heb ik pas later kennis genomen van deze reacties en
daarom zullen die reacties pas verderop in dit verslag aan de orde
komen.
Paragraaf 5.6.2 van de Release Notes stelt dat verouderde init-scripts
geheel verwijderd zouden moeten worden. De paragraaf verwijst naar
paragraaf 4.8.1. Een lijst met verwijderde pakketten waarvan nog
configuratiebestanden op het systeem kunnen staan wordt als volgt
verkregen:
root@desktop-computer:~# dpkg -l | awk '/^rc/ {print $2}'
[lijst met 130 pakketten, bijna allemaal behorend tot arch:i386]
root@desktop-computer:~#
Er is ook nog paragraaf 5.6.3 die een onderzoekje aanbeveelt naar lokaal
aangepaste init-scripts:
root@desktop-computer:~# debsums -c -e | grep ^/etc/init.d
debsums: missing file /etc/gdm3/greeter.gsettings (from gdm3 package)
root@desktop-computer:~#
Uit dit onderzoekje volgt naar mijn mening dat paragraaf 5.6.3 verder
buiten beschouwing kan worden gelaten, maar laat wel zien dat pakket
gdm3 niet compleet is. gdm3 is de Gnome display manager.
Ik stel nog een algemeen onderzoek in naar de integriteit van de
aanwezige pakketten.
1. Hebben alle pakketten hun md5 checksums?
root@desktop-computer:~# debsums -l
root@desktop-computer:~#
Alle pakketten hebben dus hun md5 checksums.
2. Zijn alle pakketten integer, afgezien van hun (eventueel gewijzigde)
configuratiebestanden?
root@desktop-computer:~# debsums -s
[debsums noemt 49 files die ontbreken in het pakket gnome-media-common]
root@desktop-computer:~#
Alle pakketten zijn dus integer, behalve gnome-media-common.
3. Welke pakketten hebben configuratiebestanden die afwijken van wat
standaard is?
root@desktop-computer:~# debsums -se
debsums: changed file /etc/default/cups (from cups package)
debsums: missing file /etc/gdm3/greeter.gsettings (from gdm3 package)
debsums: changed file /etc/NetworkManager/NetworkManager.conf (from
network-manager package)
debsums: changed file /etc/apt/apt.conf.d/10periodic (from
update-notifier-common package)
root@desktop-computer:~#
Inspectie van /etc/default/cups: cups herinstalleren
File ontbreekt: gdm3 herinstalleren
Inspectie van /etc/NetworkManager/NetworkManager.conf: network-manager
herinstalleren
Inspectie van /etc/apt/apt.conf.d/10periodic: handhaven
Op dit punt aangekomen neem ik kennis van de reacties van Geert en Paul.
Geert komt met de volgende tip:
echo -e '#!/bin/sh\nexit 0' > /var/lib/dpkg/info/grub-pc.postinst
apt-get --reinstall install grub-pc
De eerste regel vervangt de inhoud van grub-pc.postinst in een script
dat eigenlijk alleen exit 0 bevat. Het is een paardenmiddel om met
succes door het post-installatiescript heen te komen. De inhoud van het
post-installatiescript is er echter natuurlijk niet voor niets. Ik ga
dat script eerst doonemen, waarbij het gaat om welke taken dat script
verzorgt en waarop de exit-code 64 slaat. De tweede regel installeert
daarna grub-pc met de optie reinstall.
Geert baseerde zijn tip op mijn bericht van 14 juni 2016. Daarin komt
inderdaad voor:
dpkg: fout bij verwerken van pakket grub-pc (--configure):
subproces post-installation script geïnstalleerd gaf een foutwaarde 64
terug
Hierdoor staat de mogelijke effektiviteit van de tip buiten kijf.
Ik verwijder nu eerst de verouderde init-scripts, conform paragraaf
4.8.1. Ik verwijder ook de pakketten die automatisch zijn geïnstalleerd
en niet langer nodig zouden zijn, behalve firefox-esr-l10n-nl,
gnome-font-viewer en gnome-tweak-tool. Vervolgens installeer ik de
pakketten de niet in orde waren of twijfelachtig waren opnieuw:
root@desktop-computer:~# apt-get --reinstall install gdm3
gnome-media-common cups network-manager
Daarbij krijg ik echter de mededeling: "Herinstalleren van
gnome-media-common is niet mogelijk omdat het niet opgehaald kan
worden." Daarom laat ik na uitvoering van het bovenstaande commando
gnome-media-common helemaal verwijderen:
root@desktop-computer:~# apt-get purge gnome-media-common
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
gnome-media-common*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 5 niet
opgewaardeerd.
4 niet volledig geïnstalleerd of verwijderd.
Na deze bewerking zal er 7942 kB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n] J
(Database wordt ingelezen ... 211821 bestanden en mappen momenteel
geïnstalleerd.)
gnome-media-common (2.30.0-1) wordt verwijderd ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.13-1) ...
Bezig met afhandelen van triggers voor gconf2 (3.2.6-3) ...
Instellen van linux-image-3.16.0-4-amd64 (3.16.7-ckt25-2) ...
vmlinuz(/boot/vmlinuz-3.16.0-4-amd64
) points to /boot/vmlinuz-3.16.0-4-amd64
(/boot/vmlinuz-3.16.0-4-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 263.
initrd.img(/boot/initrd.img-3.16.0-4-amd64
) points to /boot/initrd.img-3.16.0-4-amd64
(/boot/initrd.img-3.16.0-4-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 263.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
cat: /video.lst: Bestand of map bestaat niet
/usr/sbin/grub-probe: fout: kan canoniek pad van '' niet achterhalen.
Geen pad of apparaat gegeven.
Gebruik: grub-probe [OPTIE...] [OPTIE...] [PAD|APPARAAT]
Typ 'grub-probe --help' of 'grub-probe --usage' voor meer informatie.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code
64
Failed to process /etc/kernel/postinst.d at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 634.
dpkg: fout bij verwerken van pakket linux-image-3.16.0-4-amd64
(--configure):
subproces post-installation script geïnstalleerd gaf een foutwaarde 1
terug
Instellen van grub-pc (2.02~beta2-22+deb8u1) ...
Installing for i386-pc platform.
Installatie is afgerond. Er werden geen fouten gerapporteerd.
Generating grub configuration file ...
cat: /video.lst: Bestand of map bestaat niet
/usr/sbin/grub-probe: fout: kan canoniek pad van '' niet achterhalen.
Geen pad of apparaat gegeven.
Gebruik: grub-probe [OPTIE...] [OPTIE...] [PAD|APPARAAT]
Typ 'grub-probe --help' of 'grub-probe --usage' voor meer informatie.
dpkg: fout bij verwerken van pakket grub-pc (--configure):
subproces post-installation script geïnstalleerd gaf een foutwaarde 64
terug
dpkg: vereistenproblemen verhinderen de configuratie van
linux-image-amd64:
linux-image-amd64 is afhankelijk van linux-image-3.16.0-4-amd64; maar:
Pakket linux-image-3.16.0-4-amd64 is nog niet geconfigureerd.
dpkg: fout bij verwerken van pakket linux-image-amd64 (--configure):
vereistenproblemen - blijft ongeconfigureerd
dpkg: vereistenproblemen verhinderen de configuratie van startupmanager:
startupmanager is afhankelijk van grub | grub-pc; maar:
Pakket grub is niet geïnstalleerd.
Pakket grub-pc is nog niet geconfigureerd.
dpkg: fout bij verwerken van pakket startupmanager (--configure):
vereistenproblemen - blijft ongeconfigureerd
Fouten gevonden tijdens verwerken van:
linux-image-3.16.0-4-amd64
grub-pc
linux-image-amd64
startupmanager
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@desktop-computer:~#
De grote schoonmaak heeft dus geen enkel effekt gehad op de
problematiek.
Ik heb vervolgens linux-image-3.16.0-4-amd64.postinst, grub-pc.postinst
en zz-update-grub bestudeerd, maar ik kan niet begrijpen hoe
laatstgenoemde de code 64 kan retourneren.
Ik heb daarna de tip van Geert uitvoerd. Het leek mij daarbij wel beter
om als tweede commando apt-get install startupmanager te kiezen, zodat
grub-pc niet opnieuw opgehaald wordt uit een repository en gebruikt
wordt om de cache te vernieuwen. Ik nam echter de proef op de som:
root@desktop-computer:~# echo -e '#!/bin/sh\nexit 0' >
/var/lib/dpkg/info/grub-pc.postinst
root@desktop-computer:~# apt-get --reinstall install grub-pc
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 opnieuw geïnstalleerd, 0 te
verwijderen en 7 niet opgewaardeerd.
4 niet volledig geïnstalleerd of verwijderd.
Na deze bewerking zal er 0 B extra schijfruimte gebruikt worden.
E: Internal Error, No file name for grub-pc:amd64
root@desktop-computer:~#
Dit was heel vreemd. Ik vroeg mij af of er misschien een pakket
grub-pc:i386 is die de bestanden van grub-pc:amd64 heeft overschreven.
Onderzoek op mijn andere computer leerde echter dat grub-pc:i386 daar
niet is geïnstalleerd als gevolg van multiarch. Ik probeerde daarna nog:
root@desktop-computer:~# echo -e '#!/bin/sh\nexit 0' >
/var/lib/dpkg/info/grub-pc.postinst
root@desktop-computer:~# apt-get install startupmanager
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
startupmanager is reeds de nieuwste versie.
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 7 niet
opgewaardeerd.
4 niet volledig geïnstalleerd of verwijderd.
Na deze bewerking zal er 0 B extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n] J
Instellen van linux-image-3.16.0-4-amd64 (3.16.7-ckt25-2) ...
vmlinuz(/boot/vmlinuz-3.16.0-4-amd64
) points to /boot/vmlinuz-3.16.0-4-amd64
(/boot/vmlinuz-3.16.0-4-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 263.
initrd.img(/boot/initrd.img-3.16.0-4-amd64
) points to /boot/initrd.img-3.16.0-4-amd64
(/boot/initrd.img-3.16.0-4-amd64) -- doing nothing at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 263.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
cat: /video.lst: Bestand of map bestaat niet
/usr/sbin/grub-probe: fout: kan canoniek pad van '' niet achterhalen.
Geen pad of apparaat gegeven.
Gebruik: grub-probe [OPTIE...] [OPTIE...] [PAD|APPARAAT]
Typ 'grub-probe --help' of 'grub-probe --usage' voor meer informatie.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code
64
Failed to process /etc/kernel/postinst.d at
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 634.
dpkg: fout bij verwerken van pakket linux-image-3.16.0-4-amd64
(--configure):
subproces post-installation script geïnstalleerd gaf een foutwaarde 1
terug
Instellen van grub-pc (2.02~beta2-22+deb8u1) ...
dpkg: vereistenproblemen verhinderen de configuratie van
linux-image-amd64:
linux-image-amd64 is afhankelijk van linux-image-3.16.0-4-amd64; maar:
Pakket linux-image-3.16.0-4-amd64 is nog niet geconfigureerd.
dpkg: fout bij verwerken van pakket linux-image-amd64 (--configure):
vereistenproblemen - blijft ongeconfigureerd
Instellen van startupmanager (1.9.13-8) ...
Bezig met afhandelen van triggers voor menu (2.1.47) ...
Fouten gevonden tijdens verwerken van:
linux-image-3.16.0-4-amd64
linux-image-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@desktop-computer:~#
De problematiek lijkt nu in omvang te zijn afgenomen. Het ligt nu voor
de hand om die andere twee scripts op dezelfde manier aan te pakken,
maar het lijkt me beter eerst het bovenstaande te delen en nieuw advies
te vragen.
Met vriendelijke groet,
Maarten.