Debianマルチメディアdeb http://www.deb-multimedia.org jessie main
のUbuntu 16.04で署名なしリポジトリを使用しています
Deb-multimedia-keyringをインストールするには、apt-get update && apt-get install deb-multimedia-keyring -y
を実行しています
これはエラーになります
W: GPG error: http://www.deb-multimedia.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
E: The repository 'http://www.deb-multimedia.org jessie InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
前もって感謝します
次のオプションを使用して、いくつかの重要な保護手段をバイパスできます。
--allow-unauthenticated
Apt-getのmanページから:
--allow-unauthenticated
Ignore if packages can't be authenticated and don't Prompt about
it. This can be useful while working with local repositories, but
is a huge security risk if data authenticity isn't ensured in
another way by the user itself. The usage of the Trusted option for
sources.list(5) entries should usually be preferred over this
global override. Configuration Item:
APT::Get::AllowUnauthenticated.
ただし、このオプションをより広く使用する場合は、少し注意してください。protectコンピュータではなくlimit自由のための安全対策が講じられています...
sources.list
でオプションを設定できます:
deb [trusted=yes] http://www.deb-multimedia.org jessie main
信頼できるオプションは、GPGチェックをオフにするものです。詳細については、man 5 sources.list
を参照してください。
Ps:source.list
は/etc/apt/sources.list
にあります
別の一般的なソリューションは
Sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5C808C2B65558117
注:このリポジトリを使用してソリューションをテストしたことはありませんが、Skypeリポジトリを使用してテストしたため、正常に機能しました。
ケースに固有の別のソリューションは、キーをインストールすることです
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.05_all.deb -O deb-multimedia-keyring.deb
Sudo dpkg -i multimedia-keyring_all.deb
ここ の完全なウォークスルーで説明されているように
キーをパッケージ化したリポジトリからパッケージを取得してリポジトリ内に含めようとする場合、dpkgを使用してキー/キーリングパッケージをダウンロードしてインストールするのは非常に面倒であり、そうするのは非常に困難です。簡単にスクリプト化および反復可能な方法で。
キーサーバーからキーをインストールできる場合(apt-key adv
を使用した別の回答で推奨)、またはhttpsを介して信頼できるソースからダウンロードし、apt-keyを使用してインストールできる場合(たとえばwget https://trusted.key.site/my-trusted-key.gpg | Sudo apt-key add -
)、以下のスクリプトはお勧めしません他の方法はありません、これを使用できます。
echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | Sudo tee /etc/apt/sources.list.d/your-repo-name.list
Sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update
## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with `Sudo rm /var/lib/apt/lists/your.repo.domain*`
apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname
## If you ever run `Sudo apt-key del your-repos-keyID`
## you may have to `Sudo apt remove --purge repo-keyring-pkgname`
## Update should run without the GPG warnings now that the key is installed
apt-get update
apt-get install somepkg-from-repo
Sur5rリポジトリのi3がこれを行うため、元々これをまとめましたが、キーがkeyserver.ubuntu.comリストにあることがわかったため、Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6
だけで余分なパッケージの手間をすべて省くことができます。
キーサーバーからPUBLIC_KEYを取得し、apt-keyに追加できます。キーサーバーがpgpkeys.mit.edu
であると仮定すると、最初に入力する必要があります:
gpg --keyserver pgpkeys.mit.edu --recv-key KEY_IN_ERROR
gpg -a --export KEY_IN_ERROR | Sudo apt-key add -
キーKEY_IN_ERRORをエラーメッセージのキー、つまり5C808C2B65558117に置き換えます。
また、署名のないリポジトリを追加することに本当に興味がある場合は、次のようにsources.listの目的のリポジトリエントリにフラグを追加できます。
deb [allow-insecure=yes] http://www.deb-multimedia.org jessie main
これは、個々のエントリのセキュリティ設定を微調整する場合に非常に便利です。