私が訪問したキーサーバーはすべてタイムアウトしています。公開鍵の署名を確認せずにパッケージをインストールする必要があります。すべての署名チェックをバイパスする/すべての署名エラーを無視する、または署名が渡されたと考えるようにバカにする方法はありますか?
次のように、--allow-unauthenticated
オプションをapt-get
に渡します。
Sudo apt-get --allow-unauthenticated upgrade
apt-get
のマニュアルページから:
--allow-unauthenticated
パッケージを認証できず、プロンプトを表示しない場合は無視します。これは、pbuilderなどのツールに役立ちます。構成アイテム:APT :: Get :: AllowUnauthenticated。
/etc/apt/apt.conf.d/
dirにある独自の構成ファイルを使用して、この設定を永続的にすることができます。ファイル名には99myown
を使用でき、次の行を含めることができます。
APT::Get::AllowUnauthenticated "true";
このように、ソフトウェアをインストールするたびにオプションを使用する必要はありません。 注:デフォルトでこのオプションを設定することはお勧めしません。これは、攻撃者がコンピューターを危険にさらす可能性のある署名チェックをバイパスします。
ファイル/etc/apt/apt.confを作成して(作成すると読み取られます)、次のコードを挿入できます。
APT{Ignore {"gpg-pubkey"; }};
キーをパッケージ化したリポジトリからパッケージを取得してリポジトリ内に含めようとする場合、dpkgを使用してキー/キーリングパッケージをダウンロードしてインストールするのは非常に面倒であり、そうするのは非常に困難です。簡単にスクリプト化および反復可能な方法で。
キーサーバーからキーをインストールしたり、httpsを介して信頼できるソースからダウンロードしたりできる場合、以下のスクリプトはお勧めしませんが、他に方法がない場合はこれを使用できます。
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
だけで余分なパッケージの手間をすべて省くことができます。
このコンテンツで/etc/apt/apt.conf.d/99allow_unauth
を作成します:
APT { Get { AllowUnauthenticated "1"; }; };
php-coderの comment に感謝します。
古いdebianサーバーでも同じ問題が発生しました。私はイベントを作ることができませんでした
apt-get update
それは私に次のエラーを与えました:
E: Release file expired, ignoring http://archive.debian.org/debian/dists/squeeze-lts/Release (invalid since 1183d 0h 2min 51s)
最後に、解決策はこれを追加することでした:
Acquire::Check-Valid-Until false;
/etc/apt/apt.confに(存在しない場合は作成します)。この後、エラーは単純な警告になりました。
私はそれがubuntuでも動作するかもしれないと思います。
完全に安全ではないことに注意してください。