Linux技術情報
SDR(Software Delivery Repository) セットアップ方法について

SDR(Software Delivery Repository) セットアップ方法について
- SPP/MCP用 add_repo.sh対応
Production(Gen9/Gen10)と、Post-production(Gen8, G7)分離以降

 本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予め技術情報、ディストリビュータが提供する WEBサイト等をご覧ください。


SDRとは

 Software Delivery Repository(以降 SDR)は Service Pack for ProLiant(以降 SPP)、Management Component Pack(以降 MCP)等を効率的に配布するための HPEが提供するインターネット上のリポジトリーサーバーです。

 SDRを利用する方法は、WEBブラウザによるアクセス、rsync等による丸ごとコピー、yum/zypper等による直接インストールする 3通りの方法があります。

 従来のダウンロードサイトとは異なり、各パッケージに関する下記の情報を得る事はできません。導入される前にはまず、ダウンロードサイトから下記の情報を入手し、システムにインストールするか否かを見当してから SDRを利用してください。

  ・リビジョンヒストリー
  ・リリースノート
  ・インストール方法
  ・対応機種
  ・各種制限事項

 SPPは 2017.07より ProLiantの現行製品向けの Production版と旧製品向けの Post-Production版に分離されました。SDR上での SPPの提供形態もこれに合わせて、ProLiantの世代毎にディレクトリが分割されています。本書は、 この ProLiantの世代毎のディレクトリ分割に対応させたものです。また、rsyncサーバの URLも free.linux.hpe.comから rsync.linux.hpe.comに変更されています。

WEBブラウザからの利用方法

 

 前述の Software Delivery Repository(SDR)へアクセスする事で、対応したディストリビューション毎に SPPの各バージョンの個別パッケージがダウンロード可能です。`spp`をクリックする事で下記のディストリビューションに対応している事、提供されている SPPのバージョンが確認できます。

・Red Hat Enterprise Linux
・SUSE Linux Enterprise Server

 また、https://downloads.linux.hpe.com/SDR/repo/mcp/へアクセスする事で、対応したディストリビューション毎に MCPの各バージョンの個別パッケージがダウンロード可能です。

・Asianux
・CentOS
・Debian
・Oracle Linux
・Ubuntu Server

自動登録yum, zypper, apt-get等からの利用方法

 

 レポジトリの登録を自動で行うためのスクリプトを用意しています。前述の Software Delivery Repository(SDR)へアクセスし `add_repo.sh`を入手してください。このスクリプトが現在のディストリビューション環境を調査し適切なレポジトリ設定を登録します。

 下記の例では、Red Hat Enterprise Linux 7.5上にレポジトリを登録する例となります。レポ名称として実際に SDR上に存在する `spp`(もしくは `mcp`)を指定する必要がある事に注意してください。 レポジトリは /etc/yum.repos.d配下に `HP-spp.repo`として生成されます。

 本スクリプトを利用するには LSB(Linus standard base)準拠パッケージが必要となる事にご注意ください。LSB準拠パッケージを導入したくない場合には、作成されたレポジトリファイルを他のノードに展開して利用するか、後述する add_repo.shスクリプトを利用せずに手動で登録する方法を参照してください。

#export http_proxy="http://proxy.jp.hoge.com:8080" ⇒⇒ proxyが必要な場合のみ
#wget http://downloads.linux.hpe.com/SDR/add_repo.sh
#
#yum install redhat-lsb
 Install 1 Package (+82 Dependent packages)
 Total download size: 36 M
 Installed size: 86M
#
#sh ./add_repo.sh---2021dec03.sh spp-gen10 -d redhat -r 8
#sh ./add_repo.sh spp-gen10 -d redhat -r 8
 info : Repo added to /etc/yum.repos.d/HPE-spp-gen10.repo.
#

 このスクリプトにより /etc/yum.repos.d配下に HP-spp.repoが作成されます。このファイルの中身は下記となります。

#cat /etc/yum.repos.d/HPE-spp-gen10.repo
 # auto-generated by
 # http://downloads.linux.hpe.com/SDR/repo/./add_repo.sh---2021dec03.sh spp-gen10
 # By including and using this configuration,
 # you agree to the terms and conditions
 # of the HPE Software License Agreement at
 # https://techlibrary.hpe.com/tridion/softwarelicensing/pdf/5200-0656_HPE_EULA_English_v1.0.pdf
 [HPE-spp-gen10]
 name=HPE Software Delivery Repository for spp-gen10
 baseurl=http://downloads.linux.hpe.com/SDR/repo/spp-gen10/redhat/8/$basearch/current
 enabled=1
 gpgcheck=0
 #gpgcheck=1
 #gpgkey=http://downloads.linux.hpe.com/SDR/repo/spp-gen10/GPG-KEY-spp-gen10
 #[HPE-spp-gen10-packages]
 #name=HPE Software Delivery Repository Repository for spp-gen10 Packages
 #baseurl=http://downloads.linux.hpe.com/SDR/repo/spp-gen10/redhat/8/packages/$basearch
 #enabled=0
 #gpgcheck=0
 #gpgcheck=1
 #gpgkey=http://downloads.linux.hpe.com/SDR/repo/spp-gen10/GPG-KEY-spp-gen10

自動登録(続) - bootstrap.shでのオプション付与について

 

 この add_repo.shスクリプトでは下記の方法でディストリビューション環境の指定も可能です。

#sh ./add_repo.sh spp -d SuSE -r 12

SUSE Enterpriseの 12を指定しています。

#sh ./add_repo.sh spp -R 2018.06.0

通常は最新版の SPP(`current`)がダウンロード先となりますが、ここでは敢えて SPPの 2018年 6月版(リビジョン .0)を指定して登録しています。

#sh ./add_repo.sh spp -r 7.4

通常は稼働しているディストリビューションのリリースバージョンがダウンロード先となりますが、ここでは敢えてディストリビューションの古いマイナーバージョンである Red Hat Enterprise Linuxの 7.4を指定しています。

詳細は、add_repo.shを -h付きで起動する事でヘルプが表示されます。

#sh ./add_repo.sh -h

Usage: ./bootstrap.sh

eg: where might be "spp" (Support Pack for ProLiant)
or any directory found in http://downloads.linux.hpe.com/SDR/repo

Normally the distribution, version, architecture and other information
in auto-detected. You made override these attributes with the following:

[ -a < Architecture > ]      override to specified Linux architecture
[ -d < Distribution > ]      override to specified Linux distribution
[ -r < Release > ]       override to specified Linux release
[ -R < Revision > ]       override to specified product revison
[ -o < OutputDirectory > ]   override default output directory
[ -s < APTConfigFile > ]   override default APT configuration file
[ -y < YUMConfigFile > ]   override default YUM configuration file
[ -z < ZYPPConfigFile > ]     override default ZYPP configuration file
[ -m < TransportMethod > ]  override default transport protocol (ftp or http)
[ -w < WaystationHost > ]   override default waystation host
[ -u < URLPrefix > ]       override default URL prefix

Additional options:
[ -n ]              preview actions only, make no changes
[ -v ]              increase verbosity
[ -h ]              show this help message

自動登録(続) - 最新のディストリ-ビューションに対応する SPP/MCPが存在しない場合について

 

 ディストリビューションの最新のマイナーバージョンがリリースされた直後には、SDRサイト上には対応したディレクトリが用意されていません。例えば、CentOS 7.5がコミュニティからリリースされた直後には、SDRサイト上には `7.5`と云うディレクトリが用意されていません。この状況で、add_repo.shを使ってそのまま自動登録を行っても、対応する MCPが存在しないために下記のエラーを表示し、登録に失敗します。

#cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

#sh ./add_repo.sh mcp

warn: Unable to find relevant deliverables at URL:
warn: http://downloads.linux.hpe.com/SDR/repo/mcp/CentOS/7.5/x86_64/current
warn: No repository configurations added.

 この様な場合、前述したオプションの `-r 7.4`を利用してディストリビューションを 7.4として認識させる方法が必要となります。オプションを指定しない場合のレポジトリのパス定義としては .../$releasever/$basearch/currentとなりますが、`-r 7.4`を指定する事で .../7.4/$basearch/currentに変更されます。

手動登録 - yum, zypper, apt-get等からの利用方法

 

ディストリビューションに標準搭載されている yum, zypper, apt-get等から直接 SDRをレポジトリとして登録する事が可能です。また、https://downloads.linux.hpe.com/SDR/repo/spp/配下(もしくは `mcp`)へアクセスし、利用したいディストリビューション、CPUアーキテクチャ、SPP(もしくは MCP)のバージョンを探して、手動で特定のレポジトリを登録する事も可能です。

 下記は、Red Hat Enterprise Linux 7の最新(current)となるレポジトリを登録する方法となります。

・社外サイトへアクセスするのに proxy必要となる場合、/etc/yum.confに設定が必要です。下記はその参考例です。

#echo "proxy=http://proxy.hoge.com:8080" >> /etc/yum.conf

・ 下記を参考にして設定ファイルを作成する。

#vi /etc/yum.repos.d/SDR.repo

[SPP_from_SDR]
name=SDR_for_SPP
baseurl=http://downloads.linux.hpe.com/SDR/repo/spp/redhat/7/x86_64/current/
enabled=1
gpgcheck=0

 SDRのディレクトリは多数のリンクから構成されており、指定先が異なっても同じ場所を見にいく様に構築されています。例えば、`RedHat`を `redhat`もしくは `RHEL`や `RedHatEnterpriseServer`に変更したり、`7`を `7Server`に変更しても辿り着く先は同じ場所となりますので、短いパス指定を利用しても構いません。ディレクトリ構成の詳細については SDRサイトのディレクトリ構成を参照してください。

 下記では amsdパッケージと、iLO用ファームウェアパッケージを SDRから検索しています。検索したパッケージをインストールするには #yum install等で実行します。

#yum search amsd
  SPP_from_SDR          2.5 kB  00:00
  SPP_from_SDR/primary_db    1.6 MB  00:02
  =======================================================
  amsd.x86_64 : Agentless Management Service

#yum search firmware | grep -i ilo
  firmware-ilo5.x86_64 : HPE Integrated Lights-Out 5 firmware
  hp-firmware-ilo4.i386 : HPE Integrated Lights-Out 4 firmware

rsync, mirrorからの利用方法

 

 SDRの中身を丸ごと rsyncを使って同期コピーする事も可能です。ここでは Linuxで一般的に利用されている rsyncでの利用例を記します。

 下記のコマンド例では SDRの `spp`配下の内 SPPのバージョンとなる 20*で始まるディレクトリのみ(RedHatEnterpriseServer/RedHat/RHEL/redhat/rhel等のディストリビューションで始まる SPPディレクトリを除く)を Apacheのコンテンツとしてダウンロード先をイントラネットに公開する事を想定した作業内容となります。

#mkdir -p /var/www/html/SDR/repo/spp
#export RSYNC_PROXY="proxy.jp.hoge.com:8080" ⇒⇒ proxyが必要な場合のみ
#rsync --progress -avz rsynclinux.hpe.com::SDR/repo/spp/20* /var/www/html/SDR/repo/spp/

 定期的に同期を行いたい場合には、下記の例を参考にしてください。

#vi /etc/cron.daily/rsync_sdr_only-spp.sh

#!/bin/sh
rsync --progress -avz rsynclinux.hpe.com::SDR/repo/spp/20* ¥
/var/www/html/SDR/repo/spp/ --log-file=/var/tmp/log-`date +%Y%m%d`-`date +%H%M`
tree /var/www/html/SDR/repo/spp/ >> /var/tmp/tree-`date +%Y%m%d`-`date +%H%M`
ls -lR /var/www/html/SDR/repo/spp/ >> /var/tmp/lslR-`date +%Y%m%d`-`date +%H%M`

 2018-SEP-19現在の `SDR/repo/spp`配下のファイル配置状況は下記となっており、#du -hsでの Usedは、62Gとなっています。

#rsync結果 #tree結果 #ls -lR結果

SDRサイトの詳細について

 

 詳細については前述のSoftware Delivery Repository(SDR)へアクセスし、`Getting Started`と `FAQ`をご覧ください。

Open Source & Linux

product
support
サイト情報

2015年11月1日付でHewlett-Packard CompanyをHewlett Packard Enterprise Company とHP Inc.に分社する以前に販売された製品については、現在のモデルと異なる、古い製品名およびモデル番号である場合があります。