cygwin에서 설치한 명령을 찾을 수 없습니다 - 설치한 ddrescue를 실행할 수 없습니다

cygwin에서 설치한 명령을 찾을 수 없습니다 - 설치한 ddrescue를 실행할 수 없습니다

나는 달렸다https://cygwin.com/setup-x86_64.exe 그리고 ddrescue를 설치했습니다

여기에 cygwin과 cmd의 일부 정보가 있으므로 파일 위치와 경로를 확인할 수 있습니다.

여기에 이미지 설명을 입력하세요

user@hp-probook1 ~
$ PATH=$PATH:/bin

user@hp-probook1 ~
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah:/usr/bin:/bin

user@hp-probook1 ~
$ ddrescue
-bash: ddrescue: command not found

user@hp-probook1 ~
$

그리고

C:\cygwin>dir
 Volume in drive C has no label.
 Volume Serial Number is 4645-5DCE

 Directory of C:\cygwin

20/04/2020  22:48    <DIR>          .
20/04/2020  22:48    <DIR>          ..
05/11/2020  02:29    <DIR>          bin
14/03/2020  01:02            53,342 Cygwin-Terminal.ico
14/03/2020  00:59                88 Cygwin.bat
14/03/2020  01:02           157,097 Cygwin.ico
14/03/2020  00:59    <DIR>          dev
05/11/2020  02:29    <DIR>          etc
22/04/2020  10:00    <DIR>          home
20/04/2020  22:48    <DIR>          lib
14/03/2020  00:35    <DIR>          pk
20/04/2020  22:48    <DIR>          sbin
20/04/2020  22:46         1,352,723 setup-x86_64.exe
14/03/2020  00:59    <DIR>          tmp
14/03/2020  00:58    <DIR>          usr
14/03/2020  00:58    <DIR>          var
               4 File(s)      1,563,250 bytes
              12 Dir(s)  19,118,116,864 bytes free

C:\cygwin>dir bin\dd*
 Volume in drive C has no label.
 Volume Serial Number is 4645-5DCE

 Directory of C:\cygwin\bin

03/02/2017  19:40            83,987 dd.exe
03/04/2020  16:17           118,291 ddrescue.exe
03/04/2020  16:17            59,411 ddrescuelog.exe
               3 File(s)        261,689 bytes
               0 Dir(s)  19,118,116,864 bytes free

C:\cygwin>

추가된 정보

user@hp-probook1 ~
$ which ddrescue
which: no ddrescue in (/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah)

user@hp-probook1 ~
$ echo  $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah

user@hp-probook1 ~
$ PATH=$PATH:/bin

user@hp-probook1 ~
$ which ddrescue
which: no ddrescue in (/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah:/bin)

user@hp-probook1 ~
$

그리고

user@hp-probook1 /bin
$ cd /bin

user@hp-probook1 /bin
$ ls dd*
dd.exe

user@hp-probook1 /bin
$

user@hp-probook1 /bin
$ cd /cygdrive/c/cygwin/bin

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ls ddrescue
ddrescue

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ddrescue --help
-bash: ddrescue: command not found

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ./ddrescue --help
ddrescue: Both input and output files must be specified.
Try '/usr/bin/ddrescue --help' for more information.

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ls /usr/bin/ddrescue
ls: cannot access '/usr/bin/ddrescue': No such file or directory

user@hp-probook1 /cygdrive/c/cygwin/bin
$

답변1

이제 작동합니다 ..

나는 ddrescue를 실행할 수 없을 뿐만 아니라 ssh도 실행할 수 없다는 것을 깨달았습니다. ssh를 설치했음에도 불구하고. cygwin을 일반적인 방법으로 다시 설치해도 작동하지 않았습니다.

Cygwin에는 자연스럽게 두 개의 디렉터리가 필요합니다. 하나는 Cygwin용이고 다른 하나는 패키지용입니다. 예를 들어 c:\cygwin과 패키지용으로 하나는 c:\cygwinpk와 같은 cygwin용 디렉터리가 있습니다.

작동하게 하기 위해 제가 한 일은 c:\cygwin의 이름을 c:\oldcygwin으로 바꾸고, c:\cygwinpk의 이름을 c:\oldcygwinpk로 바꾸는 것이었습니다.

나는 cygwin 설정을 다운로드했습니다(물론 64비트는 32비트가 아주 오래 전의 것이고 심지어 꽤 오래된 컴퓨터도 64비트이기 때문입니다). 그런 다음 cygwin을 설치했습니다.

그리고 이것이 차이를 만들어 cygwin을 새로 설치하도록 강요했습니다.

Cygwin이 작동하려면 Cygwin을 다시 설치하기 전에 이전 Cygwin 디렉토리의 이름을 바꿔야 했습니다.

이제 보시다시피 작동합니다

user@hp-probook1 ~
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/tech/something:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/c/Program Files/Microsoft Network Moni
tor 3:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/blah

user@hp-probook1 ~
$


user@hp-probook1 ~
$ ddrescue
ddrescue: Both input and output files must be specified.
Try 'ddrescue --help' for more information.

user@hp-probook1 ~
$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

user@hp-probook1 ~
$ which ddrescue
/usr/bin/ddrescue

user@hp-probook1 ~
$ which ssh
/usr/bin/ssh

user@hp-probook1 ~
$

이는 Windows 7 시스템에 있습니다. Win7의 대안은 가상 시스템입니다. Windows 10에는 Ubuntu 시스템 등을 설정할 수 있는 매우 세련된 기능의 "WSL"(Linux용 Windows 하위 시스템)이라는 또 다른 옵션이 있습니다. 그리고 Windows에서 볼 수 있는 C 드라이브는 /mnt/c에 표시됩니다. cygwin에서와 마찬가지로 /cygdrive/c에 있습니다. 따라서 사람들은 Win10에서 cygwin을 덜 사용할 수 있습니다. WSL *nix 프로그램은 *nix에 좀 더 네이티브한 것처럼 보이기 때문에 모든 *nix 사용자가 얻을 수 있는 최신 버전을 항상 얻을 수 있습니다.

관련 정보