私はしばらくの間 salt を使用してきましたが、最近、ファイルの 1 つで oracle-java8-installer を設定する際に問題が発生しました。
ここに私の init.sls ファイルがあります。
oracle-java8-installer:
pkgrepo.managed:
- ppa: webupd8team/java
pkg.installed:
- require:
- pkgrepo: oracle-java8-installer
debconf.set:
- data:
'shared/accepted-oracle-license-v1-1': {'type': 'boolean', 'value': True}
- require_in:
- pkg: oracle-java8-installer
失敗の出力は次のとおりです。
----------
ID: oracle-java8-installer
Function: pkgrepo.managed
Result: False
Comment: Failed to configure repo 'oracle-java8-installer': Error: key retrieval failed: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.iWTPBbRLgo --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --logger-fd 1 --recv-keys 7B2C3B0889BF5709A105D03AC2518248EEA14886
?: [fd 4]: read error: Connection reset by peer
gpgkeys: HTTP fetch error 7: couldn't connect: eof
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Started:
Duration:
Changes:
----------
ID: oracle-java8-installer
Function: debconf.set
Result: True
Comment: All specified answers are already set
Started:
Duration:
Changes:
----------
ID: oracle-java8-installer
Function: pkg.installed
Result: False
Comment: One or more requisite failed
Started:
Duration:
Changes:
----------
なぜ失敗するのか分かりません。このシステムにはJava 7が存在し、推薦するアンインストールする必要があるようですが、それが問題の原因ではないはずです。
どのような助けでも大歓迎です。
答え1
バックグラウンドで何が起こっているのかすべて理解しているわけではありませんが、何が起こっているのかを説明してみたいと思います。
salt を使用して PPA を追加しようとすると、ポート 11371 経由で keyserver.ubuntu.com にアクセスしようとします。ほとんどの企業のファイアウォールは、このような奇妙なポートをブロックします。企業ネットワーク内にいる場合は、おそらくこれが問題です。
これを回避するには、cmd.run 'sudo add-apt-repository ppa:webupd8team/java'
これを使用すると、Linux の最も一般的なディストリビューションが使用するデフォルトのポート 80 が使用されます。
この情報のほとんどはここ
答え2
少し遅くなって申し訳ありませんが、Ubuntu 14.04 で動作するこの gist を見つけました: https://gist.github.com/renoirb/6722890