Если вы хотите максимально предотвратить запись на диск , вы можете сделать это с помощью Режим ноутбука . Одна из особенностей режима ноутбука - позволить диску замедляться и предотвратить запись на него ядра до тех пор, пока память не заполнится или пока не истечет время ожидания (или пока диску не потребуется раскручиваться для чтения данных с него). . См. Также Arch Wiki . Вы, вероятно, захотите включить только замедление вращения диска, а не другие функции, и установите для LM_SECONDS_BEFORE_SYNC
большое значение в конфигурации .
Также существует noflushd , который выполняет эту конкретную работу (и его намного проще настроить, чем в режиме ноутбука, поскольку он больше ничего не делает). Я успешно использовал его в прошлом, но какое-то время он не поддерживался, поэтому я не знаю, работает ли он по-прежнему в современных системах.
Обратите внимание, что предотвращение записи на диск - это не защита от записи, а мера энергосбережения (и снижения шума). Трудно точно контролировать, что может вызвать раскрутку диска, например, некоторые данные, которые необходимо прочитать, потому что они были стерты из кеша, и в этот момент диск будет записан.
Если причина, по которой вы хотите предотвратить запись на диск, заключается в том, что вы не хотите, чтобы содержимое диска изменялось ни при каких обстоятельствах , вам понадобятся другие инструменты. Вы можете сделать это на уровне файловой системы с помощью union mount . Смонтируйте диск только для чтения, создайте каталог в файловой системе tmpfs
и создайте объединенное монтирование из двух, где каталог tmpfs является ветвью чтения-записи. См. Смонтировать файловую систему только для чтения и перенаправить запись в ОЗУ? несколько примеров программного обеспечения объединенного монтирования в Linux. Вот как работают живые установки Linux с опцией постоянства: живая установка доступна только для чтения, но постоянный раздел данных монтируется поверх него.
Вы также можете добиться аналогичного эффекта на уровне блочного устройства, хотя я не могу придумать убедительных причин, чтобы предпочесть это решение. См. GNU / Linux: оверлейное блочное устройство / наращиваемое блочное устройство В качестве альтернативы, если данные на диске находятся на томе LVM или в файловой системе ZFS, вы можете сделать снимок, чтобы сохранить копию данных в определенной точке. вовремя, продолжая писать на логически отдельное устройство.
В конце концов, я отказался от этой попытки и использовал KeePassXC .
Затем, чтобы получить пароль от KeePass с помощью командной строки, я использую:
gpg2 --use-agent --output - -q passphrase.gpg | keepassxc-cli show -q -a Password passwords.kdbx the_secret_password_i_am_looking_for
Файл passphrase.gpg
содержит пароль KeePass и зашифрован с использованием симметричного ключа, что означает, что для его разблокировки требуется только парольная фраза.
В моем файле gpg-agent.conf
я поместил следующее содержимое:
max-cache-ttl 60480000
default-cache-ttl 60480000
display :0
Это эффективно запоминает фразу-пароль до конца сеанса. Я надеюсь, что это полезно для кого-то.
Изменить :Часть синхронизации выполняется путем синхронизации базы данных KeePass с помощью Dropbox.