Вопрос или проблема
Когда я включил свой ноутбук, я вдруг не смог войти в систему. До этого всё работало нормально, я не изменял никаких настроек.
Когда я ввожу свой пароль на экране входа (gnome), экран просто перезагружается.
Я могу войти в tty консоль, но получаю ошибку
Fedora Linux 36 (Тридцать шесть) Kernel 6.2,15-188.fc36.>86_64 на >86_64 (tty2)
thinkpad login: ga325
Пароль:
(mount.c:68): Сообщения от подлежащей программы монтирования:
(mount.c:72): Нет свободного устройства loop
(mount.c:72): (crypto.c:318): Ошибка: нет свободных устройств loop
(pam_mount.c:522): ошибка монтирования /scratch/crypt/home-ga325.luks
Последний вход: Ср Сен 11 28:41:31 на tty5
--- ga325: /scratch/users/ga325: ошибка смены директории: Доступ запрещён
Вход с домашней = "/"
-bash: /scratch/users/ga325/.bash_profile: Доступ запрещён
Моя домашняя директория показана как полностью пустая.
Файл luks всё ещё существует и велик (180 ГБ).
Информация для отладки:
Существует пять устройств loop, которые все заняты приложениями snap, см. здесь:
Кроме того, ls -l /var/lib/snapd/snaps
показывает пять файлов .snap (соответствующих устройствам loop), которые были изменены на прошлой неделе.
На прошлой неделе я snap
установил и удалил Spotify, так что это могло стать причиной.
Следующие выводы могут быть полезны для отладки:
journalctl -xe
:
старт работы для единицы session-2.scope завершился успешно.
Идентификатор задания 3128
22:48:11 thinkpad login[1795]: pam_unix(login:session): сессия открыта для пользователя ga325(uid=217589) пользователем LOGIN(uid=0)
22:48:11 thinkpad login[1795]: pam_sss(login:session): Запрос к sssd не удался. Соединение отклонено
22:48:11 thinkpad audit[1795]: AUC avc: отказано (getattr) для pid=1795 com="login" path="/run/mount/utab" dev="tr
22:48:11 thinkpad audit[17951: AUC avc: отказано (read) для pid=1795 com="login" name="utab" dev="tmpfs" ino=696 с
22:48:11 thinkpad audit[1795]: AUC avc: отказано (open) для pid=1795 com="login" path="/run/mount/utab" dev="tmpf:
22:48:11 thinkpad audit[1873]: AUC avc: отказано (execute) для pid=1873 com="login" name="mount.crypt" dev="mmebi
22:48:11 thinkpad audit[1873]: AUC avc: отказано (entrypoint) для pid=1873 comm="login" path="/usr/sbin/mount.cry
22:48:11 thinkpad login[17951: (mount.c:68): Сообщения от подлежащей программы монтирования:
22:48:11 thinkpad login[1795]: (mount.c:72): Нет свободного устройства loop
22:48:11 thinkpad login[1795]: (mount.c:72): (crypto.c:310): Ошибка: нет свободных устройств loop
22:48:11 thinkpad login[1795]: (pam_mount.c:522): ошибка монтирования /scratch/crypt/home-ga325.luks
22:48:11 thinkpad audit[1795]: USER_START pid=1795 uid=0 auid=217589 ses=2 sub,j=system_u:system_r: local_login_t:s8-s8
22:48:11 thinkpad audit[1795]: CRED_REFR pid=1795 uid=0 auid=217589 ses=2 sub j=system_u:system_r: local_login_t:s8-s8:
22:48:11 thinkpad audit[1795]: USER_LOGIN pid=1795 uid=0 auid=217589 ses=2 subj-system_u:system_r: local_login_t:s8-s8
22:48:11 thinkpad login[1795]: LOGIN НА tty2 ОТ ga325
22:48:11 thinkpad setroubleshoot[1308]: SELinux предотвращает доступ gnome-shell для чтения файла lnk_file /scratch/l
Вопросы:
- Это проблема sssd или проблема монтирования?
- Как это отладить/исправить?
- Могу ли я восстановить свои данные только из файла luks?
sudo dnf remove snapd
похоже, решило проблему.
Сначала я пытался освободить место в dev/nvme0n1p4
, что позволило мне снова войти в систему, но проблема вернулась при следующем входе.
Поэтому я попробовал sudo dnf remove snapd
, что, похоже, сработало.
Новый вывод df -h
:
Файловая система Размер Использовано Доступно Использ. % Смонтировано
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 3.2G 2.2M 3.1G 1% /run
/dev/nvme0n1p2 96G 50G 42G 55% /
/dev/nvme0n1p4 357G 197G 142G 59% /scratch
/dev/nvme0n1p1 260M 22M 239M 9% /boot/efi
tmpfs 7.8G 16K 7.8G 1% /tmp
tmpfs 1.6G 4.1M 1.6G 1% /run/user/217589
/dev/mapper/_scratch_crypt_home_ga325_luks 177G 60G 108G 36% /scratch/users/ga325
Ответ или решение
Добрый день!
С учетом вашей ситуации с проблемой монтирования, давайте разберем возникшую ошибку, а также способы ее решения.
Проблема
Как вы заметили, возникает ошибка "No free loop devices". Это означает, что все доступные устройства loop, которые используются системой для монтирования файлов, заняты, в вашем случае – для Snap приложений. Это может мешать другим процессам, например, монтированию вашего зашифрованного домашнего каталога, как это и случилось при попытке входа в систему.
Решение проблемы
-
Проверка занятых устройств loop:
Для начала, вы можете проверить занятые loop-устройства. Используйте команду:losetup -a
Это покажет, какие устройства заняты.
-
Освобождение loop-устройств:
Если вы видите, что устройства loop заняты Snap-приложениями, и они вам не нужны, вы можете удалить ненужные Snap-пакеты. Можно воспользоваться командой:sudo snap list
Затем для удаления ненужного приложения используйте:
sudo snap remove <название_пакета>
-
Удаление Snapd:
Как вы уже выяснили, удалениеsnapd
решило вашу проблему. Вы можете сделать это через:sudo dnf remove snapd
Это освободит ваши loop-устройства и позволит вам войти в систему.
-
Проверка SELinux:
Вывод изjournalctl -xe
показывает, что SELinux может блокировать некоторые действия. Убедитесь, что SELinux работает в режиме, который позволяет вашим приложениям функционировать. Если вы продолжаете сталкиваться с проблемами, вы можете временно отключить SELinux для диагностики.sudo setenforce 0
Но рекомендуется включить его позже через:
sudo setenforce 1
-
Проверка sssd:
Ваша диагностика свидетельствует о некотором взаимодействии сsssd
, которое может быть связано с неудачами авторизации. Если после удаления snapd ошибка все еще сохраняется, проверьте статус sssd:systemctl status sssd
Возможно, вы захотите перезапустить службу или провести дополнительную диагностику.
Восстановление данных
Если LUKS-файл все еще существует и не поврежден, вы сможете восстановить данные. Если вы хотите удостовериться в целостности ваших данных, используйте такие команды:
-
Проверка состояния LUKS:
sudo cryptsetup status <имя_вашего_устройства>
-
Монтирование зашифрованного раздела:
Чтобы монтировать зашифрованный каталог, следуйте таким шагам:sudo cryptsetup luksOpen /путь/к/home-ga325.luks имя sudo mount /dev/mapper/имя /mnt
Такие команды позволят вам получить доступ к данным, содержащимся в зашифрованном разделе.
Надеюсь, вышеуказанные шаги помогут вам разрешить ситуацию. Если появятся дополнительные вопросы, не стесняйтесь задавать их.
С уважением!