Как мне apt-get -y dist-upgrade без подсказки конфигурации grub?

Я упрощаю вещи, но есть только два случая, когда выгружаемая память в swap копируется обратно в физическую RAM:

Там есть ошибка страницы (приложение пытается вызвать память, отображаемую для обмена). Вы используете sudo swapoff -a (и др.), Чтобы отключиться.

Все остальное имеет тенденцию быть пустой тратой времени. Память в свопе имеет тенденцию быть относительно неиспользованным, с низким уровнем трафика. Алгоритм Linux использует вещи, собирающиеся в swap, - это LRU (последнее время используется). Если вы столкнулись с ситуацией, когда вы пытаетесь разобраться с дисками и приложения останавливаются на ошибках страницы, проблема проста в исправлении: вам нужно больше оперативной памяти.

Память, просто сидящая на свопе, не замедлит работу компьютер. Это имеет только тот эффект, когда что-то должно застревать в swap и использоваться.

Примечание. Как я уже сказал, я упрощаю ситуацию здесь. Управление памятью - это абсолютно огромная тема, и мои несколько абзацев не выполняют никаких алгоритмов, их дизайнеров или их исполнителей. На протяжении многих лет у меня была своя доля битв с Linux-памятью и управлением кешем, но кое-что я узнал до сих пор: разработчики ядра знают больше, чем я. Они поставили вещи так, как они есть по причине.

1
задан 13 April 2017 в 15:24

2 ответа

уходит из ответа RAOF и, проведя бесчисленное количество часов в Интернете, чтобы иметь возможность полностью обновить обновление & amp; dist-upgrade на Ubuntu 12.04, я придумал это благодаря тому, что этот пост (https://bugs.launchpad.net/ubuntu/+source/grub/+bug/239674/comments/1) указывает, что grub придерживается в UCF, а не в Dpkg Options, если вы хотите использовать хранители пакетов grub menu.lst, а не любые возможные локальные изменения menu.lst.

я оставил опции Dpkg force-confnew для других пакетов, t grub.

#!/bin/bash

unset UCF_FORCE_CONFFOLD
export UCF_FORCE_CONFFNEW=YES
ucf --purge /boot/grub/menu.lst

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -o Dpkg::Options::="--force-confnew" --force-yes -fuy dist-upgrade
15
ответ дан 25 May 2018 в 10:34
  • 1
    Это единственное, что сработало для меня. Благодаря! – wes 18 October 2014 в 02:46
  • 2
    Итак, скажем, вы также используете unattended-upgrades и отредактировали некоторые настройки grub: как вы устанавливаете UCF_FORCE_CONFFNEW в этом контексте? Или вам нужно черным списком получать от обновления? – thom_nic 20 October 2017 в 17:59

Предыдущие решения не будут работать с 16.04. Это работает из этого ответа при переполнении стека:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold"  install grub-pc
2
ответ дан 25 May 2018 в 10:34

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

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