クライアントはRHELSatellite Server 5.5(Way EOL)でスタックし、EPELを子チャネルとして実行します。長い間更新されていません。その他の変数、Python 2.6、Redhat 6.9
しかし、EPELリポジトリ(spacewalk-repo-sync)を更新しようとすると、最後にgzipエラー(gzipファイルではなくファイル)で失敗します。epelのマニフェストはbz2(updateinfo.xml.bz2)です。 (ファイル名をダンプするためにgzip.pyのエラーハンドラーを編集しました)。
グーグルへの参照を参照してくださいが、クリーンな解決策や回避策はありません。 (現在オプションではない衛星のアップグレードに加えて)。
何かご意見は?おそらくgzipを使用する別のリポジトリ?ここで少し立ち往生していて、近視であったとしても驚かないでしょう。
IUSおよびRedhatsの標準チャネルで正常に動作します。
ありがとう。
EPELリポジトリには、いくつかの圧縮されたxmlファイルが含まれています。あなたの老化して疲れたバージョンの衛星は、そのような現代の複雑さを理解していません。
既知のバグ。 Bug 970315 --RFE:spacewalk-repo-syncはbz2圧縮xmlファイルを含むyumリポジトリをサポートしていません を参照してください。
Bugzillaで参照されている同僚が行ったように、修正をSatelliteのインスタンスにバックポートしてみてください。これが コミット、4年前から 、後付けはかなり簡単に見えます。
〜700vmsで構成されるRHEL6環境でspacewalk2.2を実行します。 EPELを含む必要なリポジトリで機能するように ahmedsajid's nightly_syncを変更する必要がありました。私のバージョンが利用可能です ここ 。
すべてのリポジトリをローカルでSpacewalkサーバーにダウンロードし、SpacewalkリポジトリをApache経由でパブリックディレクトリにポイントしています。 reposyncが完了すると、必要に応じてEPELのupdateinfo.xmlを処理できるため、spacewalkは次の形式を認識します。
set -o pipefail
if ls $REPO_DIR/$REPO/*updateinfo.xml.gz 2>/dev/null | tail -n 1 ; then
echo "updateinfo.xml.gz found"
gunzip -c $(ls -rt $REPO_DIR/$REPO/*updateinfo.xml.gz | tail -n 1) > $REPO_DIR/$REPO/updateinfo.xml
else
echo "updateinfo.xml.gz not found"
file=$(curl -s https://dl.fedoraproject.org/pub/epel/6Server/x86_64/repodata/ | grep "updateinfo.xml.bz2" | cut -d'"' -f6)
echo "Downloading EPEL $file"
wget -q -P $REPO_DIR/$REPO/ https://dl.fedoraproject.org/pub/epel/6Server/x86_64/repodata/$file
bunzip2 -c $(ls -rt $REPO_DIR/$REPO/*updateinfo.xml.bz2 | tail -n 1) > $REPO_DIR/$REPO/updateinfo.xml
fi
その後、必要なチャネルでspacewalk-repo-syncを実行します(私には1つだけ)。
(今は)汚れていますが、動作します。これをcrontabで設定して、毎晩午前1時頃に実行します。すべてのリポジトリを含めると、最初の同期に時間がかかる場合があります。必要に応じて、これを削ってEPELのみを処理することができます。