WSL의 Cryptomator 볼륨에서 bash를 실행하는 방법

WSL의 Cryptomator 볼륨에서 bash를 실행하는 방법

내 컴퓨터 OS는 Windows 10이고 호스트는암호화 기계E: 볼륨이 켜져 있습니다. 마운트된 볼륨의 콘텐츠에 대해 bash 명령을 실행하려고 하므로 WSL을 사용하여 해당 콘텐츠에 액세스하려고 합니다.

직접적으로는 불가능할 것 같습니다: Windows에서 컨테이너를 열고 WSL에 직접 볼륨을 마운트하려고 하는데,Docany에서만 작동하는 것 같아서 실패합니다.,최신 버전의 Cryptomator는 현재 지원하지 않습니다..

그래서 Cryptomator CLI를 사용해 보았습니다(https://github.com/cryptomator/cli) WSL에서 직접적으로, 내 목표는 컨테이너를 직접 여는 것입니다. 불행히도 볼륨을 마운트하려고 하면 다음과 같은 결과가 나타납니다.

  Password:  /sbin/mount.davfs: loading kernel module fuse
  modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-19041-Microsoft
  /sbin/mount.davfs: loading kernel module fuse failed  
  /sbin/mount.davfs: waiting for /dev/fuse to be created

fuseWSL 2로 컴파일해야 합니다(WSL의 "modprobe 퓨즈"?), 그러나 해당 명령을 실행하더라도 mknod여전히 동일한 오류가 발생합니다.

편집하다: PowerShell에서 WSL을 최신 버전으로 업데이트하면 위의 문제가 해결됩니다 wsl --set-version Ubuntu-20.04 2.

이제 이를 저장한 디렉터리에서 다음 명령을 cryptomator-cli-0.5.1.jar실행합니다 java(여기서는 분명한 이유로 비밀번호가 난독화되어 있습니다).

java -jar cryptomator-cli-0.5.1.jar --bind 127.0.0.1 --port 8080 --vault firstVault=/mnt/e/myFolder/ --password firstVault='[###]'

다음과 같은 결과가 나타납니다.

14:54:23.878 [main] INFO  o.c.frontend.webdav.WebDavServer - Binding server socket to 127.0.0.1:8080
14:54:23.940 [main] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@6a472554{HTTP/1.1, (http/1.1)}{127.0.0.1:8080}
14:54:23.950 [main] INFO  org.eclipse.jetty.server.Server - jetty-10.0.6; built: 2021-06-29T15:28:56.259Z; git: 37e7731b4b142a882d73974ff3bec78d621bd674; jvm 17.0.2+8-Ubuntu-120.04
14:54:24.091 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@3d0f8e03{/,null,AVAILABLE}
14:54:24.111 [main] INFO  org.eclipse.jetty.server.Server - Started Server@5a955565{STARTING}[10.0.6,sto=0] @1212ms
14:54:24.112 [main] INFO  o.c.frontend.webdav.WebDavServer - WebDavServer started.
14:54:24.112 [main] INFO  org.cryptomator.cli.frontend.WebDav - WebDAV server started: 127.0.0.1:8080
14:54:24.144 [main] INFO  org.cryptomator.cli.CryptomatorCli - Unlocking vault "firstVault" located at /mnt/e/myFolder
14:54:24.145 [main] INFO  o.c.c.p.PasswordFromPropertyStrategy - Vault 'firstVault' password from property.
14:54:25.709 [main] INFO  o.e.j.s.s.DefaultSessionIdManager - Session workerName=node0
14:54:25.731 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - authenticate-header = Basic realm="Jackrabbit Webdav Server"
14:54:25.733 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - csrf-protection = null
14:54:25.733 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - createAbsoluteURI = true
14:54:25.734 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@f478a81{/firstVault,null,AVAILABLE}
14:54:25.738 [main] INFO  o.c.f.w.s.WebDavServletController - WebDavServlet started: /firstVault
14:54:25.739 [main] INFO  org.cryptomator.cli.CryptomatorCli - Press Ctrl+C to terminate.

Windows로 돌아가서 Google Chrome을 열고 에 액세스하려고 시도 http://127.0.0.1:8080/firstVault했지만 ERR_CONNECTION_REFUSED.

WSL을 사용하여 Cryptomator 볼륨에 액세스하기 위해 뭔가 빠졌나요?

답변1

WSL을 사용하여 Cryptomator 볼륨에 액세스할 수 있는 방법이 있나요?

아마도 - 확실하게 말할 수는 없지만 현재 구성으로는 이 작업을 수행할 수 없다는 것을 알고 있습니다. 사용 중인 커널은 실제로 생각한 WSL2가 아니라 WSL1에 있음을 나타냅니다.

  • WSL1 "의사 커널"은 다음으로 끝납니다.-Microsoft
  • WSL2 커널은 다음으로 시작합니다.-microsoft-standard-WSL2

WSL2를 실행하지 않을 때 WSL2를 실행하고 있다고 생각하는 것은 드문 일이 아닙니다. 다음과 같을 수 있습니다:

  • 컴퓨터가 WSL2를 지원하지 않으므로 처음에는 WSL1만 설치했습니다(가능성 없음).
  • WSL2가 출시되기 전에 원래 WSL을 설치한 후 WSL2로 업그레이드했지만 배포판은 업그레이드하지 않았습니다.
  • 기본 버전은 WSL1로 설정되어 있으므로 배포판은 해당 모드로 설치됩니다.
  • 또는 WSL2 설치에 문제가 있을 수 있습니다.

하나씩 확인해 보겠습니다.

기본 버전
wsl --status # Available on recent Windows/WSL releases

status기본 버전이 표시 됩니까 2? 그렇다면 괜찮습니다. 그렇지 않은 경우 먼저 기본값을 설정하십시오.

wsl --set-default-version 2
wsl --status

다음과 유사한 메시지가 표시되는 경우:

Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install

그런 다음 다음 지침을 따르십시오.

그렇지 않고 wsl --status오류가 반환되지 않으면 계속하세요...

전류 분포 확인
wsl -l -v

릴리스 목록을 봅니다. 당신의 것이 거의 확실하게 나타날 것입니다 1.

변환 분포

변환을 실행하기 전에 배포판을 백업할 수 있습니다. 그런 다음 PowerShell에서 WSL을 종료합니다.

$imagePath = "$env:USERPROFILE\WSL\images" # Edit if you want a different location
$distroName = "Ubuntu" # Edit with your distribution name, if different

wsl --terminate $distroName

mkdir $imagePath
wsl --export $distroName $imagePath\$distroname-backup.tar

위의 작업이 성공적으로 실행되었다고 가정하고 다음 명령을 사용하여 변환을 완료합니다.

wsl --set-version $distroName 2

관련 정보