Новости VS Code не верит в расставания. Почему кнопка «удалить» больше не гарантирует свободу на диске

NewsMaker

I'm just a script
Премиум
24,189
46
8 Ноя 2022
Ваши «удаленные» файлы живут в секретном подвале Snap и занимают 200 ГБ.


wbaujzvimaiy605fars9ovh2z7s0y65v.jpg

Пользователям Linux, которые установили Microsoft Visual Studio Code в формате Snap, стоит проверить, действительно ли удаляются файлы, отправленные в корзину из приложения. Несколько разработчиков обнаружили, что «удаленные» данные продолжают храниться на диске и в некоторых случаях занимают сотни гигабайт.

Причина связана с тем, как Snap обращается с корзиной. Согласно баг-репорту в репозитории VS Code от 11 ноября 2024 года, Snap создает отдельную локальную папку Trash для каждой версии VS Code, и она не связана с системной корзиной. Более того, после обновлений Snap может сохранять старые версии редактора, из-за чего число таких локальных корзин растет , а вместе с ним увеличивается и объем файлов, которые пользователь считал удаленными. Очистка обычной системной корзины на эти «внутренние» папки Snap не влияет.

Ни VS Code, ни Snap не предлагают встроенного способа управлять этими локальными папками Trash, хотя в обсуждении показано, что их можно очистить через командную строку . В качестве первопричины Microsoft-инженер называет изменение в VS Code от 11 октября 2024 года: по его словам , оно задает переменную окружения XDG_DATA_HOME равной <code>$SNAP_USER_DATA/.local/share</code>. Из-за этого и появляется «ненастоящая» корзина, которая не интегрирована с системной и со временем раздувается при обновлениях. В самом отчете это описывают прямо: создается фиктивная корзина, которую невозможно нормально обслуживать, и она переносится из версии в версию, постепенно увеличиваясь.

По обсуждению видно, что последствия могут выходить за рамки одной только корзины. Упоминаются проблемы с историей терминала fish , конфликты с установками Python через uv и сбои в Jupyter Notebook , а также другие неприятности, связанные с тем, что приложения начинают работать с данными не там, где этого ожидают система и пользователь.

Масштаб истории тоже впечатляет. Инженер-робототехник Иван Лопес Бросеньо сообщил, что нашел почти 200 ГБ файлов, которые считал удаленными. Веб-разработчик Крис Хэйз написал , что обнаружил 44 ГБ в локальной корзине Snap, причем часть данных копилась около двух лет. По его словам, он вообще вышел на проблему именно потому, что на машине внезапно стало заканчиваться место: утилита анализа диска в Ubuntu показала странно большой объем, занимаемый VS Code в формате Snap.

Хэйз отмечает, что затянувшаяся на год и более ошибка выглядит необычно, когда риск настолько очевиден: можно просто полностью забить диск. В то же время он допускает, что в огромном репозитории VS Code подобные проблемы легко теряются на фоне общего потока задач. Он также считает, что пользователей VS Code на Linux со Snap, вероятно, немало, поскольку Snap является стандартом для Ubuntu App Store, хотя для самого VS Code обычно предлагают пакет .deb, а не Snap. И, как он добавляет, многие могут просто не знать о проблеме: пока место не закончится или пока человек не полезет разбираться, куда исчезли гигабайты, все может оставаться незаметным.
 
Источник новости
www.securitylab.ru

Похожие темы