ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с очисткой ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ диска ΠΈΠ· ΠžΠ—Π£ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Linux Π² ΠΆΠ΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ

Π’ Ρ…ΠΎΠ΄Π΅ портирования для NixOS инструмСнтария cryptsetup-suspend Π±Ρ‹Π»Π° выявлСна ошибка Π² подсистСмС дискового ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ LUKS (Linux Unified Key Setup), ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начиная с ядра Linux 6.9 (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚), Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΌΠ°Π΅ 2024 Π³ΠΎΠ΄Π°, пСрСстала Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ очистка ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ систСмы Π² ΠΆΠ΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ cryptsetup-suspend ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Debian для автоматичСской Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ LUKS-Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ сна. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² случаС ΠΊΡ€Π°ΠΆΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌ сна, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈΡˆΡ‘Π½ возмоТности ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· сна потрСбуСтся ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для восстановлСния доступа ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Из-Π·Π° ошибки Π² ядрС Linux послС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ LUKS-Ρ€Π°Π·Π΄Π΅Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«cryptsetup luksSuspendΒ» ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°Π»ΠΈΡΡŒ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π²ΠΈΠ΄Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· /proc/keys, Ρ‡Ρ‚ΠΎ позволяло Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Β«Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΒ», ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ очистки ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±Ρ‹Π»ΠΎ выявлСно Π² Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ состояния Π³ΠΎΠ½ΠΊΠΈ, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΠΆΠ΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ. Ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° послС провСдСния Π² ядрС 6.9 Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π² памяти. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ядро Linux ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ однострочный ΠΏΠ°Ρ‚Ρ‡, ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ Π½Π΅ принят Π² ядро, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Ρ‘ΠΌ выявлСна Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° β€” ΠΏΠ°Ρ‚Ρ‡ дСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для физичСских Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… loop-устройств. ВмСсто исправлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° сторонС ядра Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ инструмСнтария cryptsetup Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ очистки ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π”Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ принято ΠΈ Π²ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² состав выпуска cryptsetup 2.8.7.

Помимо этого, для NixOS Π±Ρ‹Π»Π° создана собствСнная рСализация скриптов для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… дисков ΠΏΡ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΠΆΠ΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ задСйствован старый ΠΏΠ°Ρ‚Ρ‡ ΠΊ ядру, Π½Π΅ принятый Π² 2015 Π³ΠΎΠ΄Ρƒ, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· памяти ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ сна.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster