Может ли Ubuntu 14.04 использовать зашифрованный своп, не прибегая к неофициальным взломам?

В новой установке Ubuntu 14.04 я получаю это сообщение об ошибке во время загрузки , диск для / dev / mapper / cryptswap1 еще не готов или нет

и раздел подкачки никогда не активируется. Из моих поисков до сих пор я нашел:

Это широко распространенная проблема, вероятно, затрагивающая каждую установку Ubuntu 14.04, на которой был активирован шифрованный своп. Часть проблемы - это легко исправить ошибку, заставляя зашифрованный заголовок swap (сгенерированный во время загрузки) перезаписывать незашифрованный заголовок подкачки, что делает невозможным правильное определение правильного раздела во время следующей загрузки. Все предлагаемые решения для его работы выглядят просто обходными способами: 1. Отключите swap, установив его как noauto в fstab. 2. Создайте файл /etc/rc.local (или определите свой собственный сервис, который будет активирован во время загрузки), который активирует раздел подкачки.

Можно ли использовать зашифрованный своп на Ubuntu 14.04 без использования такого рода взлома? Я совершенно комфортно обновляю все установленные пакеты и исправляю эти файлы конфигурации, которые были инициализированы некорректным содержимым из-за ошибок при установке скриптов. Я бы предпочел не использовать собственный скрипт для активации swap, поскольку такой подход имеет тенденцию ломаться, когда пакеты обновляются.

Это то, что выглядит мой /etc/crypttab: [!d9 ]

cryptswap1 /dev/sda6 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,offset=16

И соответствующая строка из моего /etc/fstab такова:

/dev/mapper/cryptswap1 none swap sw 0 0

То, что я пробовал до сих пор:

Я нашел накопитель сообщений для / dev / mapper / cryptswap1 еще не готов или не присутствует даже после того, как вы попытались выполнить различные варианты, задав вопрос о том, что может быть одним и тем же сценарием.

Но единственный ответ предполагает использование незашифрованного свопа.

Я обнаружил, что накопитель сообщений для / dev / mapper / cryptswap1 еще не готов или не присутствует даже после попытки использования различных опций , который утверждает, что имеет решение, но решение не имеет для меня никакого смысла .

Первой частью предлагаемого решения является переписывание зашифрованного своп-заголовка с использованием mkswap. Однако, поскольку этот заголовок зашифрован ключом, который не является постоянным при перезагрузках, этот шаг не помог бы заставить swap работать после следующей перезагрузки.

Он также предлагает обновления / etc / fstab, но похоже, мой fstab уже выглядит правильно.

Сообщение предполагает LVM, который я не использую. Я ничего не знаю о том, что могло бы иметь значение.

Я нашел https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/1310058, который помог мне понять проблема с заменой заголовка подкачки и добавлением offset в crypttab и регенерация незашифрованного заголовка подкачки может решить эту проблему.

Однако перезаписанный заголовок не является единственной проблемой при игре, там

То, что я пробовал до сих пор:

Из чтения /lib/cryptsetup/cryptdisks.functions я узнал, что во время загрузки , устройство должно быть создано с использованием имени cryptswap1_unformatted, тогда заголовок зашифрованного свопа должен быть записан, и устройство должно быть переименовано в cryptswap1. В журнале ядра я нахожу это сообщение об ошибке:

[   39.419429] device-mapper: ioctl: Unable to change name on mapped device cryptswap1_unformatted to one that already exists: cryptswap1

По общему мнению, результатом этого является то, что устройство в конечном итоге имеет имя cryptswap1, но заголовок swap

Swap работает во время тех загрузок, где была выполнена проверка файловой системы.

В /var/log/upstart/cryptdisks.log я обнаружил сообщение об ошибке

Device cryptswap1_unformatted already exists.

Однако, добавив некоторые дополнительные записи в /lib/cryptsetup/cryptdisks.functions, я узнал, что между /etc/init.d/cryptdisks-early и /etc/init/cryptdisks.conf существует гонка. Любое сообщение, которое я добавляю в cryptdisks.functions, может влиять на то, как действия двух скриптов чередуются, а иногда и заканчивается.

Ясно, что эти два не должны обрабатывать одно и то же устройство в параллели. Как я могу получить два сценария сериализации, так что swap работает при каждой загрузке?

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

0 ответов

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

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