ためしに Python モジュールを個別にダウンロードして、インストールした時の記録です。
- Yum は、インストーラの ISO イメージをマウントしてそこからインストール。
- ORACLE オフィシャルの Ansible RPM はまだ無そうなので、今回は PyPI から tar.gz ファイルをダウンロードしてみた。
- ほかの関連する Python モジュールも、PyPI から tar.gz ファイルをダウンロードしておく。
- 一応 Python の virtualenv は利用。
インストール対象は Oracle Linux 6.7 で、Python はデフォルトの 2.6.6 でした。
[root@sv01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.7
[root@sv01 ~]# python -V
Python 2.6.6
準備
Oracle Linux 6.7 の ISO ファイルをマウントしておきます。
[root@sv01 ~]# mount /dev/cdrom /media/
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
[root@sv01 ~]# cat /media/media.repo
[InstallMedia]
name=Oracle Linux 6.7
mediaid=1438065927.78
metadata_expire=-1
gpgcheck=0
cost=500
マウントした ISO を参照する Yum リポジトリ設定です。
[root@sv01 ~]# cat /etc/yum.repos.d/iso.repo
[ol6_iso]
name=Oracle Linux ISO
baseurl=file:///media/Server/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
上記のリポジトリだけ有効にしています。
[root@sv01 ~]# yum repolist
読み込んだプラグイン:ulninfo
リポジトリー ID リポジトリー名 状態
ol6_iso Oracle Linux ISO 3,800
repolist: 3,800
インストールする Python モジュールは他の環境でダウンロードして、まとめて配置済みです。
[root@sv01 ~]# ls -l pkg/
合計 5920
-rw-r--r-- 1 root root 357055 1月 8 14:26 2016 Jinja2-2.8.tar.gz
-rw-r--r-- 1 root root 13416 1月 8 14:37 2016 MarkupSafe-0.23.tar.gz
-rw-r--r-- 1 root root 248685 1月 8 15:41 2016 PyYAML-3.11.tar.gz
-rw-r--r-- 1 root root 1510155 2月 25 12:01 2016 ansible-2.0.1.0.tar.gz
-rw-r--r-- 1 root root 55579 1月 9 00:12 2016 ecdsa-0.13.tar.gz
-rw-r--r-- 1 root root 205165 1月 9 02:40 2016 httplib2-0.9.2.tar.gz
-rw-r--r-- 1 root root 1335094 1月 9 07:10 2016 paramiko-1.16.0.tar.gz
-rw-r--r-- 1 root root 446240 1月 9 08:54 2016 pycrypto-2.6.1.tar.gz
-rw-r--r-- 1 root root 29630 1月 9 12:42 2016 six-1.10.0.tar.gz
-rw-r--r-- 1 root root 1842776 3月 18 00:18 2016 virtualenv-15.0.1.tar.gz
前提 RPM のインストール。
gcc、python-setuptools、python-devel は RPM をインストールしておきます。
paramiko
Ansible
※最新バージョンではないですが・・・
とりあえず確認。
本当にとりあえず確認。
[root@sv01 ~]# yum install -y gcc python-setuptools python-devel
(省略)
インストール:
gcc.x86_64 0:4.4.7-16.el6
python-devel.x86_64 0:2.6.6-64.0.1.el6
python-setuptools.noarch 0:0.6.10-3.el6
依存性関連をインストールしました:
cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-16.el6
glibc-devel.x86_64 0:2.12-1.166.el6 glibc-headers.x86_64 0:2.12-1.166.el6
kernel-headers.x86_64 0:2.6.32-573.el6 libgomp.x86_64 0:4.4.7-16.el6
mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6
完了しました!
VirtualEnv のインストール。
あとで便利かな、と思い VirtualEnv を使用しました。
easy_install で インストールします。
[root@sv01 ~]# easy_install pkg/virtualenv-15.0.1.tar.gz
VirutalEnv 作成。
[root@sv01 ~]# virtualenv --no-download ansible/
New python executable in /root/ansible/bin/python
Installing setuptools, pip, wheel...done.
[root@sv01 ~]# ls -l ./ansible/
合計 12
drwxr-xr-x 2 root root 4096 4月 17 17:53 2016 bin
drwxr-xr-x 2 root root 4096 4月 17 17:53 2016 include
drwxr-xr-x 3 root root 4096 4月 17 17:53 2016 lib
lrwxrwxrwx 1 root root 3 4月 17 17:53 2016 lib64 -> lib
環境変数ファイルを読み込んで、VirtualEnv に切り替えます。
[root@sv01 ~]# source ansible/bin/activate
(ansible) [root@sv01 ~]#
Python モジュール(Ansible 含む) のインストール。
地道に1つずつ、 easy_install コマンドでインストールしてみました。
(ansible) [root@sv01 ~]# easy_install pkg/pycrypto-2.6.1.tar.gz
(ansible) [root@sv01 ~]# easy_install pkg/ecdsa-0.13.tar.gz
(ansible) [root@sv01 ~]# easy_install pkg/paramiko-1.16.0.tar.gz
Jinja2
(ansible) [root@sv01 ~]# easy_install pkg/MarkupSafe-0.23.tar.gz
(ansible) [root@sv01 ~]# easy_install pkg/Jinja2-2.8.tar.gz
のこりの依存モジュール
(ansible) [root@sv01 ~]# easy_install pkg/httplib2-0.9.2.tar.gz
(ansible) [root@sv01 ~]# easy_install pkg/six-1.10.0.tar.gz
(ansible) [root@sv01 ~]# easy_install pkg/PyYAML-3.11.tar.gz
※最新バージョンではないですが・・・
(ansible) [root@sv01 ~]# easy_install pkg/ansible-2.0.1.0.tar.gz
本当にとりあえず確認。
(ansible) [root@sv01 ~]# which ansible/root/ansible/bin/ansible
(ansible) [root@sv01 ~]# ansible localhost -m pinglocalhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
(ansible) [root@sv01 ~]# ansible localhost -m command -a "uname -n"localhost | SUCCESS | rc=0 >>
sv01
感想など。
Oracle Linux はインターネットつながせてもらえないケースがありそうと思い
ためしにやってみましたが、面倒なのでやっぱりインターネット経由のインストールで、
RPM 使用しないとしても普通に下記のような手順がいいと思いました。
Ansible ドキュメント Installation より。
[root@vm01 ~]# easy_install pip
[root@vm01 ~]# pip install ansible
※RPM は同様にインストールしておく必要がありますが、それにしても簡単です。
ちなみに、Oracle Linux 7 の場合は、なんと public-yum.oracle.com で RPM が提供されています。
ただし、Oracle OpenStack R2 の kolla デプロイのために用意されているようなので、
それ以外の用途で使用するのは微妙だと思われます。
Oracle Linux 7 (x86_64) OpenStack 2.0
以上。OL6 への Ansible インストール(バッドプラクティス編)でした。
0 件のコメント:
コメントを投稿