起動スクリプトの一部としてapt-transport-httpsをインストールする、負荷分散された管理対象VMのペアがあります。
ただし、最近、サーバーはエラー状態になりました。起動時に、必要なパッケージのバージョン(1.0.9.8.3)がミラーに存在しないため、ダウンロードできなくなったためです。 http:// httpredir。 debian.org/debian/pool/main/a/apt
root@validator-dev-group-c2v4:/etc# apt-get install -f apt-transport-https
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
apt-transport-https
0 upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 138 kB of archives.
After this operation, 195 kB of additional disk space will be used.
Err http://httpredir.debian.org/debian/ jessie/main apt-transport-https AMD64 1.0.9.8.3
404 Not Found
E: Failed to fetch http://httpredir.debian.org/debian/pool/main/a/apt/apt-transport-https_1.0.9.8.3_AMD64.deb 404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
--fix-missing
の提案を試しても役に立たない。
root@validator-dev-group-c2v4:/etc# apt-get install --fix-missing apt-transport-https
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
apt-transport-https
0 upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 138 kB of archives.
After this operation, 195 kB of additional disk space will be used.
Err http://httpredir.debian.org/debian/ jessie/main apt-transport-https AMD64 1.0.9.8.3
404 Not Found
E: Failed to fetch http://httpredir.debian.org/debian/pool/main/a/apt/apt-transport-https_1.0.9.8.3_AMD64.deb 404 Not Found
E: Internal Error, ordering was unable to handle the media swap
次に、apt-transport-httpsの上位バージョン(1.0.9.8.4)のバグを手動でダウンロードしました。libapt-pkg4.12に依存しているため、直接インストールできませんでした。
root@validator-dev-group-c2v4:/home/<user># Sudo dpkg -i ./apt-transport-https_1.0.9.8.4_AMD64.deb
Selecting previously unselected package apt-transport-https.
(Reading database ... 26719 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_1.0.9.8.4_AMD64.deb ...
Unpacking apt-transport-https (1.0.9.8.4) ...
dpkg: dependency problems prevent configuration of apt-transport-https:
apt-transport-https depends on libapt-pkg4.12 (>= 1.0.9.8.4); however:
Version of libapt-pkg4.12:AMD64 on system is 1.0.9.8.3.
誰かがこの問題を解決するのを手伝ってくれる? libapt-pkg4.12のアップグレードと同じくらい簡単ですか?もしそうなら、どうすればいいですか?
[〜#〜] edit [〜#〜]:apt-get update
...も実行できません。 apt-transport-https
がインストールされました。 Catch-22と呼んでいます。
root@validator-dev-group-c2v4:/home/<user># apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
これは、私の/etc/apt/sources.list
が次のようになっているものです。
deb http://httpredir.debian.org/debian/ jessie main
deb-src http://httpredir.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://httpredir.debian.org/debian/ jessie-updates main
deb-src http://httpredir.debian.org/debian/ jessie-updates main
前もって感謝します
/usr/lib/apt/methods
のhttps
ディレクトリをhttp
ディレクトリにシンボリックリンクすることで問題を解決したようです。
root@validator-dev-group-c2v4:~# cd /usr/lib/apt/methods
root@validator-dev-group-c2v4:/usr/lib/apt/methods# ln -s http https
私は実際にhttps://
ソースを構成していないので、それは無害であるように見え、次にapt-get install apt-transport-https
を実行すると、正しいファイルでシンボリックリンクが上書きされます。
一般的な解決策は、apt
のインデックスを更新して、利用可能なバージョンを認識させることです。
__コード__
次に、apt-get update
をインストールすると、リポジトリに適切なバージョンが見つかります。
最近(通常は最終日以内に)行っていない限り、新しいパッケージをインストールするたびにこれを行う必要があります。
apt-transport-https
がapt-get update
を必要とするために実行できない場合は、(一時的に)apt-transport-https
のhttps://
のhttp://
(および/etc/apt/sources.list
のファイル)を(一時的に)/etc/apt/sources.list.d
に切り替えることで修正できます。 HTTPを使用してパッケージをダウンロードしても、セキュリティは低下しません。機密性が低下するだけです(コンピューターとリポジトリの間のシステムは、取得しているパッケージを確認できます)。
thatが機能しない場合は、特定のミラーを選択してみてください。これにより、HTTPS URLへのリダイレクトが回避されます。 list を見て、近くにあるミラーを選択し、ソースでhttpredir.debian.org
の代わりにそれを使用します。
特定のケースでは、apt-transport-https
、libapt-pkg4.12
などの必要なパッケージを、手動でダウンロードして、セットアップスクリプトと一緒に出荷する方が簡単な場合があります。 (あなたは同時にapt
をアップグレードする必要があるかもしれません。)
フォルダ/etc/apt/
内にaptパッケージをダウンロードするためのURLを含むテキストファイルがたくさんあります
これらのテキストファイルの名前の例:/etc/apt/sources.list.d/mssql-release.list
Microsoftサーバーからパッケージをインストールする場合。
また、/etc/apt/sources.list.d/mssql-release.list
の内容は次のようになります。
deb [Arch=AMD64] https://packages.Microsoft.com/debian/8/prod jessie main
*.list
ファイルのコンテンツがHTTPではなくHTTPS経由でダウンロードされる場合がありますが、パッケージapt-transport-https
をインストールしていない場合は、apt-getパッケージマネージャーを更新できません。 HTTPSソースを使用できないことを警告し続けます。
次に、HTTPSリンクを含む問題の*.list
ファイルを見つけて名前を変更します。Sudo mv /etc/apt/sources.list.d/mssql-release.list /etc/apt/sources.list.d/mssql-release.list1 Sudo apt-get update Sudo apt-get install -y apt-transport-https Sudo mv /etc/apt/sources.list.d/mssql-release.list1 /etc/apt/sources.list.d/mssql-release.list Sudo apt-get update
これで、実行したいapt-get操作を続行できます。
この回答を思い付くためのリファレンス https://community.c9.io/t/installing-apt-transport-https-issue/10994/1