AmazonLinuxにAnsibleをインストール

表題の通り。前に書いたような気もするのだが、検索してみるとCentOSしか書いていなかったので書いてしまう。

■ 環境

  • Ansible 2.2.1.0
  • Amazon Linux

■ version

ローカルのMacにおけるansibleのversionは下記の通りである。Homebrewでインストールしている。

$ ansible --version
ansible 2.2.1.0
  config file =
  configured module search path = Default w/o overrides
$

できればこのversionにAmazonLinuxでも合わせたい。

■ Amazon Linux

とりあえず検索。

$ sudo yum search ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
警告: 一致するものが見つかりません: ansible
No matches found
$

だそうである。ではEPELレポジトリで確認する。

$ sudo yum --enablerepo=epel search ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
981 packages excluded due to repository priority protections
================== N/S matched: ansible ===========================
ansible-inventory-grapher.noarch : Creates graphs representing ansible inventory
ansible-lint.noarch : Best practices checker for Ansible
python2-ansible-tower-cli.noarch : A CLI tool for Ansible Tower
ansible.noarch : SSH-based configuration management, deployment, and task execution system
ansible1.9.noarch : SSH-based configuration management, deployment, and task execution system

  Name and summary matches only, use "search all" for everything.
$

EPELレポジトリには存在するようだ。versionを確認する。

$ sudo yum --enablerepo=epel info ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
981 packages excluded due to repository priority protections
インストール済みパッケージ
名前           : ansible
アーキテクチャー   : noarch
バージョン       : 2.2.1.0
リリース         : 1.el6
容量           : 22 M
リポジトリー      : installed
提供元リポジトリー : epel
要約           : SSH-based configuration management, deployment, and task execution system
URL           : http://ansible.com
ライセンス      : GPLv3+
説明          :
             : Ansible is a radically simple model-driven configuration management,
             : multi-node deployment, and remote task execution system. Ansible works
             : over SSH and does not require any software or daemons to be installed
             : on remote nodes. Extension modules can be written in any language and
            : are transferred to managed machines automatically.

$

versionもMacに入れていたものと変わらない。これをインストールする。

$ sudo yum --enablerepo=epel install ansible

インストールできた。

$ ansible --version
ansible 2.2.1.0
  config file = 
  configured module search path = Default w/o overrides
$

以上。

■ 関連

SSLを組み込んだApache再起動時のパスフレーズ

表題の件について。毎回入力するのは面倒だなと思っていたら設定があるようだったので調べて設定してみた。今までSSLなんてほとんどやったことがなかったのでなかなか面白い。

■ 環境

  • Apache Httpd 2.4.25
  • Amazon Linux

■ SSLPassPhraseDialog

設定ファイルを覗いていると、こんなディレクティブがあるのを知って試してみた。

mod_ssl – Apache HTTP Server Version 2.4
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslpassphrasedialog

パスフレーズを標準出力するスクリプトがあれば良いらしい。下記のような単純なスクリプトを書いて配置した。

#!/bin/sh
echo "mypassword"

これを適当に配置。念のため実行権限を入れておいた。

/etc/httpd/conf.d/ssl.conf“には下記の設定を入れた。

SSLPassPhraseDialog exec:/etc/httpd/conf.d/ssl/pass.sh

Apacheを再起動しても、パスフレーズを聞かれることがなくなった。でもパスフレーズが直書きのファイルがあるってのがな…。

以上。

証明書の署名アルゴリズムを確認

表題の通り。`openssl`コマンドでやる。

■ 環境

  • OpenSSL
  • Mac OSX El Capitan

■ openssl

証明書のファイルが手元にあれば下記コマンドで確認することができる。

$ openssl x509 -text -noout -in [証明書ファイル] | grep Algorithm
        Signature Algorithm: sha256WithRSAEncryption
            Public Key Algorithm: rsaEncryption
    Signature Algorithm: sha256WithRSAEncryption
$

この結果であれば”SHA-2“で署名されているようである。ちなみに最近、対応しないと警告が表示されるらしいと話題になった”SHA-1“の署名アルゴリズムの場合は下記のようになるようであった。

$ openssl x509 -text -noout -in old.cert | grep Algorithm
    Signature Algorithm: sha1WithRSAEncryption
            Public Key Algorithm: rsaEncryption
    Signature Algorithm: sha1WithRSAEncryption
$

以上。

S3の特定のパス配下のファイル総容量

表題の通り。awscliで、S3のあるパス配下にあるすべてのファイルの総容量を知りたい。

■ 環境

  • awk
  • awscli 1.11.47

■ s3

下記コマンドで取得することができる。

$ aws s3 ls s3://[bucket]/[path] --recursive | awk 'BEGIN {sum=0} {sum+=$3} END {print sum}'

肝となるところは”–recursive“で配下全てのファイルについて`ls`で詳細を取得しているところであろうか。`ls`の表記の中からファイル容量が3つ目の項目に表示されているので、この3つ目の項目を`awk`で総和計算している。

試しに自身のとある環境で行ってみたところ、下記のような結果を得られた。

$ aws s3 ls s3://[bucket]/[path] --recursive | awk 'BEGIN {sum=0} {sum+=$3} END {print sum}'
373689
$

表示はByteなので、`awk`の最後で`/1024`としていけば”KByte“や”MByte“で取得することも可能である。

以上。

lscpu

表題のコマンドについて。

■ 環境

  • Amazon Linux
  • Ubuntu 14.04

■ lscpu

CPUの情報を見るときは、普段は下記を使用していた。

$ cat /proc/cpuinfo

コアの数を確認する程度でしか見ていなかったが。ふとしたことで`lscpu`コマンドの存在を知ったのでやってみる。

■ Amazon Linux

$ lscpu
アーキテクチャ: x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
コアあたりのスレッド数:1
ソケットあたりのコア数:2
Socket(s):             1
NUMAノード:         1
ベンダーID:        GenuineIntel
CPUファミリー:    6
モデル:             63
Model name:            Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
ステッピング:    2
CPU MHz:               2400.058
BogoMIPS:              4800.11
ハイパーバイザーベンダー:Xen
仮想化タイプ:    完全仮想化
L1d キャッシュ:   32K
L1i キャッシュ:   32K
L2 キャッシュ:    256K
L3 キャッシュ:    30720K
NUMAノード 0 CPU:   0,1
$

ちなみにどのパッケージに入っているのかと調べたら下記であった。

$ which lscpu
/usr/bin/lscpu
$
$ rpm -qf /usr/bin/lscpu
util-linux-2.23.2-26.27.amzn1.x86_64
$

■ Ubuntu 14.04

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Stepping:              4
CPU MHz:               2500.102
BogoMIPS:              5000.20
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0
$

こちらでもパッケージを確認する。

$ which lscpu
/usr/bin/lscpu
$
$ dpkg -S /usr/bin/lscpu
util-linux: /usr/bin/lscpu
$

以上。