2013年12月31日火曜日

Oracle Linux 6.5 の UEK R3 と YUMグループについて

Oracle Linux 6.5 インストール中のパッケージ選択画面で、
「UEK3 kernel repo」には UEK R3 自体のパッケージが見当たりません。




しかし、このグループを選択すると実際にはUEK R3がインストールされます。
[root@oel65-base-64 ~]# uname -r
3.8.13-16.2.1.el6uek.x86_64

ためしに、「UEK3 kernel repo」グループの情報を見てみます。
/etc/yum.repos.d/dvd.repo ファイルに下記を追記して「yum groupinfo」コマンドを実行します。

/etc/yum.repos.d/dvd.repo ファイルの記載例
[DVD-UEK3]
name=DVD-UEK3
baseurl=file:///media/UEK3
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1

見てみると、
「Mandatory Packages」(必須パッケージ)というカテゴリの中に「kernel-uek」がありました。
[root@oel65-base-64 ~]# mount /dev/cdrom /media/
[root@oel65-base-64 ~]# yum groupinfo "UEK3 kernel repo"
Loaded plugins: security
Setting up Group Process

Group: UEK3 kernel repo
 Description: UEK3 kernel repo.
 Mandatory Packages:
   kernel-uek
 Default Packages:
   dtrace-modules-3.8.13-16.2.1.el6uek
   kernel-uek-doc
   kernel-uek-firmware
   libdtrace-ctf
   uname26
 Optional Packages:
   dtrace-modules-3.8.13-16.2.1.el6uek-headers
   dtrace-modules-3.8.13-16.2.1.el6uek-provider-headers
   kernel-uek-debug
   kernel-uek-debug-devel
   kernel-uek-devel
   libdtrace-ctf-devel

オプションで、「-v」を付けるとRPMのバージョンなども表示されるようになります。
[root@oel65-base-64 ~]# yum groupinfo "UEK3 kernel repo" -v
Not loading "rhnplugin" plugin, as it is disabled
Loading "security" plugin
Config time: 0.025
Yum Version: 3.2.29
Setting up Group Process
rpmdb time: 0.000
group time: 0.589

Group: UEK3 kernel repo
 Group-Id: uek3-kernel-repo
Setting up Package Sacks
pkgsack time: 0.024
 Description: UEK3 kernel repo.
 Mandatory Packages:
   kernel-uek-3.8.13-16.2.1.el6uek.x86_64                                  @anaconda-UEK3/6.5
 Default Packages:
   dtrace-modules-3.8.13-16.2.1.el6uek-0.4.1-3.el6.x86_64                  @anaconda-UEK3/6.5
   kernel-uek-doc-3.8.13-16.2.1.el6uek.noarch                              @anaconda-UEK3/6.5
   kernel-uek-firmware-3.8.13-16.2.1.el6uek.noarch                         @anaconda-UEK3/6.5
   libdtrace-ctf-0.4.0-1.x86_64                                            @anaconda-UEK3/6.5
   uname26-1.0-1.el6.x86_64                                                @anaconda-UEK3/6.5
 Optional Packages:
   dtrace-modules-3.8.13-16.2.1.el6uek-headers-0.4.1-3.el6.x86_64          DVD-UEK3
   dtrace-modules-3.8.13-16.2.1.el6uek-provider-headers-0.4.1-3.el6.x86_64 DVD-UEK3
   kernel-uek-debug-3.8.13-16.2.1.el6uek.x86_64                            DVD-UEK3
   kernel-uek-debug-devel-3.8.13-16.2.1.el6uek.x86_64                      DVD-UEK3
   kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64                            @anaconda-UEK3/6.5
   libdtrace-ctf-devel-0.4.0-1.x86_64                                      DVD-UEK3

UEK R3 のグループに限らない話ですが、
OSインストール中のパッケージ選択画面では 必須パッケージは表示されないようです。

おまけ

ついでに、OL6 で DVDの中をYUMで見に行くときの設定例 を書いておこうと思います。
DVDのマウントポイントは /media にしています。
[root@oel65-base-64 setup]# cat /etc/yum.repos.d/dvd.repo
[DVD-Server]
name=DVD-Server
baseurl=file:///media/Server
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1
[DVD-HighAvailability]
name=DVD-HighAvailability
baseurl=file:///media/HighAvailability
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1
[DVD-LoadBalancer]
name=DVD-LoadBalancer
baseurl=file:///media/LoadBalancer
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1
[DVD-ResilientStorage]
name=DVD-ResilientStorage
baseurl=file:///media/ResilientStorage
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1
[DVD-ScalableFileSystem]
name=DVD-ScalableFileSystem
baseurl=file:///media/ScalableFileSystem
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1
[DVD-UEK3]
name=DVD-UEK3
baseurl=file:///media/UEK3
gpgkey=file:///media/RPM-GPG-KEY
gpgcheck=1
enabled=1

以上、UEK R3 のYUMグループの話でした。

2013年12月30日月曜日

Oracle Linux 6.5 で インストール中のスクリーンショットを取得する。

新しい機能というわけではないですが、
Oracle Linux のインストール中にプリントスクリーンのキーを押すと、
スクリーンショットが取得できます。

最近リリースされた
Oracle Linux 6.5 をインストールするついでに取得してみました。

取得した瞬間に、下記のようなメッセージが表示され、画像はPNG形式で保存されます。
「A screenshot named 'screenshot-NNNN.png' has been saved.」

ちなみにこの画面は、
スクリーンショットを保存したメッセージが出たときに
さらにプリントスクリーンを押して取得しました。



たとえば、物理サーバへの OSインストールするときの
手順書作成や、エビデンス(作業ログ)の取得などに使えるのではないかと思います。
※手順書作成用のキャプチャ取得はVirual Box とかでもできますが、なにか事情があるときに・・・

ちなみに Oracle Linux 6.5 ~ の 「UEK3 Kernel repo」 を選択して
スクリーンショットを取得してみました。
ちなみに、画面には UEK(Unbreakable Enterprise Kernel) R3 自体が見当たりませんが、
このグループを選択すると実際には UEK R3 がインストールされます。



処理の途中で取得することもできます。




スクリーンショットのファイルは
/root/anaconda-screenshots/ ディレクトリに保存され、
インストールが完了後に採取することができます。
anaconda インストーラ実行中のスクリーンショットということで
anaconda-screenshots ディレクトリなのでしょう。
[root@oel65-base-64 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@oel65-base-64 ~]# uname -r
3.8.13-16.2.1.el6uek.x86_64  ★「3.8.13~」 なので UEK R3です。
[root@oel65-base-64 ~]# ls /root/anaconda-screenshots/
screenshot-0000.png  screenshot-0013.png  screenshot-0026.png
screenshot-0001.png  screenshot-0014.png  screenshot-0027.png
screenshot-0002.png  screenshot-0015.png  screenshot-0028.png
screenshot-0003.png  screenshot-0016.png  screenshot-0029.png
screenshot-0004.png  screenshot-0017.png  screenshot-0030.png
screenshot-0005.png  screenshot-0018.png  screenshot-0031.png
screenshot-0006.png  screenshot-0019.png  screenshot-0032.png
screenshot-0007.png  screenshot-0020.png  screenshot-0033.png
screenshot-0008.png  screenshot-0021.png  screenshot-0034.png
screenshot-0009.png  screenshot-0022.png  screenshot-0035.png
screenshot-0010.png  screenshot-0023.png  screenshot-0036.png
screenshot-0011.png  screenshot-0024.png
screenshot-0012.png  screenshot-0025.png

以上、Oracle Linux インストール中のスクリーンショット取得でした。

2013年12月27日金曜日

Intel NUC で Oracle VM Server

いま流行の Intel NUC (Next Unit of Computing)に
Oracle VM Server 3.2.6 をインストールしてみました。

今回試したのは、Intel NUC DC3217IYE です。

普通にインストールできて、NICもちゃんと認識されています。
ちなみに、Oracle VM Server(OVS)ではデフォルトで bond0 が構成されます。
[root@ovs326-5 ~]# cat /etc/ovs-release
Oracle VM server release 3.2.6
[root@ovs326-5 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr EC:A8:6B:F2:25:24
          inet addr:192.168.4.25  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:58816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2827 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4034550 (3.8 MiB)  TX bytes:412380 (402.7 KiB)
eth0      Link encap:Ethernet  HWaddr EC:A8:6B:F2:25:24
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:58816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2832 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4034550 (3.8 MiB)  TX bytes:413330 (403.6 KiB)
          Interrupt:20 Memory:f7c00000-f7c20000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:46 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6905 (6.7 KiB)  TX bytes:6905 (6.7 KiB)
[root@ovs326-5 ~]# lspci
00:00.0 Host bridge: Intel Corporation Device 0154 (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Device 0166 (rev 09)
00:16.0 Communication controller: Intel Corporation Device 1e3a (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04) ★これがNIC
00:1a.0 USB Controller: Intel Corporation Device 1e2d (rev 04)
00:1b.0 Audio device: Intel Corporation Device 1e20 (rev 04)
00:1d.0 USB Controller: Intel Corporation Device 1e26 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Device 1e56 (rev 04)
00:1f.2 SATA controller: Intel Corporation Device 1e03 (rev 04)
00:1f.3 SMBus: Intel Corporation Device 1e22 (rev 04)

ちなみにCPUは Intel Core i3 です。
Intel Core i3-3217U Processor (3M Cache, 1.80 GHz)
http://ark.intel.com/ja/products/65697/

2コアでハイパースレッディング・テクノロジーが有効なので
OVSからは、4スレッド(4論理CPU)が見えます。
[root@ovs326-5 ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
stepping        : 9
cpu MHz         : 1797.706
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 popcnt f16c hypervisor lahf_lm arat epb pln pts dts fsgsbase erms
bogomips        : 3595.41
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
stepping        : 9
cpu MHz         : 1797.706
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 popcnt f16c hypervisor lahf_lm arat epb pln pts dts fsgsbase erms
bogomips        : 3595.41
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
stepping        : 9
cpu MHz         : 1797.706
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 1
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 popcnt f16c hypervisor lahf_lm arat epb pln pts dts fsgsbase erms
bogomips        : 3595.41
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
stepping        : 9
cpu MHz         : 1797.706
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 1
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 popcnt f16c hypervisor lahf_lm arat epb pln pts dts fsgsbase erms
bogomips        : 3595.41
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

一応 Xen も起動しています…
[root@ovs326-5 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   552     4     r-----    873.8

以上、ためしに NUC に OVS をインストールしてみた話でした。

2013年12月24日火曜日

最近、ライブマイグレーションのしやすさも大事な気がしました。

最近、ふと
サーバ仮想化環境のアーキテクチャを決めるときには、
ライブマイグレーションのしやすさも考える価値があるのではないかと思いました。
VM をほぼ無停止(OSも、その上のアプリもほぼ無停止)で
他のハイパーバイザに移動できるので、運用がとても楽になるので・・・

たとえば VM のスペックを決めるときに、まずは
  • そのVM がどのようなサービスを提供するのか
  • どらくらいの性能が求められるのか
といったことを考慮すると思います。
当然、その結果として超ハイスペックなVM が必要になることもあると思います。

ただ、可能であれば
ハイスペックな VM をいくつか(少ない台数で)並べるより、


そこそこのスペックのVM を並べること(いわゆるスケールアウト)にすれば、
ライブマイグレーションをしやすくなる
(結果的に運用目的のサービス停止をより少なくできる)
こともあるのではないかと思いました。



運用中にライブマイグレーションをしたくなったとき、
あまりに高負荷な(たとえばメモリ更新が激しすぎるような) VM は
途中で失敗するのではないか、何か別の障害に派生するのではないか
という心配があります。
当然、ライブマイグレーションが100% 成功するとは限らないのですが、
すでに「リスクの高い最新の技術」というわけではなく、
運用面でのメリットを無視できないことも多いのではないでしょうか。

そこで
ハイスペックすぎるVM(いわゆるモンスターVM)をできるだけ
作らないように意識することで、
運用中にライブマイグレーションを実行する敷居を
下げることができないか という思いつきでした。

実際は、そんなに都合のよいスペックのVM を作成できなかったり、
そもそも スケールアウトしやすい アーキテクチャではなかったりする
ことが多いでしょう。
そして、VM をスケールアウトさせることは CPU/メモリ/ディスクといったリソースの
分割損を発生させることにもなるはずです。

なかなかそううまくはいかないのですが、
日頃からサーバ仮想化インフラの最適化を心掛けたいと思います。
そして DRS へ ・・・

以上です。最近ちょっと VM のサイジングについて思ったことでした。

2013年12月7日土曜日

Oracle VM で DRS。

こんにちは。

JPOUG Advent Calendar 2013
http://www.zusaar.com/event/1687004
の12月7日担当です。
昨年、これに参加するべくブログ始めてから1年たってしまいました。

今回は100%ネタがかぶらないであろう Oracle VM 3.x の DRS について
軟式に検証してみます。

2013年11月10日日曜日

rlwrap の RPMを作成してみる(EL6系)

今回は、sqlplus と併用することが多い、rlwrap のRPMを作成してみます。

rlwrap は readline のラッパー で、sqlplus と合わせて使うと
コマンドラインの履歴が(「↑」キーなどで)呼び出せるようになります。

インストール自体は、一般的な
./configure
make
make install
で十分なのですが、
rpm コマンドで情報がみられると便利かもしれないと思って
練習ついでにRPMにしてみました。


RPM化するソースファイル

あらかじめ、下記URLのあたりからrlwrapのソースファイルを入手しておきます。
http://sourceforge.jp/projects/freshmeat_rlwrap/releases/
http://utopia.knoware.nl/~hlub/rlwrap/

今回は、DLした下記のファイルをRPM化します。
rlwrap-0.37.tar.gz

今回RPMを作成する環境です。
$ cat /etc/oracle-release
Oracle Linux Server release 6.2
$ uname -r
2.6.32-300.3.1.el6uek.x86_64

RPM作成の手順

RPMの作成中のディレクトリ削除等で事故を避けるため、
rootではなく一般ユーザで実施します。

最初に、rpm-build がインストールされていることを確認します。
$ rpm -q rpm-build
rpm-build-4.8.0-19.el6.x86_64

RPM作成用で利用するディレクトリを作成しておきます。
$ mkdir -p rpmbuild/BUILD
$ mkdir -p rpmbuild/BUILDROOT
$ mkdir -p rpmbuild/RPMS
$ mkdir -p rpmbuild/SOURCES
$ mkdir -p rpmbuild/SPECS
$ mkdir -p rpmbuild/SRPMS

ソースファイルを配置します。
.tar.gzファイル は、rpmbuild が自動的に解凍できるので
そのまま置いておきます。
$ mv rlwrap-0.37.tar.gz rpmbuild/SOURCES/

SPECファイルを作成します。
このファイルに、RPMをどう作成するかを記載しておきます。
$ vi SPECS/rlwrap.spec
SPECファイルには、下記のように記載しておきます。

rlwrap.spec ファイルの記載例
Name:           rlwrap
Version:        0.37
Release:        0%{?dist}
Summary:        Wrapper for GNU readline
License:        GPLv2
URL:            http://utopia.knoware.nl/~hlub/rlwrap/
Source0:        rlwrap-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root)
BuildRequires:  readline-devel

%description
Wrapper for GNU readline.
readline wrapper => rl-wrap => rlwrap

%prep
%setup -q

%build
%configure
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README
%{_bindir}/rlwrap
%{_mandir}/*/rlwrap.*
%{_datadir}/rlwrap
/usr/share/man/man3/RlwrapFilter.3pm.gz

%changelog
* Sat Nov 9 2013 gowatana <mail-address> 0.37-0
- Initial RPM Package.

ビルド前のディレクトリは下記のようになっています。
$ pwd
/home/gowatana/rpmbuild
$ ls *
BUILD:

BUILDROOT:

RPMS:

SOURCES:
rlwrap-0.37.tar.gz

SPECS:
rlwrap.spec

SRPMS:

RPM作成コマンド「rpmbuild」を実行します。

ちなみに、今回は rlwrap と依存関係がある readline-devel
すでにインストール済みです。
$ rpm -q readline-devel
readline-devel-6.0-3.el6.x86_64
rpmbuild コマンドを実行すると、RPMが作成されます。
$ rpmbuild -ba SPECS/rlwrap.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.8s03OH
+ umask 022
+ cd /home/gowatana/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
(省略)
Processing files: rlwrap-debuginfo-0.37-0.el6.x86_64
伸張ファイルの検査中: /usr/lib/rpm/check-files /home/gowatana/rpmbuild/BUILDROOT/rlwrap-0.37-0.el6.x86_64
警告: ホスト名を正式なものにできません: sv1
書き込み完了: /home/gowatana/rpmbuild/SRPMS/rlwrap-0.37-0.el6.src.rpm
書き込み完了: /home/gowatana/rpmbuild/RPMS/x86_64/rlwrap-0.37-0.el6.x86_64.rpm
書き込み完了: /home/gowatana/rpmbuild/RPMS/x86_64/rlwrap-debuginfo-0.37-0.el6.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.QS6y6g
+ umask 022
+ cd /home/gowatana/rpmbuild/BUILD
+ cd rlwrap-0.37
+ rm -rf /home/gowatana/rpmbuild/BUILDROOT/rlwrap-0.37-0.el6.x86_64
+ exit 0

上記のRPM作成直後、ディレクトリの中身は下記のようになりました。
ちゃんとRPMが作成されています。
$ pwd
/home/gowatana/rpmbuild
$ ls -R *
BUILD:
rlwrap-0.37

BUILD/rlwrap-0.37:
AUTHORS    Makefile.am  aclocal.m4     configure          filters
BUGS       Makefile.in  completions    configure.ac       src
COPYING    NEWS         config.h       debugfiles.list    stamp-h1
ChangeLog  PLEA         config.h.in    debuglinks.list    test
INSTALL    README       config.log     debugsources.list  tools
Makefile   TODO         config.status  doc

BUILD/rlwrap-0.37/completions:
coqtop  testclient

BUILD/rlwrap-0.37/doc:
Makefile     Makefile.in  rlwrap.man
Makefile.am  rlwrap.1     rlwrap.man.in

BUILD/rlwrap-0.37/filters:
Makefile          RlwrapFilter.pm   listing       pipeto
Makefile.am       censor_passwords  logger        scrub_prompt
Makefile.in       count_in_prompt   null          simple_macro
README            ftp_filter        paint_prompt  template
RlwrapFilter.3pm  history_format    pipeline      unbackspace

BUILD/rlwrap-0.37/src:
Makefile       main.c          ptytty.o    string_utils.c
Makefile.am    main.o          readline.c  string_utils.o
Makefile.in    malloc_debug.c  readline.o  term.c
completion.c   malloc_debug.h  redblack.h  term.o
completion.o   malloc_debug.o  rlwrap      utils.c
completion.rb  pty.c           rlwrap.h    utils.o
filter.c       pty.o           signals.c
filter.o       ptytty.c        signals.o

BUILD/rlwrap-0.37/test:
testclient  testit

BUILD/rlwrap-0.37/tools:
config.guess  config.sub  depcomp  install-sh  missing

BUILDROOT:

RPMS:
x86_64

RPMS/x86_64:
rlwrap-0.37-0.el6.x86_64.rpm
rlwrap-debuginfo-0.37-0.el6.x86_64.rpm

SOURCES:
rlwrap-0.37.tar.gz

SPECS:
rlwrap.spec

SRPMS:
rlwrap-0.37-0.el6.src.rpm

作成したRPMの情報を見てみます。
$ rpm -qpi RPMS/x86_64/rlwrap-0.37-0.el6.x86_64.rpm
Name        : rlwrap                       Relocations: (not relocatable)
Version     : 0.37                              Vendor: (none)
Release     : 0.el6                         Build Date: 2013年11月10日 08時21分24秒
Install Date: (not installed)               Build Host: sv1
Group       : Unspecified                   Source RPM: rlwrap-0.37-0.el6.src.rpm
Size        : 200508                           License: GPLv2
Signature   : (none)
URL         : http://utopia.knoware.nl/~hlub/rlwrap/
Summary     : Wrapper for GNU readline
Description :
Wrapper for GNU readline.
readline wrapper => rl-wrap => rlwrap

ためしにインストール

root ユーザになってからインストールします。
$ su
パスワード:    ★パスワードを入力
# rpm -ivh RPMS/x86_64/rlwrap-0.37-0.el6.x86_64.rpm
準備中...                ########################################### [100%]
   1:rlwrap                 ########################################### [100%]
# which rlwrap
/usr/bin/rlwrap

補足:rlwrapの使い方

rlwrap を使用するには、下記のような感じで sqlplus を起動します。
$ rlwrap sqlplus /nolog

自分のホームディレクトリにある .bash_profile ファイルに
下記のエイリアスを追記しておくと、
sqlplus 起動のたびに rlwrap とつけなくても使用できるようになります。
alias sqlplus='rlwrap sqlplus'


最近気づいたのですが、RHEL系Linuxでは
設定ファイルなどがRPMで提供されることも多いようです。

以上、RPMを作成してみる話でした。

2013年11月3日日曜日

OracleVM Manager 3.x をバージョンアップしてみました。(3.2.1→3.2.6)

Oracle VM Manager(OVMM) 3.2.1 を 3.2.6 にアップグレードしてみました。

手順は・・・
runInstaller.sh スクリプトを実行するだけでした。


アップグレード前

アップグレード前に、現在のバージョンを確認しておきます。
OVMM の ログイン画面の右下に、現在のバージョンが表示されています。
バージョンは 「3.2.1.516」 です。



OVMM にログインした後であれば、
画面右上の「Help」 → 「About」 からバージョン確認ができます。



ここには、バージョンだけでなくビルド番号も表示されます。
  • Version: 3.2.1.516
  • Build: 20130108_516



OVMM のバージョンアップ

OVMM のサービスを起動させたままバージョンスクリプトを実行します。
※ただし、バージョンアップ処理中に、OVMM は自動的に再起動されます。

1. まず、OVMM 3.2.6 のインストールメディアをマウントします。
インストールメディアの直下に、アップグレード用スクリプト(runUpgrader.sh)があります。
[root@ovmm31 ~]# mount /dev/cdrom /media/
mount: ブロックデバイス /dev/cdrom は書き込み禁止です、読込み専用でマウントします
[root@ovmm31 ~]# ls /media/
EULA                  TRANS.TBL        oracle-validated.params  runUpgrader.sh
LICENSE               components       ovmm-installer.bsx       upgrade
OvmSDK_3.2.6.726.zip  createOracle.sh  runInstaller.sh
2. runUpgrader.sh スクリプトを実行します。

※サーバ(VM)のスペックがあまり良くないこともあってか、そこそこ時間がかかりました。
VMのスペックは、VCPU1コア(1300MHz弱)、メモリ2GB でした。
[root@ovmm31 ~]# /media/runUpgrader.sh
Upgrade logfile : /tmp/ovm-manager-3-upgrade-2013-11-03-39.log
2013-11-03 14:39:07
2013-11-03 14:39:07 Starting Oracle VM Manager upgrade...
2013-11-03 14:39:07
2013-11-03 14:39:08 Oracle VM Manager 3.2.6.726 upgrade utility
2013-11-03 14:39:08
2013-11-03 14:39:08
2013-11-03 14:39:08 It is highly recommended to do a full database repository backup prior to upgrading Oracle VM Manager ...
2013-11-03 14:39:08
2013-11-03 14:39:08 Press [Enter] key to continue ...
2013-11-03 14:39:31
2013-11-03 14:39:31 Oracle VM Manager is running ...
2013-11-03 14:39:52 Verifying installation status ...
2013-11-03 14:39:52 Read Oracle VM Manager config file ...
2013-11-03 14:39:52 Skipping database upgrade for the same product version (3.2.1 to 3.2.6)
2013-11-03 14:39:52 Found Oracle VM Manager install files ...
2013-11-03 14:39:52 Found Oracle VM Manager upgrader ...
2013-11-03 14:39:52 Found Oracle WebLogic Server ...
2013-11-03 14:39:52 Found Java ...
2013-11-03 14:39:52 Using the following information :
2013-11-03 14:39:52 Database type : MySQL
2013-11-03 14:39:52 Database Host : localhost
2013-11-03 14:39:52 Database SID : ovs
2013-11-03 14:39:52 Database LSNR : 49500
2013-11-03 14:39:52 Oracle VM Schema : ovs
2013-11-03 14:39:52 Oracle VM Manager UUID : 0004fb000001000012738a647a8d2b17
2013-11-03 14:39:52 Current Build ID : 3.2.1.516
2013-11-03 14:39:52 Upgrade from version : 3.2.1
2013-11-03 14:39:52 Upgrade to version : 3.2.6
2013-11-03 14:39:52 Using /tmp/workdir.yxezXp8207 for backup and export location.
2013-11-03 14:39:52 Using /tmp/patchdir.dOIRj8209 for patching.
2013-11-03 14:39:52 Undeploying previous version of Oracle VM Manager application ...
★このあたりでOVMMをデプロイしなおしている。(Undeploy→Redeploy)
2013-11-03 14:39:52 Undeploying Oracle VM Manager help ...
2013-11-03 14:40:30 Undeploying Oracle VM Manager console ...
2013-11-03 14:40:56 Undeploying Oracle VM Manager core ...
2013-11-03 14:41:54 Waiting for Oracle VM Manager core to fully undeploy...
Waiting...
2013-11-03 14:42:38 Finished undeploying previous version ...
2013-11-03 14:42:38 Upgrading Oracle VM Manager ...
2013-11-03 14:42:38 Backing up old files to /tmp/ovm-manager-3-backup-2013-11-03-144238...
2013-11-03 14:42:40 Removing old files ...
2013-11-03 14:42:40 Unpacking Oracle VM Manager 3.2.6.726
2013-11-03 14:42:45 Refresh system-jazn-data.xml file ...
2013-11-03 14:42:45 Redeploying Oracle VM Manager core container ...
2013-11-03 14:44:49 Redeploying Oracle VM Manager console ...
2013-11-03 14:52:28 Redeploying Oracle VM Manager help ...
2013-11-03 14:53:52 Unpacking Oracle VM Manager CLI Tool
2013-11-03 14:53:53 Disabling HTTP and enabling HTTPS
2013-11-03 14:54:43 Completed upgrade to 3.2.6.726 ...
2013-11-03 14:54:44 Writing updated config in /u01/app/oracle/ovm-manager-3/.config
2013-11-03 14:54:44 Restart WebLogic ...
Stopping Oracle VM Manager                                 [  OK  ] ★OVMM 自動再起動
Starting Oracle VM Manager                                 [  OK  ]
2013-11-03 14:59:58
2013-11-03 14:59:58 Oracle VM Manager upgrade finished ★バージョンアップ終了
[root@ovmm31 ~]#

バージョンアップ後

アップデートスクリプトの処理が完了したあと、
OVMM のサービスが起動するのには数分かかります。
少し待つと、Webブラウザからログイン画面が表示できるようになります。

バージョンアップ後、 OVMM の バージョンは 「3.2.6.726」 になりました。



バージョンアップなので、UUIDはそのままで、バージョン、ビルド番号だけUPしました。
  • Version: 3.2.6.726
  • Build: 20130819_726


以上、OVMM のバージョンアップでした。