下記で器(S3 & CloudFront & R53)の作成まで終わったので、
"Direct Hosting & Cache Distribution"パターンで"yum"リポジトリの作成次は、EC2上でリポジトリを作成してS3にアップロードし、実際に利用できるよにします。
(S3/CloudFront/R53まで)
必要なパッケージのインストール
リポジトリの作成に"createrepo"、リポジトリのページ作成に"repoview"、
S3へのアップロードのために"s3cmd"をインストールします。
# yum -y install createrepo repoview s3cmd ...
RPM(ディレクトリ)の確認
こちらで紹介したディレクトリ構成(/opt/suz-lab/share/rpmbuild/)を利用します。
SRPMのインストール先を変更する(CentOS6)
# cd /opt/suz-lab/share/rpmbuild/RPMS/x86_64 # ls -1 bash-4.1.2-9.el6_2.suzlab_1.x86_64.rpm bash-doc-4.1.2-9.el6_2.suzlab_1.x86_64.rpm
リポジトリの作成
"-d"オプションをつけるとSQLiteのデータベースファイルも作成します。
次の"repoview"で利用します。
# createrepo -d ./ 2/2 - bash-doc-4.1.2-9.el6_2.suzlab_1.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
閲覧用HTMLの作成
"--title"は、このHTMLページのタイトル、"--url"はRSSで利用されるURLです。
# repoview --title="SUZ-LAB Package" --url="http://yum.suz-lab.com/yum/6/x86_64" ./ Examining repository...done Opening primary database...done Opening changelogs database...done Copying layout...done Examining state db...done Collecting group information...done Collecting letters...done Writing package bash-doc.html Writing group development.languages.group.html Writing package bash.html Writing group system_environment.shells.group.html Writing group letter_b.group.html Collecting latest packages...done Writing index.html...done Generating rss feed...done
ディレクトリ構成の確認
"yum"リポジトリとして、下記の構成が出来上がりました。
# tree ./
./
├── bash-4.1.2-9.el6_2.suzlab_1.x86_64.rpm
├── bash-doc-4.1.2-9.el6_2.suzlab_1.x86_64.rpm
├── repodata
│ ├── filelists.sqlite.bz2
│ ├── filelists.xml.gz
│ ├── other.sqlite.bz2
│ ├── other.xml.gz
│ ├── primary.sqlite.bz2
│ ├── primary.xml.gz
│ └── repomd.xml
└── repoview
├── bash-doc.html
├── bash.html
├── development.languages.group.html
├── index.html
├── latest-feed.xml
├── layout
│ └── repostyle.css
├── letter_b.group.html
├── state.sqlite
└── system_environment.shells.group.html
S3へのアップロード
次のコマンドでアップロードします。
# s3cmd -P sync ./ s3://ap-northeast-1.yum.suz-lab.com/yum/6/x86_64/ ..."s3cmd"に関しては、こちら("s3cmd"のまとめ)を参照。
HTMLページの確認
CloudFront経由のアクセスになります。
http://yum.suz-lab.com/yum/6/binary/repoview/
リポジトリの登録
適当なCentOS6のサーバに下記のファイルを作成します。
# cat /etc/yum.repos.d/suz-lab.repo [suz-lab] name=SUZ-LAB Packages for CentOS $releasever - $basearch baseurl=http://yum.suz-lab.com/yum/6/$basearch enabled=1 gpgcheck=0
下記のように出力されれば、もう、リポジトリが使える状態です。
# yum repolist ... repo id repo name status ... suz-lab SUZ-LAB Packages for CentOS 6 - x86_64 2 ...
Bashのアップデートと確認
下記のようにアップデートできます。
# yum update bash ... Running Transaction Updating : bash-4.1.2-9.el6_2.suzlab_1.x86_64 1/2 Cleanup : bash-4.1.2-9.el6_2.x86_64 2/2 Verifying : bash-4.1.2-9.el6_2.suzlab_1.x86_64 1/2 Verifying : bash-4.1.2-9.el6_2.x86_64 2/2 Updated: bash.x86_64 0:4.1.2-9.el6_2.suzlab_1
OSリブート後、下記のように出力されれば成功です。
# tail /var/log/messages ... Jan 1 23:33:17 ip-10-200-0-5 -bash: HISTORY: PID=880 UID=0 tail -f /var/log/messages
これは実装シナリオになるのでは?
--------
http://www.suz-lab.com




0 コメント:
コメントを投稿