私はgpgキーで署名された独自のリポジトリを作成しました。家に3つ、新しいDebian 9があり、2つのDebianが8から9にアップグレードされました。私のコンピュータの1つ(8-> 9) - 理由がわかりません(他の2つは私のパッケージを正しくインストールしました)。このエラーが発生しました(下記参照)。私の質問は:適切なキャッシュをどのように整理しますか? .debファイルは削除せずに呼び出した後に得られたファイルだけを一覧表示しますか# apt-get update
?
私の間違い:
最初は多くの行があります(他のコンピュータでは表示されません)。
> ...
> Ign:24 https://aaa.com/debian stretch/non-free all DEP-11 Metadata
> Ign:25 https://aaa.com/debian stretch/non-free DEP-11 64x64 Icons
> Ign:13 https://aaa.com/debian stretch/non-free all Packages Błąd:17
> https://aaa.com/debian stretch/non-free amd64 Packages
> gnutls_handshake() failed: Public key signature verification has
> failed. Ign:18 https://aaa.com/debian stretch/non-free Translation-pl
> Ign:20 https://aaa.com/debian stretch/non-free Translation-en Ign:22
> https://aaa.com/debian stretch/non-free Translation-pl_PL Ign:23
> https://aaa.com/debian stretch/non-free amd64 DEP-11 Metadata Ign:24
> https://aaa.com/debian stretch/non-free all DEP-11 Metadata Ign:25
> https://aaa.com/debian stretch/non-free DEP-11 64x64 Icons ...
そして最後に:
W: The repository 'https://aaa.com/debian stretch Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Nie udało się pobrać https://aaa.com/debian/dists/stretch/non-free/binary-amd64/Packages gnutls_handshake() failed: Public key signature verification has failed.
私のsource.listには次のものがあります。
deb https://aaa.com/debian stretch non-free
リポジトリをどのように作成しますか? :
#!/bin/bash
cd repoX
rm -r ./debian
rm -r ./repo/dists
rm -r ./repo/pool
rm -r ./repo/db
mkdir -p debian
debsigs --sign=origin -k XXXXXXXX ../DebianR/debian.deb
debsigs --sign=maint -k XXXXXXXX ../DebianR/debian.deb
debsigs --sign=archive -k XXXXXXXX ../DebianR/debian.deb
mv ../DebianR/debian.deb debian/debian-1.0_amd64.deb
reprepro --confdir ./repo/conf/ includedeb stretch ./debian/debian-1.0_amd64.deb
答え1
リポジトリのgpgキーをaptにインポートする必要があります。
gpg --keyserver keyring.debian.org --recv-keys XXXXXXXX
gpg -a --export XXXXXXXX | sudo apt-key add -
それはXXXXXXXX
本当にあなたのものでなければなりません長い短い指紋(8文字)は簡単に偽造できるため、指紋(8文字ではなく40文字)を使用してください。これはいいえそこに理論的な質問があります。はいすでに信じられないほど短い指紋を持つ偽のネットワーク(例:悪32。短い指紋がなりすまし、apt-keyに短い指紋を追加すると、本質的に他の人がパッケージに署名することができます。
また、キーが期限切れになっていないことを確認してください。 (私も最近噛まれたことがあります:-))