В качестве предисловия я использую Ubuntu с WSL.
В последнее время я пытаюсь выяснить, как именно очистить дисковое пространство, занимаемое жестким диском с именем ext4.vhdx
, хранящимся в CanonicalGroupLimitedUbuntu.../LocalState
.
Снимок экрана визуализации Windirstat:
Когда я проверяю Ubuntu, чтобы увидеть, сколько памяти используется с ncdu
, видно, что используется только 323,6 МБ памяти. Однако, когда я запускаю df
, это показывает мне тонну файловых систем, которые занимают почти 99% от их выделенного пространства.
Скриншот df
:
Являются ли эти файловые системы причиной того, что мое хранилище заполнено, и могу ли я что-нибудь сделать, чтобы это исправить?
Кажется, что проблема была в колесе мыши, которое я случайно нажимал иногда.
Для этого см. Как отключить среднюю кнопку мыши?
-121--909393-Тип файла определяется содержимым, а пустой файл является типом.
Расширение действительно является только частью имени, и если противоречит типу (определяется содержимым), содержимое является выбором по умолчанию для POSIX/unix с 1973 года.
Используйте
file filename.py
, и вы, вероятно, увидите, что он сообщает как пустой файл...
1973 было давно... так что это соглашение теперь для любого unix, как операционная система, преддейнинг microsoft/msdos и т.д.
-121--909033- Из того, что вы показали с df
, я бы рискнул, что ncdu
правильно с количеством потребляемого места хранения, который используется правильно. Номер будет около 325MB, давать или брать. То, что вы видите в df
- это ряд монтировок, которые указывают на одно и то же местоположение, поэтому все они имеют одинаковый набор чисел.
Проблема, с которой вы сталкиваетесь, не имеет ничего общего с Ubuntu и с Windows. Существует давний выпуск WSL Github по этой теме, открытый с ноября 2019 года. WSL автоматически увеличит размер вашего виртуального диска, который вы правильно определили как ext4.vhdx
, но его сокращение для освобождения неиспользуемого пространства в настоящее время необходимо выполнить вручную.
Прежде всего:
wsl --shutdown
vhdx
в качестве резервной копии (в случае, если все пойдет в сторону) Далее, если вы используете Windows Professional (или что-то более дорогое), вы можете установить Hyper-V и использовать Optimise-VHD для изменения размера образа , как описано выше в выпуске GitHub :
optimize-vhd -Path .\ext4.vhdx -Mode full
Если используется Windows Home или выше, необходимо использовать разрозненные
следующим образом:
diskpart
select vdisk file="C:\WSL-Distros\…\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
Третьим вариантом является экспорт образа WSL и его повторный импорт , что можно сделать следующим образом:
wsl --shutdown
wsl -l -v
wsl --export <DistroName> <PathToTarArchive>
wsl --unregister <DistroName>
wsl --import <DistroName> <PathToDistroNewDirectory> <PathToTarArchive>
wsl -l -v
Примечание. После импорта образа необходимо сбросить имя пользователя по умолчанию .
Что касается, «Почему Windows использует 70.3 ГБ места хранения или изображения WSL на 0.3 ГБ?», вы должны будете спросить людей в Редмонде как знание, что ответ далеко за пределами моего ранга оплаты.
Надеюсь, что это поможет вам освободить хорошую часть места хранения.