#1 Le 31/08/2017, à 21:53
- Danibe
Impossible d'installer de nouveaux paquets
Bonjour,
Je n'arrive pas à installer de nouveaux paquets.
Je sais que ce problème est courant pour les utilisateurs d'ubuntu, car j'ai passé de longues heures sur les forums pour tenter de régler le problème, en vain
Il semble que je ne puisse même plus faire de mises à jour.
Au début j'avais un panneau "sens interdit" dans la barre des tâches, mais j'ai réussi à l'enlever.
Ce souci est vraiment gênant, je serais donc reconnaissant à quiconque essaiera de m'apporter son aide
Version de Linux : 4.4.0-57-generic
Version d'ubuntu : 16.04.3 LTS
Cordialement,
D.
Dernière modification par Danibe (Le 25/11/2017, à 10:38)
Hors ligne
#2 Le 31/08/2017, à 22:01
- xubu1957
Re : Impossible d'installer de nouveaux paquets
Bonjour,
Pour faire un point d'étape :
Donne les retours de :
uname -a df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev"; echo ; df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev" dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" ls -sS1 /boot
en te servant du : Retour utilisable de commande
Rajout :
Astuce pour copier / coller sans erreur :
triple clic gauche pour sélectionner et copier une ligne entière
clic molette pour coller dans le terminal
Dernière modification par xubu1957 (Le 31/08/2017, à 22:05)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
En ligne
#3 Le 31/08/2017, à 22:10
- Danibe
Re : Impossible d'installer de nouveaux paquets
Merci pour la réponse.
Voici les résultats demandés :
uname -a
root@ubuntu:~# uname -a
Linux ubuntu 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev"; echo ; df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev"
root@ubuntu:~# df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev"; echo ; df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev"
Sys. de fichiers Type Taille Utilisé Dispo Uti% Monté sur
/dev/sda2 ext4 227G 208G 7,7G 97% /
/dev/sda1 vfat 511M 13M 499M 3% /boot/efi
Sys. de fichiers Type Inœuds IUtil. ILibre IUti% Monté sur
/dev/sda2 ext4 15089664 421986 14667678 3% /
/dev/sda1 vfat 0 0 0 - /boot/efi
dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)"
root@ubuntu:~# dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)"
ii linux-generic 4.4.0.93.98 amd64 Complete Generic Linux kernel and headers
ii linux-headers-4.4.0-57 4.4.0-57.78 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-57-generic 4.4.0-57.78 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-64 4.4.0-64.85 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-64-generic 4.4.0-64.85 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-93 4.4.0-93.116 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-93-generic 4.4.0-93.116 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-generic 4.4.0.93.98 amd64 Generic Linux kernel headers
rc linux-image-4.4.0-31-generic 4.4.0-31.50 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-57-generic 4.4.0-57.78 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc linux-image-4.4.0-59-generic 4.4.0-59.80 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc linux-image-4.4.0-62-generic 4.4.0-62.83 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF linux-image-4.4.0-64-generic 4.4.0-64.85 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF linux-image-4.4.0-93-generic 4.4.0-93.116 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-57-generic 4.4.0-57.78 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
rc linux-image-extra-4.4.0-59-generic 4.4.0-59.80 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
rc linux-image-extra-4.4.0-62-generic 4.4.0-62.83 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU linux-image-extra-4.4.0-93-generic 4.4.0-93.116 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-generic 4.4.0.93.98 amd64 Generic Linux kernel image
ii linux-image-generic-lts-utopic 4.4.0.93.98 amd64 Generic Linux kernel image (dummy transitional package)
ii linux-signed-generic 4.4.0.93.98 amd64 Complete Signed Generic Linux kernel and headers
ii linux-signed-image-4.4.0-57-generic 4.4.0-57.78 amd64 Signed kernel image generic
rc linux-signed-image-4.4.0-59-generic 4.4.0-59.80 amd64 Signed kernel image generic
rc linux-signed-image-4.4.0-62-generic 4.4.0-62.83 amd64 Signed kernel image generic
ii linux-signed-image-4.4.0-64-generic 4.4.0-64.85 amd64 Signed kernel image generic
ii linux-signed-image-4.4.0-93-generic 4.4.0-93.116 amd64 Signed kernel image generic
ii linux-signed-image-generic 4.4.0.93.98 amd64 Signed Generic Linux kernel image
ls -sS1 /boot
root@ubuntu:~# ls -sS1 /boot
total 169492
37276 initrd.img-4.4.0-93-generic
37272 initrd.img-4.4.0-57-generic
37264 initrd.img-4.4.0-64-generic
6936 vmlinuz-4.4.0-93-generic.efi.signed
6932 vmlinuz-4.4.0-93-generic
6924 vmlinuz-4.4.0-64-generic.efi.signed
6924 vmlinuz-4.4.0-64-generic
6904 vmlinuz-4.4.0-57-generic.efi.signed
6904 vmlinuz-4.4.0-57-generic
3796 System.map-4.4.0-93-generic
3796 System.map-4.4.0-64-generic
3788 System.map-4.4.0-57-generic
1220 abi-4.4.0-93-generic
1220 abi-4.4.0-64-generic
1216 abi-4.4.0-57-generic
188 config-4.4.0-93-generic
188 config-4.4.0-64-generic
188 config-4.4.0-57-generic
184 memtest86+_multiboot.bin
184 memtest86+.elf
180 memtest86+.bin
4 efi
4 grub
Hors ligne
#4 Le 31/08/2017, à 22:24
- xubu1957
Re : Impossible d'installer de nouveaux paquets
/dev/sda2 ext4 227G 208G 7,7G 97% /
97 %, c'est presque plein.
iF linux-image-4.4.0-64-generic 4.4.0-64.85 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF linux-image-4.4.0-93-generic 4.4.0-93.116 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-57-generic 4.4.0-57.78 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU linux-image-extra-4.4.0-93-generic 4.4.0-93.116 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
Sur les trois noyaux présents, deux sont bancals, je laisse le relais à une main plus experte.
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
En ligne
#5 Le 31/08/2017, à 22:35
- nany
Re : Impossible d'installer de nouveaux paquets
Bonjour,
pour continuer l’investigation, donne le retour de :
sudo apt-get install -fy
Hors ligne
#6 Le 31/08/2017, à 22:40
- Danibe
Re : Impossible d'installer de nouveaux paquets
Merci pour votre réponse.
Voilà :
apt-get install -fy
root@ubuntu:~# apt-get install -fy
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
4 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Paramétrage de grub-efi-amd64 (2.02~beta2-36ubuntu3.12) ...
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
dpkg: erreur de traitement du paquet grub-efi-amd64 (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
Paramétrage de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-64-generic
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1.bin for module i915_bpo
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-64-generic.postinst line 1052.
dpkg: erreur de traitement du paquet linux-image-4.4.0-64-generic (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
Paramétrage de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-93-generic.postinst line 1052.
dpkg: erreur de traitement du paquet linux-image-4.4.0-93-generic (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
dpkg: des problèmes de dépendances empêchent la configuration de linux-image-extra-4.4.0-93-generic :
linux-image-extra-4.4.0-93-generic dépend de linux-image-4.4.0-93-generic ; cependant :
Le paquet linux-image-4.4.0-93-generic n'est pas encore configuré.
dpkg: erreur de traitement du paquet linux-image-extra-4.4.0-93-generic (--configure) :
problèmes de dépendances - laissé non configuré
Aucun rapport « apport » écrit car MaxReports a déjà été atteint
Des erreurs ont été rencontrées pendant l'exécution :
grub-efi-amd64
linux-image-4.4.0-64-generic
linux-image-4.4.0-93-generic
linux-image-extra-4.4.0-93-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Je n'aime pas les run-parts:, j'en vois souvent
Hors ligne
#7 Le 31/08/2017, à 22:52
- nany
Re : Impossible d'installer de nouveaux paquets
Les run-parts, c’est normal. Ce qui est plus génant, ce sont les messages d’erreur.
Passe cette commande :
sudo apt-get clean
Puis redonne le retour de :
sudo apt-get install -fy
Hors ligne
#8 Le 31/08/2017, à 22:56
- Danibe
Re : Impossible d'installer de nouveaux paquets
J'ai fait un clean, mais en tapant encore install -fy j'obtiens strictement le même résultat qu'avant.
Hors ligne
#9 Le 31/08/2017, à 23:01
- nany
Re : Impossible d'installer de nouveaux paquets
Bien, alors donne le retour de :
sudo dpkg -P linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
Hors ligne
#10 Le 31/08/2017, à 23:05
- Danibe
Re : Impossible d'installer de nouveaux paquets
D'accord, voici :
dpkg -P linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
root@ubuntu:~# dpkg -P linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
dpkg: un problème de dépendance empêche la suppression de linux-image-4.4.0-64-generic :
linux-signed-image-4.4.0-64-generic dépend de linux-image-4.4.0-64-generic (= 4.4.0-64.85).
dpkg: erreur de traitement du paquet linux-image-4.4.0-64-generic (--purge) :
problème de dépendance - suppression ignorée
dpkg: un problème de dépendance empêche la suppression de linux-image-4.4.0-93-generic :
linux-image-generic dépend de linux-image-4.4.0-93-generic.
linux-signed-image-4.4.0-93-generic dépend de linux-image-4.4.0-93-generic (= 4.4.0-93.116).
dpkg: erreur de traitement du paquet linux-image-4.4.0-93-generic (--purge) :
problème de dépendance - suppression ignorée
dpkg: un problème de dépendance empêche la suppression de linux-image-extra-4.4.0-93-generic :
linux-image-generic dépend de linux-image-extra-4.4.0-93-generic ; cependant :
Le paquet linux-image-extra-4.4.0-93-generic doit être supprimé.
linux-signed-image-generic dépend de linux-image-extra-4.4.0-93-generic.
dpkg: erreur de traitement du paquet linux-image-extra-4.4.0-93-generic (--purge) :
problème de dépendance - suppression ignorée
Des erreurs ont été rencontrées pendant l'exécution :
linux-image-4.4.0-64-generic
linux-image-4.4.0-93-generic
linux-image-extra-4.4.0-93-generic
Hors ligne
#11 Le 31/08/2017, à 23:09
- nany
Re : Impossible d'installer de nouveaux paquets
Bien, puisqu’il ne veut pas quand on lui demande gentiment, on va lui forcer un peu la main.
Donne le retour de :
sudo dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
Dernière modification par nany (Le 31/08/2017, à 23:09)
Hors ligne
#12 Le 31/08/2017, à 23:11
- Danibe
Re : Impossible d'installer de nouveaux paquets
J'ai l'impression qu'il n'est vraiment pas coopératif...
dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
root@ubuntu:~# dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
dpkg: linux-image-extra-4.4.0-93-generic : problème de dépendance, mais suppression comme demandé :
linux-image-generic dépend de linux-image-extra-4.4.0-93-generic ; cependant :
Le paquet linux-image-extra-4.4.0-93-generic doit être supprimé.
linux-signed-image-generic dépend de linux-image-extra-4.4.0-93-generic.
(Lecture de la base de données... 292571 fichiers et répertoires déjà installés.)
Suppression de linux-image-extra-4.4.0-93-generic (4.4.0-93.116) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: erreur de traitement du paquet linux-image-extra-4.4.0-93-generic (--purge) :
le sous-processus script post-removal installé a retourné une erreur de sortie d'état 1
dpkg: linux-image-4.4.0-64-generic : problème de dépendance, mais suppression comme demandé :
linux-signed-image-4.4.0-64-generic dépend de linux-image-4.4.0-64-generic (= 4.4.0-64.85).
Suppression de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-64-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-4.4.0-64-generic.postrm line 328.
dpkg: erreur de traitement du paquet linux-image-4.4.0-64-generic (--purge) :
le sous-processus script post-removal installé a retourné une erreur de sortie d'état 1
dpkg: linux-image-4.4.0-93-generic : problème de dépendance, mais suppression comme demandé :
linux-image-generic dépend de linux-image-4.4.0-93-generic.
linux-signed-image-4.4.0-93-generic dépend de linux-image-4.4.0-93-generic (= 4.4.0-93.116).
Suppression de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-93-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-4.4.0-93-generic.postrm line 328.
dpkg: erreur de traitement du paquet linux-image-4.4.0-93-generic (--purge) :
le sous-processus script post-removal installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
linux-image-extra-4.4.0-93-generic
linux-image-4.4.0-64-generic
linux-image-4.4.0-93-generic
Hors ligne
#13 Le 31/08/2017, à 23:26
- nany
Re : Impossible d'installer de nouveaux paquets
Bon, il faut mettre un peu les mains dans le cambouis.
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-extra-4.4.0-93-generic.postrm
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-4.4.0-64-generic.postrm
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-4.4.0-93-generic.postrm
Puis redonne le retour de :
sudo dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
Hors ligne
#14 Le 31/08/2017, à 23:31
- Danibe
Re : Impossible d'installer de nouveaux paquets
Je ne sais pas pourquoi, mais j'aime bien ça :
dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
root@ubuntu:~# dpkg -P --force-all linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
dpkg: linux-image-extra-4.4.0-93-generic : problème de dépendance, mais suppression comme demandé :
linux-image-generic dépend de linux-image-extra-4.4.0-93-generic ; cependant :
Le paquet linux-image-extra-4.4.0-93-generic doit être supprimé.
linux-signed-image-generic dépend de linux-image-extra-4.4.0-93-generic.
(Lecture de la base de données... 285833 fichiers et répertoires déjà installés.)
Suppression de linux-image-extra-4.4.0-93-generic (4.4.0-93.116) ...
Purge des fichiers de configuration de linux-image-extra-4.4.0-93-generic (4.4.0-93.116) ...
dpkg: linux-image-4.4.0-64-generic : problème de dépendance, mais suppression comme demandé :
linux-signed-image-4.4.0-64-generic dépend de linux-image-4.4.0-64-generic (= 4.4.0-64.85).
Suppression de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Purge des fichiers de configuration de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/arch/x86 » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/ubuntu/vbox » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/fs/exofs » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/fs/nls » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/net/sunrpc » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/sound/core » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/sound/pci » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/sound/drivers » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/target » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/platform/x86 » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/char/hw_random » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/firmware » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/pps » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/misc/eeprom » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/block » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/pcmcia » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/i2c/algos » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/scsi » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/watchdog » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/uwb » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/usb/misc » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/usb/storage » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/usb/wusbcore » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/ethernet/broadcom » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/ethernet/amd » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/ethernet/intel » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/ethernet/realtek » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/ethernet/8390 » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/net/caif » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/gpu/drm » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/hid/usbhid » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/uio » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/ata » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/input/gameport » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/input/mouse » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/input/misc » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/input/serio » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/input/touchscreen » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/infiniband/ulp » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/infiniband/core » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/infiniband/hw » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/tty/serial » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/video/fbdev/core » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/parport » n'était pas vide, donc il n'a pas été supprimé
dpkg : avertissement : lors de la suppression de linux-image-4.4.0-64-generic, le répertoire « /lib/modules/4.4.0-64-generic/kernel/drivers/mtd » n'était pas vide, donc il n'a pas été supprimé
dpkg: linux-image-4.4.0-93-generic : problème de dépendance, mais suppression comme demandé :
linux-image-generic dépend de linux-image-4.4.0-93-generic.
linux-signed-image-4.4.0-93-generic dépend de linux-image-4.4.0-93-generic (= 4.4.0-93.116).
Suppression de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Purge des fichiers de configuration de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Hors ligne
#15 Le 31/08/2017, à 23:38
- nany
Re : Impossible d'installer de nouveaux paquets
Bien, supprimons maintenant ce répertoire qui n’a pas pu être supprimé :
sudo rm -rfv /lib/modules/4.4.0-64-generic
Puis redonne le retour de :
sudo apt-get install -fy
Hors ligne
#16 Le 31/08/2017, à 23:57
- Danibe
Re : Impossible d'installer de nouveaux paquets
Voilà :
apt-get install -fy
root@ubuntu:~# apt-get install -fy
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Correction des dépendances... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
linux-headers-4.4.0-64 linux-headers-4.4.0-64-generic linux-image-4.4.0-64-generic linux-signed-image-4.4.0-64-generic
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
The following additional packages will be installed:
linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
Paquets suggérés :
fdutils linux-doc-4.4.0 | linux-source-4.4.0 linux-tools
Les NOUVEAUX paquets suivants seront installés :
linux-image-4.4.0-64-generic linux-image-4.4.0-93-generic linux-image-extra-4.4.0-93-generic
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
1 partiellement installés ou enlevés.
Il est nécessaire de prendre 79,6 Mo dans les archives.
Après cette opération, 286 Mo d'espace disque supplémentaires seront utilisés.
Réception de:1 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-4.4.0-64-generic amd64 4.4.0-64.85 [21,8 MB]
Réception de:2 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-4.4.0-93-generic amd64 4.4.0-93.116 [21,9 MB]
Réception de:3 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-extra-4.4.0-93-generic amd64 4.4.0-93.116 [35,9 MB]
79,6 Mo réceptionnés en 3min 45s (354 ko/s)
Sélection du paquet linux-image-4.4.0-64-generic précédemment désélectionné.
(Lecture de la base de données... 285768 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../linux-image-4.4.0-64-generic_4.4.0-64.85_amd64.deb ...
Examining /etc/kernel/preinst.d/
run-parts: executing /etc/kernel/preinst.d/intel-microcode 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
Done.
Dépaquetage de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Sélection du paquet linux-image-4.4.0-93-generic précédemment désélectionné.
Préparation du dépaquetage de .../linux-image-4.4.0-93-generic_4.4.0-93.116_amd64.deb ...
Examining /etc/kernel/preinst.d/
run-parts: executing /etc/kernel/preinst.d/intel-microcode 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
Done.
Dépaquetage de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Sélection du paquet linux-image-extra-4.4.0-93-generic précédemment désélectionné.
Préparation du dépaquetage de .../linux-image-extra-4.4.0-93-generic_4.4.0-93.116_amd64.deb ...
Dépaquetage de linux-image-extra-4.4.0-93-generic (4.4.0-93.116) ...
Paramétrage de grub-efi-amd64 (2.02~beta2-36ubuntu3.12) ...
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
dpkg: erreur de traitement du paquet grub-efi-amd64 (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
Paramétrage de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-4.4.0-93-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-64-generic /boot/vmlinuz-4.4.0-64-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-64-generic.postinst line 1052.
dpkg: erreur de traitement du paquet linux-image-4.4.0-64-generic (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
Paramétrage de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-93-generic /boot/vmlinuz-4.4.0-93-generic
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: !Windows: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-93-generic.postinst line 1052.
dpkg: erreur de traitement du paquet linux-image-4.4.0-93-generic (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
dpkg: des problèmes de dépendances empêchent la configuration de linux-image-extra-4.4.0-93-generic :
linux-image-extra-4.4.0-93-generic dépend de linux-image-4.4.0-93-generic ; cependant :
Le paquet linux-image-4.4.0-93-generic n'est pas encore configuré.
dpkg: erreur de traitement du paquet linux-image-extra-4.4.0-93-generic (--configure) :
problèmes de dépendances - laissé non configuré
Aucun rapport « apport » écrit car MaxReports a déjà été atteint
Des erreurs ont été rencontrées pendant l'exécution :
grub-efi-amd64
linux-image-4.4.0-64-generic
linux-image-4.4.0-93-generic
linux-image-extra-4.4.0-93-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Hors ligne
#17 Le 01/09/2017, à 00:05
- nany
Re : Impossible d'installer de nouveaux paquets
On tourne en rond.
Prenons le dans l’autre sens.
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-extra-4.4.0-93-generic.postinst
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-4.4.0-64-generic.postinst
echo -e "#\x21/bin/bash\n/bin/true" | sudo tee /var/lib/dpkg/info/linux-image-4.4.0-93-generic.postinst
Puis redonne le retour de :
sudo apt-get install -fy
Hors ligne
#18 Le 01/09/2017, à 00:10
- Danibe
Re : Impossible d'installer de nouveaux paquets
Plus qu'un paquet... on avance
apt-get install -fy
root@ubuntu:~# apt-get install -fy
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
4 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Paramétrage de grub-efi-amd64 (2.02~beta2-36ubuntu3.12) ...
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
/var/lib/dpkg/info/grub-efi-amd64.config: 1: /etc/default/grub: !Windows: not found
dpkg: erreur de traitement du paquet grub-efi-amd64 (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
Paramétrage de linux-image-4.4.0-64-generic (4.4.0-64.85) ...
Paramétrage de linux-image-4.4.0-93-generic (4.4.0-93.116) ...
Paramétrage de linux-image-extra-4.4.0-93-generic (4.4.0-93.116) ...
Des erreurs ont été rencontrées pendant l'exécution :
grub-efi-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Hors ligne
#19 Le 01/09/2017, à 00:17
- nany
Re : Impossible d'installer de nouveaux paquets
Bien, donne le retour de :
cat /var/lib/dpkg/info/grub-efi-amd64
Hors ligne
#20 Le 01/09/2017, à 00:20
- Danibe
Re : Impossible d'installer de nouveaux paquets
Il n'existe aucun fichier de ce type, donc j'ai fait "tab" pour avoir la liste des fichiers du même répertoire qui commencent par cela et j'ai :
grub-efi-amd64-bin.list grub-efi-amd64.config grub-efi-amd64.postinst grub-efi-amd64.prerm grub-efi-amd64-signed.postinst
grub-efi-amd64-bin.md5sums grub-efi-amd64.list grub-efi-amd64.postrm grub-efi-amd64-signed.list grub-efi-amd64.templates
grub-efi-amd64.conffiles grub-efi-amd64.md5sums grub-efi-amd64.preinst grub-efi-amd64-signed.md5sums
Hors ligne
#21 Le 01/09/2017, à 00:26
- nany
Re : Impossible d'installer de nouveaux paquets
Oups ! Un oubli de ma part.
cat /var/lib/dpkg/info/grub-efi-amd64.postinst
Hors ligne
#22 Le 01/09/2017, à 00:28
- Danibe
Re : Impossible d'installer de nouveaux paquets
Le retour fait 782 lignes... c'est sûr que je peux poster ici ?
Hors ligne
#23 Le 01/09/2017, à 00:35
- Danibe
Re : Impossible d'installer de nouveaux paquets
sinon je le mets sur un dl de free.fr
Hors ligne
#24 Le 01/09/2017, à 00:43
- nany
Re : Impossible d'installer de nouveaux paquets
782 lignes, ça doit passer entre balises code.
Hors ligne
#25 Le 01/09/2017, à 00:45
- Danibe
Re : Impossible d'installer de nouveaux paquets
cat /var/lib/dpkg/info/grub-efi-amd64.postinst
root@ubuntu:~# cat /var/lib/dpkg/info/grub-efi-amd64.postinst
#!/bin/bash
set -e
merge_debconf_into_conf()
{
local tmpfile; tmpfile="$1"
local setting; setting="$2"
local template; template="$3"
db_get "$template"
local value; value="$(echo "$RET" | sed -e 's,[$`"\],\\&,g')"
if grep -q "^${setting}=" "$tmpfile"; then
value="$(echo "$value" | sed -e 's,[\@],\\&,g')"
sed -i -re "s@^(${setting}=).*@\1\"${value}\"@" "$tmpfile"
else
echo >> "$tmpfile"
echo "${setting}=\"${value}\"" >> "$tmpfile"
fi
}
get_wubi_device()
{
if [ ! -x /usr/share/lupin-support/grub-mkimage ] || \
! /usr/share/lupin-support/grub-mkimage --test; then
return 1
fi
local bootdev="$(grub-probe --target=device /boot)" || true
local loop_file=
case $bootdev in
/dev/loop/*|/dev/loop[0-9])
loop_file="$(losetup "$bootdev" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/")"
# If it's loop-mounted from another device, it isn't Wubi.
case $loop_file in
/dev/*) return 1 ;;
esac
;;
*) return 1 ;;
esac
echo "$bootdev"
}
# This only works on a Linux system with udev running. This is probably the
# vast majority of systems where we need any of this, though, and we fall
# back reasonably gracefully if we don't have it.
cached_available_ids=
available_ids()
{
local id path
if [ "$cached_available_ids" ]; then
echo "$cached_available_ids"
return
fi
[ -d /dev/disk/by-id ] || return
cached_available_ids="$(
for path in /dev/disk/by-id/*; do
[ -e "$path" ] || continue
printf '%s %s\n' "$path" "$(readlink -f "$path")"
done | sort -k2 -s -u | cut -d' ' -f1
)"
echo "$cached_available_ids"
}
# Returns non-zero and no output if no mapping can be found.
device_to_id()
{
local id
for id in $(available_ids); do
if [ "$(readlink -f "$id")" = "$(readlink -f "$1")" ]; then
echo "$id"
return 0
fi
done
# Fall back to the plain device name if there's no by-id link for it.
if [ -e "$1" ]; then
echo "$1"
return 0
fi
return 1
}
devices_to_ids()
{
local device id ids
ids=
for device; do
id="$(device_to_id "$device" || true)"
if [ "$id" ]; then
ids="${ids:+$ids, }$id"
fi
done
echo "$ids"
}
all_disks()
{
local id
for id in $(available_ids); do
case $id in
*-part*) ;;
*) echo "$id" ;;
esac
done
}
all_partitions()
{
local id ids
ids=
for id in $(available_ids); do
if [ "$id" != "$1" ] && [ "${id%-part*}" = "$1" ]; then
ids="${ids:+$ids }$id"
fi
done
echo "$ids"
}
# In order to determine whether we accidentally ran grub-install without
# upgrade-from-grub-legacy on versions older than 1.98+20100617-1, we need
# to be able to scan a disk to determine whether GRUB 2 was installed in its
# boot sector. This is specific to i386-pc (but that's the only platform
# where we need it).
scan_grub2()
{
if ! dd if="$1" bs=512 count=1 2>/dev/null | grep -aq GRUB; then
# No version of GRUB is installed.
return 1
fi
# The GRUB boot sector always starts with a JMP instruction.
initial_jmp="$(dd if="$1" bs=2 count=1 2>/dev/null | od -Ax -tx1 | \
head -n1 | cut -d' ' -f2,3)"
[ "$initial_jmp" ] || return 1
initial_jmp_opcode="${initial_jmp%% *}"
[ "$initial_jmp_opcode" = eb ] || return 1
initial_jmp_operand="${initial_jmp#* }"
case $initial_jmp_operand in
47|4b|4c|63)
# I believe this covers all versions of GRUB 2 up to the package
# version where we gained a more explicit mechanism. GRUB Legacy
# always had 48 here.
return 0
;;
esac
return 1
}
# for Linux
sysfs_size()
{
local num_sectors sector_size size
# Try to find out the size without relying on a partitioning tool being
# installed. This isn't too hard on Linux 2.6 with sysfs, but we have to
# try a couple of variants on detection of the sector size.
if [ -e "$1/size" ]; then
num_sectors="$(cat "$1/size")"
sector_size=512
if [ -e "$1/queue/logical_block_size" ]; then
sector_size="$(cat "$1/queue/logical_block_size")"
elif [ -e "$1/queue/hw_sector_size" ]; then
sector_size="$(cat "$1/queue/hw_sector_size")"
fi
size="$(expr "$num_sectors" \* "$sector_size" / 1000 / 1000)"
fi
[ "$size" ] || size='???'
echo "$size"
}
# for kFreeBSD
camcontrol_size()
{
local num_sectors sector_size size=
if num_sectors="$(camcontrol readcap "$1" -q -s -N)"; then
sector_size="$(camcontrol readcap "$1" -q -b)"
size="$(expr "$num_sectors" \* "$sector_size" / 1000 / 1000)"
fi
[ "$size" ] || size='???'
echo "$size"
}
# Returns value in $RET, like a debconf command.
describe_disk()
{
local disk id base size
disk="$1"
id="$2"
model=
case $(uname -s) in
Linux)
if which udevadm >/dev/null 2>&1; then
size="$(sysfs_size "/sys$(udevadm info -n "$disk" -q path)")"
else
base="${disk#/dev/}"
base="$(printf %s "$base" | sed 's,/,!,g')"
size="$(sysfs_size "/sys/block/$base")"
fi
if which udevadm >/dev/null 2>&1; then
model="$(udevadm info -n "$disk" -q property | sed -n 's/^ID_MODEL=//p')"
if [ -z "$model" ]; then
model="$(udevadm info -n "$disk" -q property | sed -n 's/^DM_NAME=//p')"
if [ -z "$model" ]; then
model="$(udevadm info -n "$disk" -q property | sed -n 's/^MD_NAME=//p')"
if [ -z "$model" ] && which dmsetup >/dev/null 2>&1; then
model="$(dmsetup info -c --noheadings -o name "$disk" 2>/dev/null || true)"
fi
fi
fi
fi
;;
GNU/kFreeBSD)
disk_basename=$(basename "$disk")
size="$(camcontrol_size "$disk_basename")"
model="$(camcontrol inquiry "$disk_basename" | sed -ne "s/^pass0: <\([^>]*\)>.*/\1/p")"
;;
esac
[ "$model" ] || model='???'
db_subst grub-pc/disk_description DEVICE "$disk"
db_subst grub-pc/disk_description SIZE "$size"
db_subst grub-pc/disk_description MODEL "$model"
db_metaget grub-pc/disk_description description
}
# Returns value in $RET, like a debconf command.
describe_partition()
{
local disk part id path diskbase partbase size
disk="$1"
part="$2"
id="$3"
path="$4"
if which udevadm >/dev/null 2>&1; then
size="$(sysfs_size "/sys$(udevadm info -n "$part" -q path)")"
else
diskbase="${disk#/dev/}"
diskbase="$(printf %s "$diskbase" | sed 's,/,!,g')"
partbase="${part#/dev/}"
partbase="$(printf %s "$partbase" | sed 's,/,!,g')"
size="$(sysfs_size "/sys/block/$diskbase/$partbase")"
fi
db_subst grub-pc/partition_description DEVICE "$part"
db_subst grub-pc/partition_description SIZE "$size"
db_subst grub-pc/partition_description PATH "$path"
db_metaget grub-pc/partition_description description
}
usable_partitions()
{
local last_partition path partition partition_id
last_partition=
for path in / /boot /boot/grub; do
partition="$(grub-probe -t device "$path" || true)"
if [ -z "$partition" ] || [ "$partition" = "$last_partition" ]; then
continue
fi
partition_id="$(device_to_id "$partition" || true)"
echo "$path:$partition_id"
last_partition="$partition"
done | sort -t: -k2
}
get_mountpoint()
{
local relpath boot_mountpoint
relpath="$(grub-mkrelpath "$1")"
boot_mountpoint="${1#$relpath}"
echo "${boot_mountpoint:-/}"
}
config_item()
{
for x in /etc/default/grub /etc/default/grub.d/*.cfg; do
if [ -e "$x" ]; then
. "$x"
fi
done
if [ "$(eval echo "\${$1+set}")" = set ]; then
eval echo "\$$1"
else
return
fi
}
running_in_container()
{
type systemd-detect-virt >/dev/null 2>&1 && systemd-detect-virt --quiet --container
}
run_grub_install()
{
if ! grub-install $@ ; then
echo "Failed: grub-install $@" >&2
echo "WARNING: Bootloader is not properly installed, system may not be bootable" >&2
fi
}
case "$1" in
configure)
. /usr/share/debconf/confmodule
devicemap_regenerated=
if egrep -q '^[[:space:]]*post(inst|rm)_hook[[:space:]]*=[[:space:]]*(/sbin/|/usr/sbin/)?update-grub' /etc/kernel-img.conf 2>/dev/null; then
echo 'Removing update-grub hooks from /etc/kernel-img.conf in favour of' >&2
echo '/etc/kernel/ hooks.' >&2
sed -ri /etc/kernel-img.conf -e '\%^[[:space:]]*post(inst|rm)_hook[[:space:]]*=[[:space:]]*(/sbin/|/usr/sbin/)?update-grub%d'
fi
case grub-efi-amd64 in
grub-pc)
mkdir -p /boot/grub
if test -e /boot/grub/device.map && ! test -e /boot/grub/core.img && \
! test -e /boot/grub/x86_64-efi/core.img; then
# Looks like your device.map was generated by GRUB Legacy, which
# used to generate broken device.map (see #422851). Avoid the risk
# by regenerating it.
grub-mkdevicemap --no-floppy
devicemap_regenerated=1
fi
;;
esac
if test -z "$devicemap_regenerated" && test -s /boot/grub/device.map && \
dpkg --compare-versions "$2" lt-nl 1.98+20100702-1 && \
test "$(uname -s)" = Linux; then
# Earlier versions of GRUB used unstable device names in device.map,
# which caused a variety of problems. There is some risk associated with
# regenerating it (so we prompt the user if it's non-trivial), but on the
# whole it's less risky to move to /dev/disk/by-id/.
devicemap_lines="$(egrep -v '^[[:space:]]+#' /boot/grub/device.map | wc -l)"
grub-mkdevicemap --no-floppy
devicemap_regenerated=1
if test "$devicemap_lines" != 1; then
db_input critical grub2/device_map_regenerated || true
db_go || true
fi
fi
if test -z "$devicemap_regenerated" && \
dpkg --compare-versions "$2" lt-nl 1.99~20101210-2 && \
grep -qs /md-uuid- /boot/grub/device.map; then
echo "Removing MD devices from device.map, since the BIOS cannot read from these." >&2
sed -i '/\/md-uuid-/d' /boot/grub/device.map
fi
tmp_default_grub="$(mktemp -t grub.XXXXXXXXXX)"
trap "rm -f ${tmp_default_grub}" EXIT
cp -p /usr/share/grub/default/grub ${tmp_default_grub}
merge_debconf_into_conf "$tmp_default_grub" GRUB_CMDLINE_LINUX grub2/linux_cmdline
merge_debconf_into_conf "$tmp_default_grub" GRUB_CMDLINE_LINUX_DEFAULT grub2/linux_cmdline_default
case grub-efi-amd64 in
grub-pc)
merge_debconf_into_conf "$tmp_default_grub" GRUB_TIMEOUT grub-pc/timeout
sed -i -e 's/^\(GRUB_TIMEOUT=\)"\([0-9][0-9]*\)"/\1\2/' "$tmp_default_grub"
db_get grub-pc/hidden_timeout
if [ "$RET" = false ]; then
sed -i -e 's/^GRUB_HIDDEN_TIMEOUT=/#&/' "$tmp_default_grub"
fi
;;
grub-ieee1275)
if grep ^platform /proc/cpuinfo | grep -q PowerNV; then
cat <<-EOF >>"$tmp_default_grub"
# Disable os-prober for ppc64el on the PowerNV platform (for Petitboot)
GRUB_DISABLE_OS_PROBER=true
EOF
fi
;;
esac
ucf --three-way --debconf-ok --sum-file=/usr/share/grub/default/grub.md5sum ${tmp_default_grub} /etc/default/grub
package="$(ucfq --with-colons /etc/default/grub | cut -d : -f 2)"
if echo $package | grep -q "^grub-" ; then
ucfr --force grub-efi-amd64 /etc/default/grub
else
ucfr grub-efi-amd64 /etc/default/grub
fi
case grub-efi-amd64 in
grub-pc)
fix_mixed_system=
if test -e /boot/grub/stage2 && test -e /boot/grub/menu.lst && \
! test -e /boot/grub/grub2-installed && \
test -z "$UPGRADE_FROM_GRUB_LEGACY"; then
# Unfortunately, it's still possible that the user upgraded fully
# to GRUB 2 in some way other than running
# upgrade-from-grub-legacy; perhaps they ran grub-install by hand
# for some reason. It's really quite difficult to detect this
# situation, because the only difference between this and a
# working chainloaded setup is that in this case grub-setup has
# been run. So, to try to tell the difference, we scan the boot
# sectors of all disks for a GRUB 2 boot sector. Hopefully this
# won't cause too much to explode, since I can't think of a better
# method.
grub2_disks=
for disk in $(all_disks); do
if scan_grub2 "$disk"; then
grub2_disks="${grub2_disks:+$grub2_disks }$(readlink -f "$disk")"
fi
done
if [ "$grub2_disks" ]; then
# No || true here; it's vital that the user sees this, and it's
# better to throw an error than to do the wrong thing.
db_subst grub-pc/mixed_legacy_and_grub2 DISKS "$grub2_disks"
db_fset grub-pc/mixed_legacy_and_grub2 seen false
db_input critical grub-pc/mixed_legacy_and_grub2
db_go
db_get grub-pc/mixed_legacy_and_grub2
if [ "$RET" = true ]; then
db_reset grub-pc/install_devices
UPGRADE_FROM_GRUB_LEGACY=1
fix_mixed_system=1
# Fall through to normal installation logic.
fi
fi
fi
# Make sure that Wubi users never see confusing device prompts.
# Wubi is a very specialised hack that does complicated things with
# grub-install diversions to create an image that's chained from the
# Windows boot loader to boot an operating system from a file on a
# Windows file system. In these circumstances, prompting for where
# to install GRUB is not going to help anyone.
wubi_device="$(get_wubi_device)" || true
if [ "$wubi_device" ]; then
db_set grub-pc/install_devices "$wubi_device"
db_fset grub-pc/install_devices seen true
fi
if test -e /boot/grub/stage2 && test -e /boot/grub/menu.lst && \
! test -e /boot/grub/grub2-installed && \
test -z "$UPGRADE_FROM_GRUB_LEGACY"; then
db_get grub-pc/chainload_from_menu.lst
if $RET ; then
# Create core.img (but do not risk writing to MBR).
# Using grub-probe instead of "(hd0)" avoids (UUID=) hack slowness
# in case /boot/grub is not on (hd0) in device.map.
echo "Generating core.img" >&2
grub-install --target=i386-pc --no-floppy --grub-setup=/bin/true "$(grub-probe -t drive /boot/grub)" > /dev/null
# Update menu.lst to reflect that:
# - core.img is present now
# - core.img has to be the first option
echo "Saving menu.lst backup in /boot/grub/menu.lst_backup_by_grub2_postinst" >&2
cp /boot/grub/menu.lst{,_backup_by_grub2_postinst}
echo "Running update-grub Legacy to hook our core.img in it" >&2
LET_US_TRY_GRUB_2=true /usr/lib/grub-legacy/update-grub 2>&1 | sed -e "s/^/ /g" >&2
# We just hooked GRUB 2 in menu.lst; then also generate grub.cfg.
touch /boot/grub/grub.cfg
fi
elif running_in_container; then
# Skip grub-install in containers.
:
elif test -z "$2" || test -e /boot/grub/core.img || \
test -e /boot/grub/x86_64-efi/core.img || \
test "$UPGRADE_FROM_GRUB_LEGACY" || test "$wubi_device"; then
question=grub-pc/install_devices
priority=high
device_map="$(grub-mkdevicemap -m - | grep -v '^(fd[0-9]\+)' || true)"
devices="$(echo "$device_map" | cut -f2)"
if dpkg --compare-versions "$2" lt 1.98+20100702-1 && \
test "$(uname -s)" = Linux && [ -z "$wubi_device" ]; then
# Migrate to new by-id naming scheme.
db_get grub-pc/install_devices
old_devices="$(echo "$RET" | sed 's/, / /g')"
new_devices=
# Common-case optimisation: if the list of devices is
# identical to the LHS of grub-mkdevicemap's output, then
# there's no point asking again; just install to all disks.
# (This handles e.g. "(hd0)" with one disk.)
if [ "$(echo "$device_map" | cut -f1 | sort)" = \
"$(echo "$old_devices" | xargs -n1 | sort)" ]; then
new_devices="$(devices_to_ids $devices)"
db_set grub-pc/install_devices "$new_devices"
# Alternatively, we might be installing to a single partition
# on a single disk, and we can deal with that too if there's
# only one available disk and it has an appropriate partition.
# This doesn't necessarily work for multiple disks because now
# the order matters.
elif [ "$(echo "$device_map" | wc -l)" = 1 ] && \
[ "$(echo "$old_devices" | wc -w)" = 1 ] && \
echo "$old_devices" | grep -q ,; then
old_device="${old_devices#(}"
old_device="${old_device%)}"
old_disk="${old_device%,*}"
old_partition="${old_device##*,}"
new_device="$(echo "$device_map" | grep "^($old_disk)" | \
cut -f2)"
new_device="$(device_to_id $new_device)"
if [ "$new_device" ]; then
new_device="$new_device-part$old_partition"
# Run through device_to_id again to check for existence.
new_device="$(device_to_id $new_device)"
fi
if [ "$new_device" ]; then
new_devices="$new_device"
db_set grub-pc/install_devices "$new_device"
fi
fi
if [ -z "$new_devices" ]; then
new_devices="$(devices_to_ids $old_devices)"
db_set grub-pc/install_devices "$new_devices"
# Common-case optimisation: if all devices are translatable
# to by-id and the number of devices there is the same as
# the number of devices GRUB can see, then there's no point
# asking again. (This handles e.g. "/dev/sda" with one
# disk.)
old_devices_count="$(echo "$old_devices" | wc -w)"
new_devices_count="$(echo "$new_devices" | wc -w)"
devices_count="$(echo "$devices" | wc -w)"
if [ "$old_devices_count" != "$new_devices_count" ] || \
[ "$new_devices_count" != "$devices_count" ]; then
db_fset grub-pc/install_devices seen false
db_fset grub-pc/install_devices_empty seen false
fi
fi
else
db_get grub-pc/install_devices
valid=1
for device in $RET; do
if [ ! -e "${device%,}" ]; then
valid=0
break
fi
done
if [ "$valid" = 0 ]; then
question=grub-pc/install_devices_disks_changed
priority=critical
db_set "$question" "$RET"
db_fset "$question" seen false
db_fset grub-pc/install_devices_empty seen false
fi
fi
while :; do
ids=
descriptions=
partitions="$(usable_partitions)"
for device in $devices; do
disk_id="$(device_to_id "$device" || true)"
if [ "$disk_id" ]; then
ids="${ids:+$ids, }$disk_id"
describe_disk "$(readlink -f "$device")" "$disk_id"
RET="$(printf %s "$RET" | sed 's/,/\\,/g')"
descriptions="${descriptions:+$descriptions, }$RET"
for partition_pair in $partitions; do
partition_id="${partition_pair#*:}"
if [ "${partition_id#$disk_id-part}" != "$partition_id" ]; then
ids="${ids:+$ids, }$partition_id"
describe_partition "$(readlink -f "$device")" "$(readlink -f "$partition_id")" "$partition_id" "$(get_mountpoint "${partition_pair%%:*}")"
RET="$(printf %s "$RET" | sed 's/,/\\,/g')"
descriptions="${descriptions:+$descriptions, }$RET"
fi
done
fi
done
# Some "partitions" may in fact be at the disk level, e.g. RAID.
# List these as well if they haven't already been listed.
for partition_pair in $partitions; do
partition_id="${partition_pair#*:}"
if [ "${partition_id#*-part}" = "$partition_id" ]; then
case ", $ids, " in
", $partition_id, ") ;;
*)
ids="${ids:+$ids, }$partition_id"
describe_disk "$(readlink -f "$partition_id")" "$partition_id"
RET="$(printf %s "$RET" | sed 's/,/\\,/g')"
descriptions="${descriptions:+$descriptions, }$RET"
;;
esac
fi
done
db_subst "$question" RAW_CHOICES "$ids"
db_subst "$question" CHOICES "$descriptions"
db_input "$priority" "$question" || true
db_go
db_get "$question"
failed_devices=
for i in `echo $RET | sed -e 's/, / /g'` ; do
real_device="$(readlink -f "$i")"
if grub-install --target=i386-pc --force --no-floppy $real_device ; then
# We just installed GRUB 2; then also generate grub.cfg.
touch /boot/grub/grub.cfg
else
failed_devices="$failed_devices $real_device"
fi
done
if [ "$question" != grub-pc/install_devices ]; then
db_set grub-pc/install_devices "$RET"
db_fset grub-pc/install_devices seen true
fi
if [ "$failed_devices" ]; then
if [ "$UPGRADE_FROM_GRUB_LEGACY" ]; then
db_subst grub-pc/install_devices_failed_upgrade FAILED_DEVICES "$failed_devices"
db_fset grub-pc/install_devices_failed_upgrade seen false
if db_input critical grub-pc/install_devices_failed_upgrade; then
db_go
db_get grub-pc/install_devices_failed_upgrade
if [ "$RET" = true ]; then
db_fset "$question" seen false
db_fset grub-pc/install_devices_failed_upgrade seen false
continue
else
exit 1
fi
else
exit 1 # noninteractive
fi
else
db_subst grub-pc/install_devices_failed FAILED_DEVICES "$failed_devices"
db_fset grub-pc/install_devices_failed seen false
if db_input critical grub-pc/install_devices_failed; then
db_go
db_get grub-pc/install_devices_failed
if [ "$RET" = true ]; then
break
else
db_fset "$question" seen false
db_fset grub-pc/install_devices_failed seen false
continue
fi
else
break # noninteractive
fi
fi
fi
db_get grub-pc/install_devices
if [ -z "$RET" ]; then
# Reset the seen flag if the current answer is false, since
# otherwise we'll loop with no indication of why.
db_get grub-pc/install_devices_empty
if [ "$RET" = false ]; then
db_fset grub-pc/install_devices_empty seen false
fi
if db_input critical grub-pc/install_devices_empty; then
db_go
db_get grub-pc/install_devices_empty
if [ "$RET" = true ]; then
break
else
db_fset "$question" seen false
db_fset grub-pc/install_devices_empty seen false
fi
else
break # noninteractive
fi
else
break
fi
done
fi
# /boot/grub/ has more chances of being accessible by GRUB
for i in /usr/share/grub/unicode.pf2 ; do
if test -e $i ; then
mkdir -p /boot/grub
cp $i /boot/grub/
fi
done
if [ "$fix_mixed_system" ]; then
# These never contain any valuable information, and they aren't
# useful for boot any more, since we just overwrote MBR/PBR.
rm -f /boot/grub/{{xfs,reiserfs,e2fs,fat,jfs,minix}_stage1_5,stage{1,2}}
# Remove marker file used to indicate that grub-install was run
# rather than upgrade-from-grub-legacy. Since stage2 has been
# removed, we don't need this any more.
rm -f /boot/grub/grub2-installed
fi
;;
grub-efi-ia32|grub-efi-amd64|grub-efi-ia64|grub-efi-arm|grub-efi-arm64)
bootloader_id="$(config_item GRUB_DISTRIBUTOR | tr A-Z a-z | \
cut -d' ' -f1)"
case $bootloader_id in
kubuntu) bootloader_id=ubuntu ;;
esac
if dpkg --compare-versions "$2" lt-nl 2.02~beta2-36ubuntu3.10; then
if [ -e "/boot/efi/EFI/${bootloader_id}/fbx64.efi" ]; then
rm -f "/boot/efi/EFI/${bootloader_id}/fbx64.efi";
fi
fi
if [ "$bootloader_id" ] && [ -d "/boot/efi/EFI/$bootloader_id" ]; then
case grub-efi-amd64 in
grub-efi-ia32) target=i386-efi ;;
grub-efi-amd64) target=x86_64-efi ;;
grub-efi-ia64) target=ia64-efi ;;
grub-efi-arm) target=arm-efi ;;
grub-efi-arm64) target=arm64-efi ;;
esac
db_get grub2/force_efi_extra_removable
if [ "$RET" = true ]; then
FORCE_EXTRA_REMOVABLE="--force-extra-removable"
fi
run_grub_install --target="$target" "$FORCE_EXTRA_REMOVABLE"
fi
# /boot/grub/ has more chances of being accessible by GRUB
for i in /usr/share/grub/unicode.pf2 ; do
if test -e $i ; then
mkdir -p /boot/grub
cp $i /boot/grub/
fi
done
if type update-secureboot-policy >/dev/null 2>&1; then
update-secureboot-policy || true
fi
;;
grub-ieee1275)
case $(dpkg --print-architecture) in
ppc64el)
# Output may be empty; if so, just update the core image but
# don't install it to any PReP partition.
prep_bootdev="$(/usr/lib/grub/powerpc-ieee1275/prep-bootdev)"
run_grub_install --target=powerpc-ieee1275 $prep_bootdev
;;
esac
;;
grub-yeeloong)
run_grub_install --target=mipsel-loongson
;;
grub-xen)
# Install for x86_64 regardless of arch, since a 32-bit userspace can still boot with a 64-bit kernel.
mkdir -p /boot/xen
run_grub_install --target=x86_64-xen
case $(dpkg --print-architecture) in
i386)
run_grub_install --target=i386-xen
;;
esac
;;
esac
# If grub.cfg has been generated, update it.
if test -e /boot/grub/grub.cfg && ! running_in_container; then
update-grub 3>&-
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installdeb
dpkg-maintscript-helper dir_to_symlink /usr/share/doc/grub-efi-amd64 grub-common 1.99-1~ -- "$@"
# End automatically added section
exit 0
Hors ligne