24
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Fabricインストール

Last updated at Posted at 2013-05-12

自分用にc⌒っ゚д゚)っφ メモメモ...

document

python バージョン確認

] python -V

小文字の-vオプションだとverboseになる。
versionオプションは大文字で-V

setuptoolsインストール

] wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea

] sudo sh setuptools-0.6c11-py2.7.egg

pipインストール

$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ ] python get-pip.py

fabric インストール

In order for Fabric’s installation to succeed, you will need four primary pieces of software:

  • the Python programming language;
  • the setuptools packaging/installation library;
  • the Python paramiko SSH2 library;
  • and paramiko‘s dependency, the PyCrypto cryptography library.

and, if using the parallel execution mode:

  • the multiprocessing library.

Please read on for important details on each dependency – there are a few gotchas.

Fabricのインストールのために、4つのsoftwareが必要で、ついでに平行処理を行おうと思ったら 1つ平行処理ライブラリが必要らしい。
なので、順番に取得して行く。
まぁ、python自体はさすがにもう持ってるから要らんけどさ。
あと、setuptoolsもさっきインストールしたな。

PyCrypto インストール

ここまでの流れで必要なSSH2のクライアント自体は入ってるっぽいんだけど、SSH2クライアントが利用する暗号ライブラリのPyCryptoが入ってないので、インストールする。

pip install pycrypto

エラー出る場合

# ubuntu 
sudo apt-get install python-dev
# cent
yum install python-devel

gccとかでエラーが出る場合はここを参照

Fabric インストール

Fabric is best installed via pip (highly recommended) or easy_install (older, but still works fine)

pipを利用したインストールの方が推奨されているらしい

] pip install fabric

これでOK

動かしてみる

試しに、lsコマンドを実行してみる。

fabfile.py
from fabric.api import local

def local_ls():
  local('ls /sbin')
] fab local_ls

[localhost] local: ls /sbin
acpi_available	 dumpe2fs      fstab-decode	  iptables	    lvmconf	 mkfs.ext3	   mount.ntfs-3g  pvck	      rpc.statd		 swapon			vgconvert
agetty		 e2fsck        fstrim		  iptables-restore  lvmdiskscan  mkfs.ext4	   mount.vboxsf   pvcreate    rtacct		 switch_root		vgcreate
apm_available	 e2image       getty		  iptables-save     lvmdump	 mkfs.ext4dev	   nameif	  pvdisplay   rtmon		 sysctl			vgdisplay

Done.

特定のホストに対して操作

fabfile.py

from fabric.api import env,run

# ホスト設定 リスト型
env.hosts = [testhost]
# パスワード設定 ディクショナリ型で指定 {host : pass}
env.passwords = {'localhost': '{YOUR_PASSWORD}'}

def run_ls():
  run('ls /sbin')
] fab run_ls

[localhost] Executing task 'run_ls'
[localhost] run: ls /sbin
[localhost] out: acpi_available	 dumpe2fs      fstab-decode	  iptables	    lvmconf	 mkfs.ext3	   mount.ntfs-3g  pvck	      rpc.statd		 swapon			vgconvert
[localhost] out: agetty		 e2fsck        fstrim		  iptables-restore  lvmdiskscan  mkfs.ext4	   mount.vboxsf   pvcreate    rtacct		 switch_root		vgcreate
[localhost] out: apm_available	 e2image       getty		  iptables-save     lvmdump	 mkfs.ext4dev	   nameif	  pvdisplay   rtmon		 sysctl			vgdisplay


Done.
Disconnecting from localhost... done.

こんな感じで、ls /sbinの実行結果を吐き出してくれるはず。

24
25
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?