PAM продолжается через объекты на стеке в последовательности. Это только сохраняет память того, какое состояние это находится в (успех или отклонено, с успехом значения успеха до сих пор), не того, как это достигло того состояния.
Если объект отмечен sufficient
успешно выполняется, библиотека PAM прекращает обрабатывать тот стек. Это происходит, были ли там предыдущими required
объекты или нет. На данном этапе PAM возвращает текущее состояние: успех, если не предыдущий required
объект перестал работать, иначе отклоненный.
Точно так же, если объект отмечен requisite
сбои, библиотека PAM прекращает обрабатывать и возвращает отказ. В той точке это не важно ли предыдущее required
объект перестал работать.
Другими словами, required
не обязательно заставляет целый стек быть обработанным. Это только означает продолжать идти.
Для того, чтобы восстановить эту установку, я предлагаю:
GPARTED
изменение / Домашний раздел, чтобы покинуть место для нового корневого раздела rsync -aaxv --exclude = {"/ dev / *", "/ proc / dev / *" * "," / sys / * "," / tmp / * "," / Run / * "," / mnt / * "," / Media / * "," / lost + найденный "} / mnt / your- Старый root / * / mnt / your-new-root /
Чтобы клонировать ваш корневой раздел / MNT / Your-New-root / etc / fstab
, чтобы правильно установить New /
/ / Home / Home
Перегородки
root = uuid = xxxxx
), чтобы соответствовать С новым UUID нового корневого раздела (поиск в LS -L / dev / disk / by-uuid /
) N : Из-за критического характера операций вы будете делать, вы должны рассмотреть возможность сделать резервную копию и всегда , ссылаясь на официальную документацию, когда у вас возникнут сомнение. Вещи будут разбиты в противном случае.
Запустите du -x /
, чтобы узнать, что занимает место в корневой файловой системе.
320 МБ - это немного, но этого должно хватить, если у вас установлен один пакет ядра. Удалите все версии ядра, кроме той, в которую вы хотите перезагрузиться.
Запустите dpkg -l 'linux-image - *'
, чтобы узнать, какие пакеты ядра установлены. uname -r
показывает, какую версию вы используете сейчас, но если вы обновили ядро после последней перезагрузки, вы захотите удалить ее и оставить последнюю версию. Вы можете удалить работающее ядро; это предотвратит загрузку модулей, поэтому после этого вы не сможете подключать новые периферийные устройства, использовать новые сетевые функции и т. д.
Вам все равно следует увеличить корневой раздел, потому что установка двух пакетов ядра является обычным явлением во время обновление (работающее ядро плюс последняя версия; удалите старое ядро после перезагрузки, как только вы узнаете, что новая версия работает).
Если удаления пакетов ядра недостаточно, то что делать, будет зависеть от того, что занимает место. Немного из того, что находится в / bin
, / etc
, / lib
и / sbin
, необходимо для монтирования других разделов, поэтому вы не можете просто переместить эти каталоги в другую файловую систему. В крайнем случае, перемещение / lib / modules
может быть нормальным (в общем, это не так, но есть во многих конфигурациях, если файловая система, в которую вы ее перемещаете, не требует других драйверов из корневой раздел).
Другая альтернатива:
HDD дешевы ($50 купит вам 500GB HDD, и менее $100 за 1TB HDD).
Установите второй жесткий диск и установите новую, новую установку linux.
Для безопасности отключите текущий жесткий диск перед установкой, затем установите новый жесткий диск и новый Linux, затем снова подключите старый жесткий диск и синхронизируйте все, что хотите сохранить на новом жестком диске.
Можно оставить старый жесткий диск подключенным для резервного копирования и т.д.
. Просто мысль. Там могут быть скрытые файлы на разделах rootfs. RemOnt rootfs на Mnt и проверьте размеры / mnt / home
, / mnt / var
, / mnt / opt
, / mnt / usr
, / mnt / dev
, / mnt / sys
, / mnt / proc
, / mnt / Run
и / mnt / tmp
.
mount --bind / /mnt
du -s /mnt/home /mnt/var /mnt/opt /mnt/usr /mnt/dev /mnt/proc /mnt/sys /mnt/run /mnt/tmp
Эти каталоги должны быть в основном пустыми (их содержимое расположено на других файловых системах). Я проверил мою систему и на самом деле / mnt / dev
имеет несколько устройств (они могут быть необходимы при загрузке).
Если это не проблема, запустите
du -s /mnt/*
как очень базовая ссылка, значения на моем ноутбуке являются:
7564 bin
8944 sbin
151284 lib
4 lib64
6928 etc
18288 boot
Пост немного старый, но я пропустил точно такую же проблему (в Debian тоже) и запустил следующую команду как root решил её:
apt-get clean
он выпустил 2G rootfs в моём случае (бог знает почему).
Я получил эту подсказку по следующей ссылке, которая кажется очень полной: