Ошибка при выполнении обновления sudo apt в постоянной системе загрузки (ubuntu 16.04 LTS)

У меня возникла следующая проблема при выполнении обновления sudo apt-get при попытке установить пакеты opencv и 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)

Чтобы уменьшить проблему кэша AppStream, я ссылался на этот пост: apt-get dist-upgrade "на постоянном Ubuntu 16.04 USB и выполнил следующее:

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)

Я не был уверен, что именно вызвало эту проблему. Поэтому я также попробовал apt получить обновление и получил следующее в моей командной строке:

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)

Я также попробовал следующую команду (Ссылка: Не удалось выполнить «apt-get dist-upgrade» на Постоянный Ubuntu 16.04 USB ):

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)

Я снова ссылался на другую ссылку update-rc.d: error: insserv отклонил заголовок сценария dpkg: erreur de traitement du paquet util-linux ( --configure): но я не вижу отсутствующих заголовков init для cryptsetup. В другом ответе говорится, что проблема связана с секвенированием загрузки: https://unix.stackexchange.com/questions/289667/unable-to-install-anything-using-apt-get-because-of-insserv, но я не могу для поиска любых проблем с заголовком. Я предполагаю, что существуют зависимости между пакетами и, следовательно, попробовал следующую команду (ссылка: ошибка cryptsetup при выполнении sudo-apt upgrade):

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

Еще одна попытка исправить проблему:

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

Все, что я пытаюсь (включая чистый отчет), перенаправляет меня на ту же проблему:

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

Как последняя попытка, я попытался найти, в чем проблема, и нашел это онлайн update-rc.d: ошибка: insserv отклонил заголовок сценария dpkg: erreur de traitement du paquet util-linux (--configure): , чтобы проверить, что вызывает проблему update-initramfs is disabled since running on read-only media, и нашел решение

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

Поскольку dpkg перенастроить cryptsetup, зависит от checkroot, я не уверен, что делать. Я разместил содержимое 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 :

Пожалуйста, помогите мне решить вышеупомянутую проблему. Я новичок в Linux. Простые ответы будут высоко оценены.

4
задан 19 October 2017 в 07:00

6 ответов

Простой ответ: вы злоупотребляете механизмом персистентности, и вам нужно остановиться =)

Несколько более длинный ответ - это постоянство, использующее механизм COW (копирование при записи) - https: //en.wikipedia .org / wiki / Copy-on-write

Извините за ссылку в Википедии =)

Итак, iso (хорошо технически корневая файловая система, squashfs) является файловой системой только для чтения , Эта «iso» или корневая файловая система никогда не может быть изменена короткими или ремастеризующими iso.

Введите идею сохранения, механизм создания наложения, если хотите. Поэтому, если вы обновляете свою систему или вносите изменения, изменения вносятся в файл (постоянство), а не в iso.

Это хорошо работает для простых задач, таких как настройка вашего интерфейса, настройка рабочего стола, сохранение некоторых данных, сохранение беспроводных паролей.

Но система COW распадается, и вы вносите изменения в изменения. Таким образом, у вас есть базовая файловая система RO, и вы запускаете sudo apt-update снова и снова, система COW не является базой данных для устранения всех этих изменений изменений в изменениях и в конечном итоге не выполняется.

Исправление либо:

Использовать Persistence экономно и сделать как можно меньше изменений, возможно, сохранить пользовательские настройки, беспроводные пароли и одновременно установить некоторые приложения. Но не злоупотребляйте им, рассматривая его как установленную систему и пытайтесь запустить sudo apt update && sudo apt upgrade, COW не может обрабатывать несколько изменений сотен пакетов. Просто выполните обычную установку. Вероятно, лучшая идея, поскольку вы, очевидно, намерены продолжать использовать Ubuntu.

Надеюсь, что ответ не слишком технический, и я надеюсь, что я не слишком упрощал ситуацию.

6
ответ дан 22 May 2018 в 17:25
  • 1
    Спасибо огромное! Да, это все прояснилось! :) – Shubashree 19 October 2017 в 07:28
  • 2
    Я также столкнулся с этой проблемой: «Проблема в cryptsetup. В вашем системном разделе доступно менее 0,0 МБ свободного места, что приводит к проблемам с использованием приложений и установке обновлений. Пожалуйста, освободите место " Считаете ли вы, что это относится к приведенным выше командам? Я никогда на самом деле ничего не делал раньше, чем на моей ручке USb, и у нее было больше 20 ГБ пространства, выделенного для ОС. – Shubashree 19 October 2017 в 08:10
  • 3
    Я не уверен, но я предполагаю, что вы получаете это сообщение, поскольку корневая файловая система только для чтения, и это сообщение является предупреждением. У вас есть свободное пространство с COW / persistence. – Panther 19 October 2017 в 08:25

Простой ответ: вы злоупотребляете механизмом персистентности, и вам нужно остановиться =)

Несколько более длинный ответ - это постоянство, использующее механизм COW (копирование при записи) - https: //en.wikipedia .org / wiki / Copy-on-write

Извините за ссылку в Википедии =)

Итак, iso (хорошо технически корневая файловая система, squashfs) является файловой системой только для чтения , Эта «iso» или корневая файловая система никогда не может быть изменена короткими или ремастеризующими iso.

Введите идею сохранения, механизм создания наложения, если хотите. Поэтому, если вы обновляете свою систему или вносите изменения, изменения вносятся в файл (постоянство), а не в iso.

Это хорошо работает для простых задач, таких как настройка вашего интерфейса, настройка рабочего стола, сохранение некоторых данных, сохранение беспроводных паролей.

Но система COW распадается, и вы вносите изменения в изменения. Таким образом, у вас есть базовая файловая система RO, и вы запускаете sudo apt-update снова и снова, система COW не является базой данных для устранения всех этих изменений изменений в изменениях и в конечном итоге не выполняется.

Исправление либо:

Использовать Persistence экономно и сделать как можно меньше изменений, возможно, сохранить пользовательские настройки, беспроводные пароли и одновременно установить некоторые приложения. Но не злоупотребляйте им, рассматривая его как установленную систему и пытайтесь запустить sudo apt update && sudo apt upgrade, COW не может обрабатывать несколько изменений сотен пакетов. Просто выполните обычную установку. Вероятно, лучшая идея, поскольку вы, очевидно, намерены продолжать использовать Ubuntu.

Надеюсь, что ответ не слишком технический, и я надеюсь, что я не слишком упрощал ситуацию.

6
ответ дан 18 July 2018 в 05:05

Простой ответ: вы злоупотребляете механизмом персистентности, и вам нужно остановиться =)

Несколько более длинный ответ - это постоянство, использующее механизм COW (копирование при записи) - https: //en.wikipedia .org / wiki / Copy-on-write

Извините за ссылку в Википедии =)

Итак, iso (хорошо технически корневая файловая система, squashfs) является файловой системой только для чтения , Эта «iso» или корневая файловая система никогда не может быть изменена короткими или ремастеризующими iso.

Введите идею сохранения, механизм создания наложения, если хотите. Поэтому, если вы обновляете свою систему или вносите изменения, изменения вносятся в файл (постоянство), а не в iso.

Это хорошо работает для простых задач, таких как настройка вашего интерфейса, настройка рабочего стола, сохранение некоторых данных, сохранение беспроводных паролей.

Но система COW распадается, и вы вносите изменения в изменения. Таким образом, у вас есть базовая файловая система RO, и вы запускаете sudo apt-update снова и снова, система COW не является базой данных для устранения всех этих изменений изменений в изменениях и в конечном итоге не выполняется.

Исправление либо:

Использовать Persistence экономно и сделать как можно меньше изменений, возможно, сохранить пользовательские настройки, беспроводные пароли и одновременно установить некоторые приложения. Но не злоупотребляйте им, рассматривая его как установленную систему и пытайтесь запустить sudo apt update && sudo apt upgrade, COW не может обрабатывать несколько изменений сотен пакетов. Просто выполните обычную установку. Вероятно, лучшая идея, поскольку вы, очевидно, намерены продолжать использовать Ubuntu.

Надеюсь, что ответ не слишком технический, и я надеюсь, что я не слишком упрощал ситуацию.

6
ответ дан 24 July 2018 в 18:14

Я столкнулся с той же проблемой, что и ваш (у меня также есть постоянный Linux на диске usb).

Кажется, что здесь отвечает пакет cryptsetup. (Как говорит Пантера, вы не можете зашифровать исходный файл iso)

Чтобы обновить остальные пакеты, вы можете сделать:

sudo apt-mark hold cryptsetup

в чтобы этот пакет не обновлялся.

Затем вы можете снова запустить регулярный sudo apt-get upgrade, он отлично работал для меня.

2
ответ дан 22 May 2018 в 17:25

Я столкнулся с той же проблемой, что и ваш (у меня также есть постоянный Linux на диске usb).

Кажется, что здесь отвечает пакет cryptsetup. (Как говорит Пантера, вы не можете зашифровать исходный файл iso)

Чтобы обновить остальные пакеты, вы можете сделать:

sudo apt-mark hold cryptsetup

в чтобы этот пакет не обновлялся.

Затем вы можете снова запустить регулярный sudo apt-get upgrade, он отлично работал для меня.

2
ответ дан 18 July 2018 в 05:05

Я столкнулся с той же проблемой, что и ваш (у меня также есть постоянный Linux на диске usb).

Кажется, что здесь отвечает пакет cryptsetup. (Как говорит Пантера, вы не можете зашифровать исходный файл iso)

Чтобы обновить остальные пакеты, вы можете сделать:

sudo apt-mark hold cryptsetup

в чтобы этот пакет не обновлялся.

Затем вы можете снова запустить регулярный sudo apt-get upgrade, он отлично работал для меня.

2
ответ дан 24 July 2018 в 18:14

Другие вопросы по тегам:

Похожие вопросы: