- 環境
- EC2インスタンス : Ubuntu Server 18.04 LTS(64 ビット x86)
- Alien version 8.95
事象 : rpmパッケージをdebパッケージに変換したくてAlienコマンドを使ったら怒られた
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm is for architecture i386 ; the package cannot be built on this system
原因 : 32bit用のrpmを64bitの環境で変換しているから
i386.rpm
ってなっているのは32bit用らしい。へーーーー。
- 参考
# ビット数を確認してみる
$ getconf LONG_BIT
64
対応方法1 : tgzパッケージに変換してからdebパッケージに変換する
# tgzパッケージに変換してから
$ sudo alien -ct oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz generated
# debパッケージに変換する
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz
2-basiclite_12.2.0.1.0-2_all.deb generated
# できた
$ ls -la | grep basiclite
-rw-r--r-- 1 root root 20911000 Mar 6 13:53 2-basiclite_12.2.0.1.0-2_all.deb
-rw-rw-r-- 1 root root 22974764 Mar 6 12:38 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
-rw-r--r-- 1 root root 28482082 Mar 6 13:36 oracle-instantclient12.2-basiclite-12.2.0.1.0.tgz
対応方法2 : 64bit用のrpmをとってくる
なぜかうっかり32bit用をとってくるのか・・・自分が憎い。
今回は、Oracle Clientのrpmなので、
Instant Client for Linux x86 (32-bit)ではなく
Instant Client for Linux x86-64 (64-bit) | Oracle 日本からrpmパッケージをダウンロードしてくればエラーにはならない。
$ ls -la | grep rpm
-rw-rw-r-- 1 root root 26731248 Mar 6 21:42 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-basiclite_12.2.0.1.0-2_amd64.deb generated