このドキュメントで説明されているソフトウェアはサポートされなくなったか、または拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお薦めします。

2.6.3 spacewalk-repo-syncを使用したソフトウェア・チャネルの同期

spacewalk-repo-syncユーティリティを使用して、ソフトウェア・チャネルを同期することができます。 このコマンドを使用するには、rootであるか、/etc/sudoersで許可が与えられている必要があります。 spacewalk-repo-syncは、手動で実行することも、cronジョブで実行することもできます。 cronジョブでコマンドを実行する場合は、大きな電子メール・メッセージがrootに送信されないように、-qまたは--quietオプションを含めます。

spacewalk-repo-sync -lコマンドを使用して、チャネル・ラベルとリポジトリのURLを表示することができます。次に例を示します:

# spacewalk-repo-sync -l | grep ksplice
ksplice-ol7-x86_64 | uln:///ol7_x86_64_ksplice
ksplice-ol6-i386 | uln:///ol6_i386_ksplice
ksplice-ol6-x86_64 | uln:///ol6_x86_64_ksplice

# spacewalk-repo-sync -l | grep addons
oraclelinux7-x86_64-addons | https://yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/
oraclelinux6-x86_64-addons | https://yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/

チャネルをyumまたはULNリポジトリと同期させるには、-cオプションを使用してチャネル・ラベルを指定します。たとえば、次のようにします:

# spacewalk-repo-sync -c ksplice-ol6-x86_64
#### Channel label: ksplice-ol6-x86_64 ####
Repo URL: uln:///ol6_x86_64_ksplice
The download URL is: https://linux-update.oracle.com/XMLRPC/GET-REQ/ol6_x86_64_ksplice
Packages in repo:              1296
Packages already synced:          0
Packages to sync:              1296
1/1296 : ksplice-snmp-plugin-0.1.0-2.el6-0.x86_64
2/1296 : uptrack-updates-2.6.39-400.210.2.el6uek.x86_64-20150206-0-0.noarch
...
1295/1296 : uptrack-updates-2.6.32-220.el6.x86_64-20150130-0-0.noarch
1296/1296 : uptrack-updates-2.6.32-200.20.1.el6uek.x86_64-20141216-0-0.noarch
Linking packages to channel.
Repo uln:///ol6_x86_64_ksplice has 0 errata.
Sync completed.
Total time: 1 day, 8:56:47

この例では、チャネルがULNと以前同期されていなかったため、すべてのパッケージがダウンロードされました。 要した合計時間は約33時間でした。

同じ形式のコマンドを使用して、チャネルをOracle Linux yumサーバー・リポジトリと同期できます。次に例を示します:

# spacewalk-repo-sync -c oraclelinux6-x86_64-addons
#### Channel label: oraclelinux6-x86_64-addons ####
Repo URL: https://yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/
Packages in repo:               308
No new packages to sync.
Repo https://yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/ has 6 errata.
Sync completed.
Total time: 0:01:09

この例では、ダウンロード可能な新しいパッケージはありませんでした。

-pオプションを使用すると、親チャネルとすべての子を1回の操作で同期させることができます:

# spacewalk-repo-sync -p parent_channel

次に例を示します。

# spacewalk-repo-sync -p oraclelinux7-x86_64

さらに--latestオプションを指定すると、サーバーは使用可能な最新のパッケージのみを同期させます。

 spacewalk-repo-sync -p oraclelinux7-x86_64 --latest
#### Channel label: oraclelinux7-x86_64 ####
Repo URL: https://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/
Packages in repo:             10133
Packages already synced:          0
Packages to sync:              5845
1/5845 : bind-lite-devel-9.9.4-18.el7_1.3-32.i686
2/5845 : bind-sdb-chroot-9.9.4-18.el7_1.2-32.x86_64
...

この例では、リポジトリ内の10,133個のパッケージのうち、5,845個の最新パッケージのみをダウンロードする必要がありました。

--latestオプションは、同期時に使用可能な最新のパッケージをダウンロードします。 古いパッケージは削除されません。 同期間隔が長い場合は、特定のバージョンのパッケージを見逃す可能性があります。 これは、エラータが特定のパッケージ・バージョンに関連付けられているエラータ処理に影響を与える可能性があります。 エラータの整合性が重要な場合は、--latestを使用しないことをお薦めします。 ただし、パッケージが常に累積的であるため、Kspliceチャネルで--latestを使用することは例外です。

詳細は、spacewalk-repo-sync(8)マニュアル・ページを参照してください。