WSL (ubuntu / windows) AppData \ Local \ Lxss насправді не синхронізується назад з ідеями ubuntu?


10

Якщо ви створюєте файл в bash (торкніться /root/foo.txt), який відображається в прихованих каталогах, AppData\Local\Lxss\ змінюючи його, він не змінює його в bash. Гірше, якщо ви знову поміняєте його в bash, файл, який ви змінили через Explorer, стає клобером!

Чи є якась реальна точка кріплення C:\?

Де ховається справжній образ ?? (як насправді файлова система записує файли зображень насправді?)

0:14:29 у цьому https://channel9.msdn.com/Events/Build/2016/C906, схоже, стверджує, що ви отримаєте повний доступ від Explorer. 0:16:30 вони показують вам, AppData\Local\Lxss\ але не згадайте жодного разу, що ваші файли не синхронізуються, як я описав.


Прикро, що немає Linux-бінарних файлів чи предметів, які могли б використовувати виклики sys, які вони навчали ntkernel поза стороною в'язниці (назад до cygwin для цього :(), але їм потрібно принаймні змонтувати кореневу файлову систему, яку можна записати на Windows C: \ when річниця йде золотом
сабгентон

Я думаю, що завжди є самба :(
сабгентон

1
Мабуть, це не призначене для використання таким чином. github.com/Microsoft/BashOnWindows/issues/45
wbkang

Який черешок. cosmicdanздається, говорить саме те, що я зробив наприкінці коментарів. Mac здається, що все ще приємніші налаштування прямо зараз.
сабгентон

Відповіді:


4

Нові файли, створені за допомогою Провідника Windows, можливо, не відображаються в bash, оскільки в них відсутні спеціальні атрибути LXSS NTFS.

Коли LXSS створює файли в корені LXSS, він додає до них додаткову інформацію за допомогою атрибутів NTFS для зберігання речей, які не можуть бути представлені стандартними атрибутами NTFS, такими як права доступу до файлів Linux. Якщо таких немає, файли не відображатимуться.

Це підтверджується тим, що якщо зробити файл у файлі bash, а потім зробити його копію за допомогою Провідника Windows, він з’явиться у bash. Це, мабуть, тому, що всі спеціальні атрибути LXSS дублювалися з файлом.

Шар файлової системи LXSS також, схоже, кешує файлову систему, тому записи каталогів у bash не відображатимуть фактичний стан файлової системи, якщо файли додаються чи видаляються доти, поки всі термінали bash не будуть зупинені (що закінчує сеанс LXSS у службі LXSS а значить, очищає кеш).


3

Гаразд, здається, що вміст AppData\Local\Lxss\можна змінити і синхронізуватиметься назад на сеанс Ubuntu.

Ви повинні повністю закрити баш. І не можна створювати нові файли.

Як не дивно, як Microsoft, здається, говорить, що ви не можете.

Однак, крім того, що це дратувати, це все ще не дуже зручно, оскільки створення нових файлів, здається, не працює.

Я не знаю, чи баш-сесія вкладає речі в таран, чи що, але Microsoft може зробити так, що це станеться, якщо з'явиться.


3

Що для мене працює - це копіювання з bash замість використання Explorer.

C-диск в / мнт / с так, щоб скопіювати папку C: \ TMP \ test1 в / TMP / в вашому домашньому каталозі баш зробити: cp -r /mnt/c/tmp/test1 ~/tmp.


3

Я думаю, ви знайдете це ... неймовірно корисним. Тут є дуже багато корисної інформації, але її можна підсумувати, оскільки вона застосовується тут, в одному розділі:

Взаємодія з Windows

Хоча файли VolFs зберігаються у звичайних файлах у Windows у згаданих вище каталогах, сумісність із Windows не підтримується. Якщо до одного з цих каталогів із Windows доданий новий файл, йому не вистачає EA, необхідних VolF, тому VolFs не знає, що робити з файлом, і просто ігнорує його. Багато редакторів також знімуть EA під час збереження наявного файлу, знову зробивши файл непридатним у WSL.

Крім того, оскільки VFS кешує записи каталогів, будь-які зміни в тих каталогах, які створюються з Windows під час запуску WSL, можуть бути точно не відображені.

У статті йдеться про особливості файлової системи та розширені атрибути. Але підсумовуючи, зміна файлів WSL з Windows - це не потрібна робота.


0

Поки вони не розробили це, я встановив cygwin sshd для наочності до рідної файлової системи NTFS і запустив ubuntu sshd для наочності до файлів lsxx linux. використовуйте apt-get для встановлення sshfs та win-sshfs, щоб робити монтажі кожен спосіб. Це злом, але зараз для мене працює.

Якщо ви не хочете возитися з cygwin sshd, ви можете використовувати cygwin ssh для того, щоб сканувати файли вперед і назад.

Використання cygwin sshd допомагає вирішити проблеми з доступом до файлів, використовуючи справжній обліковий запис адміністратора у .ssh / config-файлі. У мене були деякі дивні дозволи доступу через інтерфейс DevFS / NTFS.


Ви повинні "ділитися" файлами лише через / mnt / у LXSS, а не через кореневу файлову систему.
ZiggyTheHamster
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.