web-dev-qa-db-fra.com

Je ne suis pas du tout en mesure d'utiliser la commande APT

Je ne peux pas utiliser la commande APT du tout, chaque fois que j'essaie de l'utiliser, j'obtiens ceci:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  haguichi-indicator
The following packages will be REMOVED:
  linux-image-4.4.0-36-generic linux-image-4.4.0-38-generic
  linux-image-4.4.0-42-generic linux-image-4.4.0-45-generic
  linux-image-extra-4.4.0-36-generic linux-image-extra-4.4.0-38-generic
  linux-image-extra-4.4.0-42-generic linux-image-extra-4.4.0-45-generic
The following NEW packages will be installed:
  haguichi haguichi-indicator
0 upgraded, 2 newly installed, 8 to remove and 9 not upgraded.
16 not fully installed or removed.
Need to get 311 kB of archives.
After this operation, 871 MB disk space will be freed.
Get:1 http://ppa.launchpad.net/webupd8team/haguichi/ubuntu xenial/main AMD64 haguichi AMD64 1.3.6~ubuntu16.04.1 [295 kB]
Get:2 http://ppa.launchpad.net/webupd8team/haguichi/ubuntu xenial/main AMD64 haguichi-indicator AMD64 0.3.2~ubuntu16.04.1 [16.4 kB]
Fetched 311 kB in 33s (9,292 B/s)                                              
(Reading database ... 350665 files and directories currently installed.)
Removing linux-image-extra-4.4.0-36-generic (4.4.0-36.55) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-36-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
Error! Your kernel headers for kernel 4.4.0-36-generic cannot be found.
Please install the linux-headers-4.4.0-36-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-36-generic cannot be found.
Please install the linux-headers-4.4.0-36-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-36-generic cannot be found.
Please install the linux-headers-4.4.0-36-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-36-generic
WARNING: missing /lib/modules/4.4.0-36-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.4.0-36-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_shj3j9/lib/modules/4.4.0-36-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_shj3j9/lib/modules/4.4.0-36-generic/modules.builtin: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-extra-4.4.0-36-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-4.4.0-36-generic (4.4.0-36.55) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-36-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-36-generic /boot/vmlinuz-4.4.0-36-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: 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-36-generic.postrm line 328.
dpkg: error processing package linux-image-4.4.0-36-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-extra-4.4.0-38-generic (4.4.0-38.57) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-38-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
Error! Your kernel headers for kernel 4.4.0-38-generic cannot be found.
Please install the linux-headers-4.4.0-38-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-38-generic cannot be found.
Please install the linux-headers-4.4.0-38-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-38-generic cannot be found.
Please install the linux-headers-4.4.0-38-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-38-generic
WARNING: missing /lib/modules/4.4.0-38-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.4.0-38-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_q0p1fx/lib/modules/4.4.0-38-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_q0p1fx/lib/modules/4.4.0-38-generic/modules.builtin: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-extra-4.4.0-38-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-4.4.0-38-generic (4.4.0-38.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-38-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: 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-38-generic.postrm line 328.
dpkg: error processing package linux-image-4.4.0-38-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Removing linux-image-extra-4.4.0-42-generic (4.4.0-42.62) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-42-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
Error! Your kernel headers for kernel 4.4.0-42-generic cannot be found.
Please install the linux-headers-4.4.0-42-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-42-generic cannot be found.
Please install the linux-headers-4.4.0-42-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-42-generic cannot be found.
Please install the linux-headers-4.4.0-42-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-42-generic
WARNING: missing /lib/modules/4.4.0-42-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.4.0-42-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_sRVHmx/lib/modules/4.4.0-42-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_sRVHmx/lib/modules/4.4.0-42-generic/modules.builtin: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-extra-4.4.0-42-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Removing linux-image-4.4.0-42-generic (4.4.0-42.62) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-42-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: 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-42-generic.postrm line 328.
dpkg: error processing package linux-image-4.4.0-42-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Removing linux-image-extra-4.4.0-45-generic (4.4.0-45.66) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-45-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
Error! Your kernel headers for kernel 4.4.0-45-generic cannot be found.
Please install the linux-headers-4.4.0-45-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-45-generic cannot be found.
Please install the linux-headers-4.4.0-45-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.4.0-45-generic cannot be found.
Please install the linux-headers-4.4.0-45-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-45-generic
WARNING: missing /lib/modules/4.4.0-45-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.4.0-45-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_lvRMvc/lib/modules/4.4.0-45-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_lvRMvc/lib/modules/4.4.0-45-generic/modules.builtin: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: not found
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-extra-4.4.0-45-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Removing linux-image-4.4.0-45-generic (4.4.0-45.66) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
update-initramfs: Deleting /boot/initrd.img-4.4.0-45-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: 10: 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-45-generic.postrm line 328.
dpkg: error processing package linux-image-4.4.0-45-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 linux-image-extra-4.4.0-36-generic
 linux-image-4.4.0-36-generic
 linux-image-extra-4.4.0-38-generic
 linux-image-4.4.0-38-generic
 linux-image-extra-4.4.0-42-generic
 linux-image-4.4.0-42-generic
 linux-image-extra-4.4.0-45-generic
 linux-image-4.4.0-45-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

aucune suggestion? Et je ne peux pas supprimer les paquets problématiques, je ne sais pas pourquoi.

2

Je rencontre tout le temps ce genre de problème. Je lance un tas de boîtes Kodi (que j'ai créées) qui démarrent toutes à partir d'un serveur dédié via PXE. Donc, souvent lorsque je vais mettre à jour mes boîtes PXE via chroot (ou autre), je rencontre des problèmes de mise à jour du noyau. Donc, récemment, j'ai décidé de créer un script qui créera la merde que depmod/apt-get recherche pour que vous puissiez supprimer correctement ces noyaux.

Pour exécuter le script, copiez et collez simplement le code dans un fichier. Dans le terminal, rendez-le exécutable en tapant:

$> chmod +x fixKernels.sh

Le "fixKernels.sh" étant le nom du script.

À partir de là, exécutez le script en tapant:

$> Sudo ./fixKernels.sh

Et puis suivez simplement les instructions.

#!/bin/bash

####################################################
#
# NAME: fixKernels.sh
#
#
# DESCRIPTION: This script was designed to create
# fake kernel entries in places depmod and apt-get
# would normally look for existing kernels. The purpose
# of this script is to trick depmod or apt-get into
# believing these kernels exist on your system so it
# can successfully remove them without causing errors
# and preventing YOU from installing other things.
#
####################################################

# Spinner! Shows a rotating line animation
spinner()
{
    sleep 1
    PROC=$1
    BACKSPACE='\010'
    SPINNER='|/-\'
    INDEX=0
    while [ -d /proc/$PROC ]
    do
        echo -n -e "${SPINNER:$INDEX:1}"
        sleep 0.2
        (( INDEX = ($INDEX + 1) % 4 ))
        echo -n -e "$BACKSPACE"

    done

}

# Check for root
cp /etc/shadow /tmp/isroot 2>/dev/null

# IF ROOT
if [ ! -f /tmp/isroot ]; then
    echo "You ain't root, baby!"
    exit
else
    # Remove temp file
    rm /tmp/isroot
fi

# Make sure parameter is not empty
if [[ $1 != "" ]] && [[ `echo $1 | grep -i "linux"` == "" ]]; then

    # Needed echo! Great for displaying purposes
    echo

    # Determine if uname exists
    if [[ ! -d /lib/modules/`uname -r` ]]; then

        # Examine all the kernels found on the system
        for x in `ls -l /lib/modules | awk '{print $9}'`
        do

            # Determine that all the pieces exist before we use them!
            if [[ -f /boot/System.map-$x ]] && [[ -f /boot/vmlinuz-$x ]]; then

                # Use whatever we've got!!
                UNAME=$x

            fi


        done

        # IF the pieces aren't found... Not much else we can do!!
        if [[ $UNAME == "" ]]; then

            # Error
            echo "There's no kernel found on your system!! How are you reading this??"

            # Exit the script
            exit

        fi

    else # We've got what we need

        UNAME=`uname -r`
    fi

    # Make sure the kernel isn't copying on top of itself
    if [[ $1 != $UNAME ]]; then

        # Create a fake version of that kernel
        echo "Creating Fake System Map..."
        Sudo cp /boot/System.map-$UNAME /boot/System.map-$1 -rfap &

        # Create a short animation to show user it's working
        spinner $!

        # Create the vmlinuz... But it's fake
        echo "Creating Fake Vmlinuz..."
        Sudo cp /boot/vmlinuz-$UNAME /boot/vmlinuz-$1 -rfap &

        # Create a short animation
        spinner $!

        # Create the fake modules
        echo "Creating Fake Kernel Modules..."
        Sudo cp /lib/modules/$UNAME /lib/modules/$1 -rfap &

        # Create a short animation
        spinner $!
    else

        # Warn user
        echo "This kernel exists... Skipping!"

    fi

else

    echo "USAGE: ./`basename $0` <kernel version>"
    echo "EXAMPLE: ./`basename $0` 4.4.0-31-generic"
fi
1
Qchan