Я использую Bash в Windows и хочу поместить некоторые файлы в Windows /etc/profile.d
и /usr/local/bin
через нее.
Я заметил, что в Bash нет etc
или , и создание таких папок не имеет никакого эффекта.usr
AppData\Local\lxss
Есть however etc\profile.d
и usr\local\bin
in lxss\rootfs
but, опять же, добавление в них любых моих собственных файлов также не имеет никакого эффекта в Bash. Они даже не отображаются:
По сути, я представляю собой набор часто используемых /etc/profile.d
скриптов и /usr/local/bin
двоичных файлов, которые я хочу установить в любой среде Linux.
Как или где мне разместить эти скрипты и двоичные файлы, чтобы они отображались в /etc/profile.d
Bash /usr/local/bin
на Windows?
решение1
Кажется, это невозможно. Как упоминалось на этой странице:Обзор подсистемы Windows для Linux
Для предоставления доступа к файлам в системе пользователя используются две файловые системы: VolFs и DriveFs.
VolFsобеспечивает полную поддержку функций файловой системы Linux [...] Каталоги, содержащие систему Linux, файлы приложений (/etc, /bin, /usr и т.д.) и домашнюю папку Linux пользователей, все используют VolFs. Взаимодействие между приложениями Windows и файлами в VolFsне поддерживается.
Что в точности соответствует моему опыту до сих пор. Все, что я пытаюсь изменить в /etc
или /usr
из AppData\Local\lxss
или lxss\rootfs
не идет хорошо. Единственные изменения, которые я делаю, которые отображаются в Bash, как и ожидалось, находятся в смонтированных томах. Потому что...
DriveFs[...] используется для взаимодействия. Все фиксированные тома Windows монтируются в /mnt/c, /mnt/d и т. д. с помощью DriveFs. Это позволяет пользователям редактировать файлы с помощью любимых редакторов Windows, таких как Visual Studio Code, и одновременно манипулировать ими с помощью инструментов с открытым исходным кодом в Bash с использованием WSL.