в настоящее время я использую wsl2, и я замечаю, что для ext4.vhdx требуется значительный объем дискового пространства, как будто я знаю, что это система управления файлами Ubuntu, но я не очень понимаю, что внутри, поэтому я хочу заглянуть внутрь и удалить все ненужные файлы, как мне это сделать? как я знаю, wsl2 не освобождает использованное дисковое пространство обратно в хост-систему (я использую Windows 10), поэтому я хочу увидеть, какое дисковое хранилище занимает Ubuntu.
Я не могу воспроизвести симптом, который у вас есть при доступе к серверу SMB на Mac. Поскольку Samba работает в обратном направлении (Mac к Linux), используйте что-то другое для доступа к Mac.
На Mac: Системные настройки > Общий доступ > Включить удаленный вход
В Linux: Open Caja > Обзор сети > Вы должны видеть имя хоста Mac с прикрепленной меткой (удаленный вход). Нажмите на это, укажите имя пользователя и пароль, и у вас должен быть такой доступ:
-121--915301-Здравствуйте и добро пожаловать на форум!
Возможно, стоит рассмотреть возможность того, что ваша проблема не в DNS, может быть, что ваше сетевое соединение просто ненадежно по какой-либо причине, что некоторые пакеты теряются. О том, что ssh сеансы выживают, нам мало что говорит, потому что ssh сеанс использует TCP так, что может работать, даже если много пакетов потеряно. DNS, с другой стороны, использует UDP, поэтому если некоторые UDP-пакеты (входящие или исходящие) потеряны, это может привести к сбоям DNS.
Тестирование с использованием ping, как вы сделали, является хорошей идеей, может быть стоит сделать больше из этого, например, ping чаще, что раз в секунду, чтобы увидеть, есть ли иногда потери пакетов и если время этого коррелирует с проблемами DNS. Также стоит отметить, что ping включает в себя другой протокол (ICMP), может случиться, что есть какая-то проблема с UDP, но что ping работает в любом случае. Тогда, возможно, стоит запустить тесты с использованием UDP, что можно сделать, например, с помощью инструмента iperf3
.
Если вы сами управляете DNS-сервером, то вы можете следить за этим, чтобы увидеть, поступает или нет DNS-запрос, и увидеть, послан ли ответ с DNS-сервера.
Вы также можете попробовать отслеживать входящий и исходящий сетевой трафик локально, используя что-то вроде tcpdump
или tshark
, чтобы убедиться, что DNS-запрос отправлен, и проверить, можно ли увидеть ответ от DNS-сервера.
В любом случае это некоторые идеи, я надеюсь, что некоторые из них могут быть полезны. Удачи!
-121--915149-@ thomas-ward ответ правильный, но мне кажется, что в вашем вопросе есть дополнительный «вопрос», на который все еще нужно ответить.
Для начала, чтобы пересказать другой ответ, вы можете легко увидеть все содержимое ext4.vhdx
, просто запустив WSL и посмотрев на файлы. Например:
sudo find / -xdev | less
будут найдены все файлы в файловой системе ext4
, подключенной как root (/
), но не файлы на подключенных дисках NTFS/Windows ( -xdev
исключает другие файловые системы).
Вы также можете видеть места хранения, используемые этими же файлами:
sudo du -hdx
Если эта сумма отличается от размера файла ext4.vhdx
, то да, как вы уже подозреваете, у вас, вероятно, есть неиспользованное пространство. Как вы упомянули в вашем вопросе, WSL будет увеличивать этот файл по мере необходимости, но не будет автоматически сокращать его при удалении файлов.
Чтобы вручную сжать файл,вы можете выполнить любой из шагов, упомянутых в данном ответе суперпользователя . Вот один из них, скопированный из ссылочного комментария Github:
wsl --shutdown
# At this point, it is recommended that you back up your ext.vhdx and delete the backup once you have confirmed the other commands are successful.
diskpart
# open window Diskpart
select vdisk file="C:\WSL-Distros\…\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
Примечание: Альтернативным способом прямого доступа к vhdx
было бы раскручивание новой виртуальной машины на базе Linux на Hyper-V и добавление этого виртуального диска (или его копии) в экземпляр. Невозможно проверить его непосредственно в Windows, так как Windows не понимает файловую систему ext4.
Непосредственное исследование VHDX в Windows не рекомендуется, поскольку он содержит файловую систему ext4
.
По сути, VHDX содержит всю операционную систему Ubuntu, плюс любые дополнительные файлы / программы / библиотеки / и т. Д. вы установили на него WSL. Это весь «жесткий диск» системы, который WSL2 использует с виртуализацией для запуска среды Ubuntu WSL. По сути, любой файл, к которому вы можете перейти в WSL и увидеть (например, / usr / lib / ...
), находится в VHDX.