web-dev-qa-db-fra.com

Erreur lors de la mise à jour de Sudo apt dans le système de démarrage permanent persistant (Ubuntu 16.04 LTS)

J'ai eu le problème suivant lors de l'exécution de la mise à jour d'apt-get pour Sudo lors de la tentative d'installation de paquets opencv et python:

root@ubuntu:~# apt-get update
Ign:1 cdrom://Ubuntu 16.04.2 LTS _Xenial Xerus_ - Release AMD64 (20170215.2) xenial InRelease
Hit:2 cdrom://Ubuntu 16.04.2 LTS _Xenial Xerus_ - Release AMD64 (20170215.2) xenial Release Ign:4 http://dl.google.com/linux/chrome/deb stable InRelease Hit:5 http://dl.google.com/linux/chrome/deb stable Release Get:6 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Hit:8 http://archive.ubuntu.com/ubuntu xenial InRelease Get:9 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB] Get:10 http://security.ubuntu.com/ubuntu xenial-security/main AMD64 DEP-11 Metadata [60.2 kB] Ign:11 http://www.openprinting.org/download/printdriver/debian lsb3.2 InRelease Get:12 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [57.6 kB] Get:13 http://security.ubuntu.com/ubuntu xenial-security/universe AMD64 DEP-11 Metadata [49.7 kB] Get:14 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [80.0 kB] Hit:15 http://www.openprinting.org/download/printdriver/debian lsb3.2 Release Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/main AMD64 DEP-11 Metadata [305 kB] Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [217 kB] Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/universe AMD64 DEP-11 Metadata [173 kB] Get:20 http://archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [240 kB] Get:21 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse AMD64 DEP-11 Metadata [5,892 B]
Fetched 1,392 kB in 1s (1,068 kB/s)
** (appstreamcli:7142): CRITICAL **: Error while moving old database out of the way.
AppStream cache update failed.
Reading package lists... Done W: http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/Release.gpg: Signature by key F8897B6F00075648E248B7EC24CBF5474CFD1E2F uses weak digest algorithm (SHA1) 

Pour atténuer le problème de cache AppStream, je me suis référé à ce message: Impossible de 'apt-get dist-upgrade' sur une clé USB persistante Ubuntu 16.04 et a exécuté ce qui suit:

root@ubuntu:~# Sudo chmod -R a+rX,u+w /var/cache/app-info/xapian/default
root@ubuntu:~# apt-get update
Ign:1 cdrom://Ubuntu 16.04.2 LTS _Xenial Xerus_ - Release AMD64 (20170215.2) xenial InRelease
Hit:2 cdrom://Ubuntu 16.04.2 LTS _Xenial Xerus_ - Release AMD64 (20170215.2) xenial Release Ign:4 http://dl.google.com/linux/chrome/deb stable InRelease Hit:5 http://dl.google.com/linux/chrome/deb stable Release Hit:7 http://security.ubuntu.com/ubuntu xenial-security InRelease Hit:8 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:9 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Ign:10 http://www.openprinting.org/download/printdriver/debian lsb3.2 InRelease Hit:11 http://www.openprinting.org/download/printdriver/debian lsb3.2 Release
Reading package lists... Done W: http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/Release.gpg: Signature by key F8897B6F00075648E248B7EC24CBF5474CFD1E2F uses weak digest algorithm (SHA1)

Je ne savais pas exactement ce qui causait ce problème. Par conséquent, j'ai également essayé d'apt get upgrade et j'ai obtenu ce qui suit dans ma ligne de commande:

root@ubuntu:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
gnome-software gnome-software-common libegl1-mesa libgbm1 libgl1-mesa-dri libinput10 libmirclient9 libwayland-egl1-mesa libxatracker2
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04
linux-signed-image-generic-hwe-16.04 python3-software-properties python3-update-manager software-properties-common software-properties-gtk
ubuntu-software update-manager update-manager-core update-notifier update-notifier-common xserver-xorg-core-hwe-16.04
xserver-xorg-hwe-16.04 xserver-xorg-input-evdev-hwe-16.04 xserver-xorg-input-synaptics-hwe-16.04 xserver-xorg-input-wacom-hwe-16.04
xserver-xorg-video-amdgpu-hwe-16.04 xserver-xorg-video-ATI-hwe-16.04 xserver-xorg-video-fbdev-hwe-16.04 xserver-xorg-video-intel-hwe-16.04
xserver-xorg-video-nouveau-hwe-16.04 xserver-xorg-video-qxl-hwe-16.04 xserver-xorg-video-radeon-hwe-16.04 xserver-xorg-video-vesa-hwe-16.04
xserver-xorg-video-vmware-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up cryptsetup (2:1.6.6-5ubuntu2.1) ...
update-initramfs is disabled since running on read-only media
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: Service checkroot has to be enabled to start service cryptdisks-early
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package cryptsetup (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of ubiquity:
ubiquity depends on cryptsetup; however:
Package cryptsetup is not configured yet.
dpkg: error processing package ubiquity (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ubiquity-frontend-gtk:
ubiquity-frontend-gtk depends on ubiquity (= 2.21.63.4); however:
Package ubiquity is not configured yet.
dpkg: error processing package ubiquity-frontend-gtk (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
cryptsetup
ubiquity
ubiquity-frontend-gtk
E: Sub-process /usr/bin/dpkg returned an error code (1) 

J'ai aussi essayé la commande suivante (Référence: https://askubuntu.com/a/899786/484475 ):

root@ubuntu:~# Sudo apt-get autoremove && Sudo apt-get autoclean
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up cryptsetup (2:1.6.6-5ubuntu2.1) ...
update-initramfs is disabled since running on read-only media
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: Service checkroot has to be enabled to start service cryptdisks-early
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package cryptsetup (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of ubiquity:
ubiquity depends on cryptsetup; however:
Package cryptsetup is not configured yet.
dpkg: error processing package ubiquity (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ubiquity-frontend-gtk:
ubiquity-frontend-gtk depends on ubiquity (= 2.21.63.4); however:
Package ubiquity is not configured yet.
dpkg: error processing package ubiquity-frontend-gtk (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
cryptsetup
ubiquity
ubiquity-frontend-gtk
E: Sub-process /usr/bin/dpkg returned an error code (1) 

J'ai de nouveau fait référence à un autre lien pdate-rc.d: erreur: insserv a rejeté l'en-tête de script. Dpkg: erreur de traitement du paquet util-linux (--configure): mais je ne trouve pas d'en-têtes init manquants pour cryptsetup. Une autre réponse indique que le problème est lié au séquençage du démarrage: https://unix.stackexchange.com/questions/289667/unable-to-install-anything-using-apting-get-because-of-insserv mais je ne trouve aucun problème avec l'en-tête. J'en déduis qu'il existe des dépendances entre les paquets et j'ai donc essayé la commande suivante (lien de référence: erreur cryptsetup lors de la mise à niveau Sudo-apt ):

root@ubuntu:~# Sudo dpkg --configure cryptsetup
Setting up cryptsetup (2:1.6.6-5ubuntu2.1) ...
update-initramfs is disabled since running on read-only media
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: Service checkroot has to be enabled to start service cryptdisks-early
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package cryptsetup (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
Cryptsetup 

Une autre tentative pour résoudre le problème:

root@ubuntu:~# Sudo dpkg --configure --pending
Setting up cryptsetup (2:1.6.6-5ubuntu2.1) ...
update-initramfs is disabled since running on read-only media
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: Service checkroot has to be enabled to start service cryptdisks-early
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package cryptsetup (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of ubiquity:
ubiquity depends on cryptsetup; however:
Package cryptsetup is not configured yet.
dpkg: error processing package ubiquity (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ubiquity-frontend-gtk:
ubiquity-frontend-gtk depends on ubiquity (= 2.21.63.4); however:
Package ubiquity is not configured yet.
dpkg: error processing package ubiquity-frontend-gtk (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
cryptsetup
ubiquity
ubiquity-frontend-gtk 

Tout ce que j'essaie (y compris la déclaration claire) me redirige vers le même problème de:

Errors were encountered while processing:
cryptsetup
ubiquity
ubiquity-frontend-gtk

Comme dernière tentative, j'ai essayé de chercher quel était le problème et trouvé ceci en ligne https://superuser.com/questions/903142/how-to-run-update-initramfs-from-bootable-usb = vérifier la cause du problème update-initramfs is disabled since running on read-only media et trouver la solution au-delà de mes capacités.

Sudo dpkg --configure cryptsetup
Setting up cryptsetup (2:1.6.6-5ubuntu2.1) ...
update-initramfs is disabled since running on read-only media
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: Service checkroot has to be enabled to start service cryptdisks-early
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package cryptsetup (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 cryptsetup

Puisque dpkg reconfigure cryptsetup dépend de la racine du disque, je ne suis pas sûr de ce qu'il faut faire. J'ai posté le contenu de checkroot.sh:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          checkroot mtab
# Required-Start:    mountdevsubfs hostname
# Required-Stop:     
# Should-Start:      keymap hwclockfirst hdparm bootlogd
# Should-stop:
# Default-Start:     S
# Default-Stop:
# X-Interactive:     true
# Short-Description: Check to root file system.
### END INIT INFO
# Include /usr/bin in path to find on_ac_power if /usr/ is on the root
# partition.
PATH=/sbin:/bin:/usr/bin
FSCK_LOGFILE=/var/log/fsck/checkroot
[ "$FSCKFIX" ] || FSCKFIX=no
[ "$SULOGIN" ] || SULOGIN=no
. /lib/init/vars.sh
. /lib/lsb/init-functions
. /lib/init/mount-functions.sh
do_start () {
    # Trap SIGINT so that we can handle user interrupt of fsck.
    trap "" INT
    #
    # Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to
    # be spawned from this script *before anything else* with a timeout,
    # like sysv does.
    #
    [ "$SULOGIN" = yes ] && sulogin -t 30 $CONSOLE
    KERNEL="$(uname -s)"
    MACHINE="$(uname -m)"
    read_fstab
    #
    # Activate the swap device(s) in /etc/fstab. This needs to be done
    # before fsck, since fsck can be quite memory-hungry.
    #
    ENABLE_SWAP=no
    case "$KERNEL" in
      Linux)
        if [ "$NOSWAP" = yes ]
        then
            [ "$VERBOSE" = no ] || log_warning_msg "Not activating swap as requested via bootoption noswap."
            ENABLE_SWAP=no
        else
            if [ "$swap_on_lv" = yes ]
            then
                [ "$VERBOSE" = no ] || log_warning_msg "Not activating swap on logical volume."
            Elif [ "$swap_on_file" = yes ]
            then
                [ "$VERBOSE" = no ] || log_warning_msg "Not activating swap on swapfile."
            else
                ENABLE_SWAP=yes
            fi
        fi
        ;;
      *)
        ENABLE_SWAP=yes
        ;;
    esac
    if [ "$ENABLE_SWAP" = yes ]
    then
        if [ "$VERBOSE" = no ]
        then
            log_action_begin_msg "Activating swap"
            swapon -a -e >/dev/null 2>&1
            log_action_end_msg $?
        else
            log_daemon_msg "Activating swap"
            swapon -a -v
            log_end_msg $?
        fi
    fi
    #
    # Does the root device in /etc/fstab match with the actual device ?
    # If not we try to use the /dev/root alias device, and if that
    # fails we create a temporary node in /run.
    #
    # Do this only on Linux. Neither kFreeBSD nor Hurd have
    # /dev/root and the device ids used here are specific to
    # Linux.
    KERNEL="$(uname)"
    if [ "$rootcheck" = yes ] && [ "$KERNEL" = Linux ]
    then
        ddev="$(mountpoint -qx $rootdev)"
        rdev="$(mountpoint -d /)"
        if [ "$ddev" != "$rdev" ] && [ "$ddev" != "4:0" ]
        then
            if [ "$(mountpoint -qx /dev/root)" = "4:0" ]
            then
                rootdev=/dev/root
            else
                if \
                    rm -f /run/rootdev \
                    && mknod -m 600 /run/rootdev b ${rdev%:*} ${rdev#*:} \
                    && [ -e /run/rootdev ]
                then
                    rootdev=/run/rootdev
                else
                    rootfatal=yes
                fi
            fi
        fi
    fi
    #
    # Bother, said Pooh.
    #
    if [ "$rootfatal" = yes ]
    then
        log_failure_msg "The device node $rootdev for the root filesystem is missing or incorrect 
or there is no entry for the root filesystem listed in /etc/fstab. 
The system is also unable to create a temporary node in /run. 
This means you have to fix the problem manually."
        log_warning_msg "A maintenance Shell will now be started. 
CONTROL-D will terminate this Shell and restart the system."
        # Start a single user Shell on the console
        if ! sulogin $CONSOLE
        then
            log_failure_msg "Attempt to start maintenance Shell failed. 
Will restart in 5 seconds."
            sleep 5
        fi
        [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
        reboot -f
    fi
    # See if we're on AC Power.  If not, we're not gonna run our
    # check.  If on_ac_power (in /usr/) is unavailable, behave as
    # before and check all file systems needing it.
# Disabled AC power check until fsck can be told to only check the
# file system if it is corrupt when running on battery. (bug #526398)
#   if which on_ac_power >/dev/null 2>&1 && [ "$rootcheck" = yes ]
#   then
#       on_ac_power >/dev/null 2>&1
#       if [ "$?" -eq 1 ]
#       then
#           log_warning_msg "On battery power, so skipping file system check."
#           rootcheck=no
#       fi
#   fi
    #
    # See if we want to check the root file system.
    #
    FSCKCODE=0
    if [ -e /run/initramfs/fsck-root ]
    then
        rootcheck=no
    fi
    if is_fastboot_active
    then
        [ "$rootcheck" = yes ] && log_warning_msg "Fast boot enabled, so skipping root file system check."
        rootcheck=no
    fi
    if which findmnt >/dev/null 2>&1
    then
        if [ "$(findmnt -f -n -o FSTYPE /)" = "btrfs" ]
        then
            [ "$rootcheck" = yes ] && log_warning_msg "btrfs root detected, so skipping root file system check."
            rootcheck=no
        fi
    fi
    if [ "$rootcheck" = yes ]
    then
        #
        # Ensure that root is quiescent and read-only before fsck'ing.
        #
        # mount -n -o remount,ro / would be the correct syntax but
        # mount can get confused when there is a "bind" mount defined
        # in fstab that bind-mounts "/" somewhere else.
        #
        # So we use mount -n -o remount,ro $rootdev / but that can
        # fail on older kernels on sparc64/alpha architectures due
        # to a bug in sys_mount().
        #
        # As a compromise we try both.
        #
        if \
            ! mount    -n -o remount,ro              $rootdev /              \
            && ! mount -n -o remount,ro -t dummytype $rootdev /  2>/dev/null \
            && ! mount -n -o remount,ro                       /  2>/dev/null
        then
            log_failure_msg "Cannot check root file system because it is not mounted read-only."
            rootcheck=no
        fi
    fi
    #
    # The actual checking is done here.
    #
    if [ "$rootcheck" = yes ]
    then
        if [ -f /forcefsck ] || grep -q -s -w -i "forcefsck" /proc/cmdline
        then
            force="-f"
        else
            force=""
        fi
        if [ "$FSCKFIX" = yes ]
        then
            fix="-y"
        else
            fix="-a"
        fi
        spinner="-C"
        case "$TERM" in
          dumb|network|unknown|"")
            spinner="" ;;
        esac
        # This Linux/s390x special case should go away.
        if [ "${KERNEL}:${MACHINE}" = Linux:s390x ]
        then
            spinner=""
        fi
        if [ "$VERBOSE" = no ]
        then
            log_action_begin_msg "Checking root file system"
            logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -t $roottype $rootdev
            FSCKCODE=$?
            if [ "$FSCKCODE" = 0 ]
            then
                log_action_end_msg 0
            else
                log_action_end_msg 1 "code $FSCKCODE"
            fi
        else
            log_daemon_msg "Will now check root file system"
            logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -V -t $roottype $rootdev
            FSCKCODE=$?
            log_end_msg $FSCKCODE
        fi
    fi
    #
    # If there was a failure, drop into single-user mode.
    #
    # NOTE: "failure" is defined as exiting with a return code of
    # 4 or larger. A return code of 1 indicates that file system
    # errors were corrected but that the boot may proceed. A return
    # code of 2 or 3 indicates that the system should immediately reboot.
    #
    if [ "$FSCKCODE" -eq 32 ]
    then
        log_warning_msg "File system check was interrupted by user"
    Elif [ "$FSCKCODE" -gt 3 ]
    then
        # Surprise! Re-directing from a HERE document (as in "cat << EOF")
        # does not work because the root is currently read-only.
        log_failure_msg "An automatic file system check (fsck) of the root filesystem failed. 
A manual fsck must be performed, then the system restarted. 
The fsck should be performed in maintenance mode with the 
root filesystem mounted in read-only mode."
        log_warning_msg "The root filesystem is currently mounted in read-only mode. 
A maintenance Shell will now be started. 
After performing system maintenance, press CONTROL-D 
to terminate the maintenance Shell and restart the system."
        # Start a single user Shell on the console
        if ! sulogin $CONSOLE
        then
            log_failure_msg "Attempt to start maintenance Shell failed. 
Will restart in 5 seconds."
            sleep 5
        fi
        [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
        reboot -f
    Elif [ "$FSCKCODE" -gt 1 ]
    then
        log_failure_msg "The file system check corrected errors on the root partition 
but requested that the system be restarted."
        log_warning_msg "The system will be restarted in 5 seconds."
        sleep 5
        [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
        reboot -f
    fi
    #
    # Remount root to final mode (rw or ro).
    #
    # See the comments above at the previous "mount -o remount"
    # for an explanation why we try this twice.
    #
    if ! mount -n -o remount,$rootopts,$rootmode $fstabroot / 2>/dev/null
    then
        mount -n -o remount,$rootopts,$rootmode /
    fi
    # If possible, migrate /etc/mtab to be a symlink to
    # /proc/mounts.  Note that not all systems e.g. Hurd currently
    # support this.
    if [ "$rootmode" != "ro" ]; then
        mtab_migrate
    fi
    if selinux_enabled && [ -x /sbin/restorecon ] && [ -r /etc/mtab ]
    then
        restorecon /etc/mtab
    fi
    #
    # Remove /run/rootdev if we created it.
    #
    rm -f /run/rootdev
    # Update mount options for mounts created in early boot
    # S01mountkernfs.sh
    /etc/init.d/mountkernfs.sh reload
    # S03mountdevsubfs.sh
    /etc/init.d/mountdevsubfs.sh reload
}
do_status () {
    # If / is read-write or swap is enabled, this script have done
    # its job.
    rootrw=false
    swapon=false
    if [ -f /etc/mtab ] ; then
        if grep " / " /etc/mtab |grep -q rw ; then
        rootrw=true
        fi
    fi
    if [ -f /proc/swaps ] ; then
        if [ "$(cat /proc/swaps |grep -v ^Filename)" ] ; then
        swapon=true
        fi
    fi
    if [ true = "$rootrw" ] || [ true = "$swapon" ] ; then
        return 0
    else
        return 4
    fi
}
case "$1" in
  start|"")
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    # No-op
    ;;
  status)
    do_status
    exit $?
    ;;
  *)
    echo "Usage: checkroot.sh [start|stop]" >&2
    exit 3
    ;;
esac
:

Aidez-moi à résoudre le problème ci-dessus. Je suis nouveau sur Linux. Des réponses simples seront très appréciées.

4
thegreatcoder

La réponse simple est que vous abusez du mécanisme de persistance et que vous devez arrêter =)

La réponse un peu plus longue est que la persistance utilise un mécanisme COW (copie sur écriture) - https://en.wikipedia.org/wiki/Copy-on-write

Désolé pour le lien Wikipedia =)

Donc, l'iso (techniquement le système de fichiers racine, squashfs) est un système de fichiers en lecture seule. Ce système de fichiers "iso" ou racine ne peut jamais être modifié, ni remasterisé l'iso.

Entrez l'idée de persistance, un mécanisme pour créer une superposition si vous voulez. Ainsi, si vous mettez à jour votre système ou apportez des modifications, les modifications sont apportées à un fichier (persistance) et non à l'iso.

Cela fonctionne bien pour des tâches simples telles que la modification de votre interface, la personnalisation du bureau, la sauvegarde de données, la sauvegarde de mots de passe sans fil.

Mais le système COW tombe en panne et vous apportez des modifications sur les modifications. Donc, vous avez un système de fichiers de base RO, et vous exécutez Sudo apt-update encore et encore, le système COW n'est pas une base de données pour gérer toutes les modifications apportées aux modifications et éventuellement échouer.

Le correctif consiste à:

  1. Utilisez la persistance avec parcimonie et apportez le moins de modifications possible, en stockant peut-être les paramètres utilisateur, les mots de passe sans fil et en installant une fois certaines applications. Mais n'abusez pas de lui en le considérant comme un système installé et essayez de lancer Sudo apt update && Sudo apt upgrade, le COW ne peut pas gérer plusieurs modifications apportées à des centaines de paquets.

  2. Il suffit de faire une installation régulière. Probablement la meilleure idée car vous avez évidemment l’intention de continuer à utiliser Ubuntu.

J'espère que cette réponse n'est pas trop technique et j'espère ne pas trop simplifier la situation.

6
Panther

J'ai rencontré le même problème que le vôtre (je suis aussi sur un Linux persistant sur un lecteur USB).

Il semble que le paquet cryptsetup soit responsable ici. (Comme Panther l'a dit, vous ne pouvez pas chiffrer votre fichier iso d'origine)

Pour mettre à jour le reste de vos paquets, vous pouvez faire:

Sudo apt-mark hold cryptsetup

afin d'empêcher la mise à niveau de ce paquet.

Ensuite, vous pouvez exécuter un Sudo apt-get upgrade régulier, cela a parfaitement fonctionné pour moi.

3
Klemek