web-dev-qa-db-ja.com

apt-cyg install return md5sum error

前回Windowsを再インストールしてからcygwinを再インストールしてから、apt-cygが機能しなくなりました。それは私に言い続けます

"md5sum: standard input: no properly formatted MD5 checksum lines found".

何が問題を引き起こす可能性がありますか?また、エラーについて詳しく知りたい場合は、どこに行って調べる必要がありますか?


編集:問題のデバッグを開始すると、生成されたmd5コードがmd5コード(通常は32文字)に対して長すぎる(128文字)ことに気付きました。私は64ビットバージョンのcygwinを使用しているので、それが問題の原因である可能性があります。しかし、それを解決する方法は?

5
Chong

バージョン2.867以降、cygwinはsha512チェックサムに移行しましたが、現在のバージョンのapt-cygは、整合性の検証にmd5sumではなくsha512sumを使用しています。それが問題の原因です。

この問題を解決するには、ファイル「apt-cyg」の323行目と326行目のmd5sumsha512sumに変更します。動作するはずです。

この問題は、プルリクエスト#37によってすでに解決されています: https://github.com/transcode-open/apt-cyg/pull/38 。ただし、変更はまだマスターブランチに実装されていません。


編集:

Windowsプログラムでファイルを編集すると、改行が変更され、次のような問題が発生する可能性があります。

/usr/bin/apt-cyg: line 25: $'\r': command not found

Bashがラインチェンジャーをコマンドとして認識したためです。変更には、vim、emacs、geditなどのLinuxエディターを使用することをお勧めします。または、プルリクエスト#37でアップロードされたapt-cygファイルを直接使用することもできます: https://github.com/jfritz/apt-cyg/blob/97848cfa9ae05297c0b01daeb8ad08a70bc3b77b/apt-cyg

10
Chong

Apt-cygの現在のバージョンでは、整合性の検証にsha512sumではなくmd5sumを使用しています。

343:#digactual=`md5sum $file | awk '{print $1}'`
344:digactual=`sha512sum $file | awk '{print $1}'`

この問題を解決するには、ファイル「apt-cyg」の343行目のmd5sumをsha512sumに変更します。それは私のために働いた。

0
aprodan

シェルからこれを実行します。

Perl -i.bak -pe 's{md5sum}{sha512sum}g'  /usr/local/bin/apt-cyg

その後、再試行してください。

0