10

Debian リポジトリで問題が発生しました。私は間違ったパッケージを削除しました:

reprepro -Vb . remove package

これは問題ありませんでしたが、次のコマンドで同じパッケージを再度追加しようとしたとき:

reprepro -Vb . includedeb squeeze package

次の出力を得ました:

Already existing files can only be included again, if they are the same, but:
md5 expected: 1035762e5e21e6ad8689660c0032f42d, got: 77ea3b094fcbfca4110afb5a9af0d2cb
sha1 expected: e41527e49bee98a59b3a5e16fbe856bb15a836bd, got: 5c6b673e5f11f1a80201e76d0fa4ba1d5935f095
sha256 expected: ae795de3b2d62f513b634a00c4bec74c90d2a6f750e5ec0386ee2b7775af39ec, got: 1531b2dd1869214afe58bb526fa8bda70db1bd1ef73d133bde002d42f147a041
size expected: 327748, got: 253398
There have been errors!

どうすればこれを修正できるか知っている人はいますか?私はreprepro manをチェックしてきましたが、この状況を解決する解決策が見つかりませんでした.

4

3 に答える 3

13

最初のコマンドは機能しないはずです。removeそのパッケージを削除するディストリビューションのコードネームが必要です。

これが単に貼り付けミスであり、 の場合と同様に remove コマンドに「squeeze」を指定したと仮定するとincludedeb、別のディストリビューションに同じパッケージがまだ残っている可能性が高くなります。Reprepro は、最初にリリースされたディストリビューションに関係なく、「同じ名前とまったく同じバージョンのパッケージはまったく同じ内容を持っている」という Debian の理想を強制しようとします。

まだどこにあるのかを確認することができますreprepro ls $package。あなたがそれを見つけたら、正しいことはreprepro copyそれを別の場所からスクイーズに戻すことです.

于 2013-03-07T17:31:16.437 に答える
2

パッケージ名のバージョンを変更するだけでは十分ではなく、制御ファイル (DEBIAN/controlバイナリ アーカイブとdebian/controlソース deb) も変更する必要があります。

deb パッケージを変更したため、別のバージョンを指定する必要があります。通常、行を変更する必要があります

Version: 1.2.3-something

に:

Version: 1.2.3-kioplays1 (...2, 3, etc)

または類似。

バージョンが異なる場合は、リポジトリにパッケージを複数回含めることができます。

于 2016-08-10T09:19:57.893 に答える