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 には当然 2 つのディレクトリが必要です。1 つは Cygwin 用、もう 1 つはパッケージ用です。私の場合は、Cygwin 用のディレクトリ (例: c:\cygwin) とパッケージ用のディレクトリ (c:\cygwinpk) がありました。

これを動作させるために私がやったことは、c:\cygwinの名前をc:\oldcygwinに変更し、c:\cygwinpkの名前をc:\oldcygwinpkに変更したことです。

Cygwin セットアップをダウンロードしました (もちろん 64 ビットです。32 ビットはずっと昔のもので、私のかなり古いコンピューターでも 64 ビットです)。次に、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 には別のオプションがあります。非常に機能的でおしゃれな「WSL」(Linux 用 Windows サブシステム) で、たとえば Ubuntu システムをセットアップできます。また、Windows に表示される C ドライブは、/mnt/c に表示されます。cygwin の場合と同じように、/cygdrive/c に表示されます。そのため、Win10 では cygwin の使用頻度が低くなる可能性があります。WSL *nix プログラムは *nix に少しネイティブなため、*nix ユーザーが入手できる最新バージョンを常に入手できます。

関連情報