63-Скрытые файлы .wh.

Кому лень вникать в процесс исследования, сразу выводы:
  • файлы с префиксом .wh. (например, .wh.Adwaita) - это файлы, которые появились в файловой системе благодаря активации какого-то модуля, но скрыты
  • файлы с префиксом находятся внутри папки /run/initramfs/memory/data/slax/changes/
  • файлы не удалены, это только способ их спрятать, т.е. они реально существуют
  • если удалить файл с префиксом .wh., то соответствующий файл появится в ФС и будет использоваться по назначению
Разберемся, что за файлы с префиксом .wh. встречаются в сохраненке /run/initramfs/memory/data/slax/changes/... Найдем их:
find -name *.wh.*
Получаем полный список, видим, к примеру:
./media/sdb1/slax/changes/usr/share/icons/.wh.Adwaita
Это соответствует у меня (ибо папка slax на разделе sdb1) сохраненке:
/run/initramfs/memory/data/slax/changes/usr/share/icons/.wh.Adwaita
Открываем другое окно pcmanfm по пути:
/usr/share/icons
И видим, что такого файла там вовсе нет!
Дело в том, что я когда-то удалил этот объект (вообще-то, это была папка), забыв деактивировать экспериментальный модуль, который эту папку, собственно, и разместил в этом месте.
Вывод: префикс .wh. в именах файлов (папок) указывает, что объект удален, и он становится невидимым в текущей ФС. Хотя, на самом деле, он все еще занимает место, присутствуя физически.
Проверяю мысль: удаляю /run/initramfs/memory/data/slax/changes/usr/share/icons/.wh.Adwaita, и тут же появляется "удаленная" уже папка.
Странно, но после ее повторного удаления вновь появляется .wh.Adwaita! Не значит ли это, что папка Adwaita все-таки имеется в одном из модулей до сих пор? Проверять, перезапуская ОС, деактивировав все мои модули, не хочется...
Ладно, гляну еще что-нибудь. Ага, вот:
./run/initramfs/memory/bundles/05-chromium.sb/root/.wh..fluxbox
Это явно не мое. Ибо модуль 05-chromium.sb - от создателя. Возможно, и он что-то неправильно удалил в процессе сборки? ☺
Еще много вот таких нашлось:
./run/initramfs/memory/changes/var/cache/man/.wh.ru
Если я их удалю, они выйдут из тени, и появятся в ФС. Пробую, появились. Кажется, я их зачем-то удалил. А вдруг, пригодятся? Пусть будут.
Иду посмотреть, что там, в ./run/initramfs/memory/bundles/... Ого, а там все (включая базовые) модули, в развернутом в папки виде! И уже упомянутое /05-chromium.sb/root/.wh..fluxbox - означает, что я внес изменения в папку /root/fluxbox, имевшуюся в базовом модуле, только и всего. Здесь трогать, кажется, ничего не стоит. А вот посмотреть, что содержится в каждом из модулей, - очень даже удобно (без преобразования их копий в папки).
А поищу-ка я, есть ли в модулях несчастная папка /Adwaita:
find /run/initramfs/memory/bundles -name Adwaita
Получаю:
/run/initramfs/memory/bundles/15-default-jre.sb/usr/share/icons/Adwaita
Ну вот, оказывается, она нужна модулю 15-default-jre.sb, и ее стоит "восстановить", просто удалив .wh.Adwaita.
Еще раз запускаю первую команду поиска, для обновления списка.
Объекты с двойным префиксом .wh..wh. трогать не стоит, они обеспечивают работу многослойной ФС.
А остальные удалил, тем самым восстановив скрытые файлы (папки). Оставив, естественно, таковые в /bundles/05-chromium.sb/.
Ну вот и все.

ОГЛАВЛЕНИЕ
НАЗАД

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.