初めてのAnsibleをオフラインインストール

お客様は神様であるとはよくいうものの、実際の現場で長くフロントSEをやっていると、ときどき「あれ？これって本末転倒。。。」というような理不尽かつ不条理なタスクが舞い込んでくることがあります。今回の内容は、

+ オフライン環境（非インターネット接続）のAnsible Controlサーバを立てる
+ 同じくオフライン環境（非インターネット接続）のWindowsサーバを管理対象にする
+ 当該Windowsサーバにフォルダを作る

です。

インターネットにつながる環境であれば、`pip install ansible`で一発なんですが、なかでも三つ目が特になかなかイカしてます。

のっけから愚痴をこぼしていますが、[Ansible](https://www.ansible.com)に触ること自体が初めてなので、いい機会だと思ってお勉強させていただきます。

自分のMac上のVMwareに環境を作ってもいいのですが、現場の状況に近づけるため、あえてAWS上にぎりぎり無料利用枠でおさまるように構成してみます（EBSボリュームは若干上振れしますが）。
![ansible.jpg](https://qiita-image-store.s3.amazonaws.com/0/232587/802465a4-4216-f8e8-234f-b956ab6cd5c9.jpeg)


どこまでリアルにやるかというのもありますが、ひとまずAnsibleコントロールサーバ（以下、B）をプライベートサブネットに配置します。当然、NAT-GWを使えばインターネット接続可能ですが、あえてそれをしません。パブリックサブネット上に踏み台サーバ（以下、A）を置いて、BにSSHで接続します。管理対象ノードとなるWindowsサーバ（以下、C）はパブリックサブネット上に置いていますが、これは最後にログインしてフォルダが作成されていることを直接確認したいがためです。
それぞれにセキュリティグループを設定していますが、基本的に外からのアクセスは自端末からのみに絞っています。

| Server | 役割 | OS |
|:--|:--|:--|
| A  |踏み台   |4.9.76-3.78.amzn1.x86_64 #1 SMP Fri Jan 12 19:51:35 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux   |
| B  |Ansible Control Server   |4.9.76-3.78.amzn1.x86_64 #1 SMP Fri Jan 12 19:51:35 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux   |
| C |管理対象ノード   |Windows 2012 R2   |

2018.03.17: どうしてもパッケージの互換性がない環境に出くわしたので[ソースからコンパイルする手順](https://qiita.com/ch7821/items/6c69a91a5343774be173)を別投稿

# Ansibleをダウンロードする

なにはともあれ、これがないと始まりませんので、[python](https://pypi.python.org/pypi/ansible/2.4.3.0)からパッケージを取ってきて、踏み台を経由してBまで持っていきます（検証だしもっと普通にやればよかった）。


# Pythonのバージョン確認
念のためPythonのバージョンを確認します。

```bash
$ python -V
```

```text:結果
Python 2.7.12
```

Control Machine Requirementは2.6 or 2.7ですのでOKですね。
ちなみにですが、癖で`python -v`と小文字の`-v`をつけてしまうと、デバッグモードになりかなりうるさいですね。。。

# sshpassインストール
[Rpmfind](https://rpmfind.net/linux/rpm2html/search.php?query=sshpass)からsshpassのrpmを取ってきます。

```bash
$ sudo rpm -i sshpass-1.06-5.fc28.x86_64.rpm
```

## 2018.02.28追記
pipでインストールする場合、本パッケージは必須でないようです。rpmでインストールする場合は要ります。

***

# Pythonのパッケージインストール
[pypi.python.org](https://pypi.python.org/pypi)からダウンロードします。
Pythonパッケージ間の依存関係もあり、以下の順にインストールしました。

```base
$ sudo pip install pycparser-2.18.tar.gz
$ sudo pip install cffi-1.11.4-cp27-cp27mu-manylinux1_x86_64.whl
$ sudo pip install PyNaCl-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl
$ sudo pip install asn1crypto-0.24.0-py2.py3-none-any.whl
$ sudo pip install enum34-1.1.6-py2-none-any.whl
$ sudo pip install ipaddress-1.0.19.tar.gz
$ sudo pip install idna-2.6-py2.py3-none-any.whl
$ sudo pip install cryptography-2.1.4-cp27-cp27mu-manylinux1_x86_64.whl
$ sudo pip install bcrypt-3.1.4-cp27-cp27mu-manylinux1_x86_64.whl
$ sudo pip install paramiko-2.4.0-py2.py3-none-any.whl 
```

いよいよ本体のインストールです。

```bash
$ sudo pip install ansible-2.4.3.0.tar.gz
$ which ansible
/usr/local/bin/ansible
```

特に問題なくインストール完了です。結局、`pip`がよろしくやってくれるので、依存関係を調べる根気さえあればなんとかなりますね。それだけに、`pip install ansible`ですべてうまくいくのがどれほどありがたいことかがよくわかりました。
一個一個解決していても時間の無駄なので、インターネット接続可能な環境で、`pip download ansible`などとして必要なものをまとめて取ってきてからやったほうが早いかと。。。

## 2018.02.28追記
一個一個やらなくてもこれで一発インストールできました。

```bash
$ sudo pip install -f ./ --no-index ansible-2.4.3.0.tar.gz
```

必要なパッケージファイルを集めたディレクトリで`-f`オプションにカレントを指定、さらに`--no-index`を付与してパッケージインデックスサイトを参照しないようにします。あとはpipが依存性を解決してよろしくやってくれます。

***

# Linuxで疎通確認
自分自身あてに疎通してみます。

```bash
$ sudo mkdir /etc/ansible
$ sudo chown ec2-user:ec2-user /etc/ansible
$ echo localhost > /etc/ansible/hosts
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ansible all -m ping
$ ansible all -a "/bin/echo hoge"
```

```text:結果
localhost | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

localhost | SUCCESS | rc=0 >>
hoge

```

# Windows対応
これもまた依存パッケージとの戦いでした。Ansible本体同様、インターネット接続可能な環境で、`pip download pywinrm`などとして必要なものをまとめて取ってきてからやったほうが早いです。


```bash
$ sudo pip install ntlm_auth-1.0.6-py2.py3-none-any.whl
$ sudo pip install urllib3-1.22-py2.py3-none-any.whl
$ sudo pip install certifi-2018.1.18-py2.py3-none-any.whl
$ sudo pip install chardet-3.0.4-py2.py3-none-any.whl
$ sudo pip install requests-2.18.4-py2.py3-none-any.whl 
$ sudo pip install requests_ntlm-1.1.0-py2.py3-none-any.whl
$ sudo pip install xmltodict-0.11.0-py2.py3-none-any.whl
$ sudo pip install pywinrm-0.2.2-py2.py3-none-any.whl
```


## 2018.02.28追記
こちらもAnsible本体同様、一発インストールできました。

```bash
$ sudo pip install -f ./ --no-index pywinrm-0.3.0-py2.py3-none-any.whl
```

必要なパッケージファイルを集めたディレクトリで`-f`オプションにカレントを指定、さらに`--no-index`を付与してパッケージインデックスサイトを参照しないようにします。あとはpipが依存性を解決してよろしくやってくれます。

***

Windowsサーバをインベントリに追加し、Windows用の設定を入れます。この辺りは公式ページに従うだけです。
公式ページには最後に書いてありますが、Windowsサーバ側でも準備が要ります。
[Windows側の準備](https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1)
とりあえず今は信じて実行します。

```bash
$ vi /etc/ansible/hosts 
[windows]
10.0.3.26
$ mkdir /etc/ansible/group_vars
$ vi /etc/ansible/group_vars/windows.yml
ansible_user: Administrator
ansible_password: adminpassword
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
$ ansible-vault encrypt /etc/ansible/group_vars/windows.yml  # 暗号化
$ ansible windows -m win_ping --ask-vault-pass
Vault password: 
10.0.3.26 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
$ ansible windows -m win_command -a "cmd /c echo hoge" --ask-vault-pass
10.0.3.26 | SUCCESS | rc=0 >>
hoge
```

とりあえず動きました。ここまで２時間くらいかかりましたが、、、

そして、一応playbookを作ります。

```text:playbook.yml
---
- hosts: windows
  tasks:
   - name: mkdir
     win_command: CMD /C "mkdir C:\test"
```

おもむろに実行します。

```bash
$ ansible-playbook ./playbook.yml --ask-vault-pass
PLAY [windows] ******************************************************************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************************************************************************************************
ok: [10.0.3.26]

TASK [mkdir] ********************************************************************************************************************************************************************************************************************************************************************************************************************
changed: [10.0.3.26]

PLAY RECAP **********************************************************************************************************************************************************************************************************************************************************************************************************************
10.0.3.26                  : ok=2    changed=1    unreachable=0    failed=0   
```

結果を確認します。

```bash
$ ansible windows -m win_command -a "cmd /c dir c:\test" --ask-vault-pass
10.0.3.26 | SUCCESS | rc=0 >>
 Volume in drive C has no label.
 Volume Serial Number is 046D-3E76

 Directory of c:\test

02/27/2018  03:03 PM    <DIR>          .
02/27/2018  03:03 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  11,267,923,968 bytes free
```

普通にやれば５秒で終わる作業にこれだけの時間を費やされるとは。。。ただ、コンセプトは分かっているつもりなので、うまく活用すれば効率よくかつヒューマンエラーも防げそうなしくみですね。YAMLあたりは別途で調べないと。。。
というわけで、今日はこれくらいにしておきます。。。おそらくpipのオプションでローカルディレクトリから依存モジュールを拾って一気にインストールすることもできるんじゃないかと推測できますので、調べたら更新します。
2018.02.28: `-f ./ --no-index`で一発インストール可。更新済み。
2018.03.17: [ソースからコンパイルする手順](https://qiita.com/ch7821/items/6c69a91a5343774be173)を別投稿

# 付録

## 公式ドキュメント
[Ansible Documentation](http://docs.ansible.com/ansible/latest/index.html)
[Windows Support](http://docs.ansible.com/ansible/latest/intro_windows.html)

## Amazon Linux（4.9.76-3.78）インストール済みパッケージ

```bash
$ rpm -qa | sort
```

```text:結果
acl-2.2.49-6.11.amzn1.x86_64
acpid-2.0.19-6.7.amzn1.x86_64
alsa-lib-1.0.22-3.9.amzn1.x86_64
amazon-ssm-agent-2.2.120.0-1.amzn1.x86_64
at-3.1.10-48.15.amzn1.x86_64
attr-2.4.46-12.10.amzn1.x86_64
audit-2.6.5-3.28.amzn1.x86_64
audit-libs-2.6.5-3.28.amzn1.x86_64
authconfig-6.2.8-30.31.amzn1.x86_64
autogen-libopts-5.18-5.8.amzn1.x86_64
aws-amitools-ec2-1.5.13-0.2.amzn1.noarch
aws-apitools-as-1.0.61.6-1.0.amzn1.noarch
aws-apitools-common-1.1.0-1.9.amzn1.noarch
aws-apitools-ec2-1.7.3.0-1.0.amzn1.noarch
aws-apitools-elb-1.0.35.0-1.0.amzn1.noarch
aws-apitools-mon-1.0.20.0-1.0.amzn1.noarch
aws-cfn-bootstrap-1.4-27.19.amzn1.noarch
aws-cli-1.14.9-1.48.amzn1.noarch
basesystem-10.0-4.9.amzn1.noarch
bash-4.2.46-28.37.amzn1.x86_64
bc-1.06.95-1.10.amzn1.x86_64
bind-libs-9.8.2-0.62.rc1.56.amzn1.x86_64
bind-utils-9.8.2-0.62.rc1.56.amzn1.x86_64
binutils-2.25.1-31.base.66.amzn1.x86_64
bzip2-1.0.6-8.12.amzn1.x86_64
bzip2-libs-1.0.6-8.12.amzn1.x86_64
ca-certificates-2015.2.6-65.0.1.16.amzn1.noarch
checkpolicy-2.1.10-1.9.amzn1.x86_64
chkconfig-1.3.49.3-2.14.amzn1.x86_64
cloud-disk-utils-0.27-1.5.amzn1.noarch
cloud-init-0.7.6-2.15.amzn1.noarch
coreutils-8.22-15.52.amzn1.x86_64
cpio-2.10-12.12.amzn1.x86_64
cracklib-2.8.16-4.14.amzn1.x86_64
cracklib-dicts-2.8.16-4.14.amzn1.x86_64
cronie-1.4.4-15.8.amzn1.x86_64
cronie-anacron-1.4.4-15.8.amzn1.x86_64
crontabs-1.10-33.9.amzn1.noarch
cryptsetup-1.6.7-1.22.amzn1.x86_64
cryptsetup-libs-1.6.7-1.22.amzn1.x86_64
curl-7.53.1-13.80.amzn1.x86_64
cyrus-sasl-2.1.23-13.16.amzn1.x86_64
cyrus-sasl-lib-2.1.23-13.16.amzn1.x86_64
cyrus-sasl-plain-2.1.23-13.16.amzn1.x86_64
dash-0.5.5.1-4.5.amzn1.x86_64
db4-4.7.25-18.11.amzn1.x86_64
db4-utils-4.7.25-18.11.amzn1.x86_64
dbus-1.6.12-14.28.amzn1.x86_64
dbus-libs-1.6.12-14.28.amzn1.x86_64
dejavu-fonts-common-2.33-6.6.amzn1.noarch
dejavu-sans-fonts-2.33-6.6.amzn1.noarch
dejavu-serif-fonts-2.33-6.6.amzn1.noarch
device-mapper-1.02.135-1.31.amzn1.x86_64
device-mapper-event-1.02.135-1.31.amzn1.x86_64
device-mapper-event-libs-1.02.135-1.31.amzn1.x86_64
device-mapper-libs-1.02.135-1.31.amzn1.x86_64
device-mapper-persistent-data-0.6.3-1.11.amzn1.x86_64
dhclient-4.1.1-51.P1.26.amzn1.x86_64
dhcp-common-4.1.1-51.P1.26.amzn1.x86_64
diffutils-3.3-4.15.amzn1.x86_64
dmraid-1.0.0.rc16-11.8.amzn1.x86_64
dmraid-events-1.0.0.rc16-11.8.amzn1.x86_64
dracut-004-409.31.amzn1.noarch
dracut-modules-growroot-0.20-1.5.amzn1.noarch
dump-0.4-0.6.b42.7.amzn1.x86_64
e2fsprogs-1.42.12-4.40.amzn1.x86_64
e2fsprogs-libs-1.42.12-4.40.amzn1.x86_64
ec2-net-utils-0.5-1.34.amzn1.noarch
ec2-utils-0.5-1.34.amzn1.noarch
ed-1.1-3.3.8.amzn1.x86_64
elfutils-libelf-0.163-3.18.amzn1.x86_64
epel-release-6-8.9.amzn1.noarch
ethtool-3.15-2.27.amzn1.x86_64
expat-2.1.0-10.21.amzn1.x86_64
file-5.30-11.34.amzn1.x86_64
file-libs-5.30-11.34.amzn1.x86_64
filesystem-2.4.30-3.8.amzn1.x86_64
findutils-4.4.2-6.9.amzn1.x86_64
fipscheck-1.3.1-3.13.amzn1.x86_64
fipscheck-lib-1.3.1-3.13.amzn1.x86_64
fontconfig-2.8.0-5.8.amzn1.x86_64
fontpackages-filesystem-1.41-1.1.2.amzn1.noarch
freetype-2.3.11-15.14.amzn1.x86_64
gawk-3.1.7-10.10.amzn1.x86_64
gdbm-1.8.0-36.6.amzn1.x86_64
gdisk-0.8.10-1.5.amzn1.x86_64
generic-logos-17.0.0-2.5.amzn1.noarch
get_reference_source-1.2-0.4.amzn1.noarch
giflib-4.1.6-3.1.6.amzn1.x86_64
glib2-2.36.3-5.18.amzn1.x86_64
glibc-2.17-196.172.amzn1.x86_64
glibc-common-2.17-196.172.amzn1.x86_64
gmp-6.0.0-11.16.amzn1.x86_64
gnupg2-2.0.28-1.30.amzn1.x86_64
gpg-pubkey-21c0f39f-56d0e29a
gpgme-1.4.3-5.15.amzn1.x86_64
gpm-libs-1.20.6-12.8.amzn1.x86_64
grep-2.20-3.18.amzn1.x86_64
groff-1.22.2-8.11.amzn1.x86_64
groff-base-1.22.2-8.11.amzn1.x86_64
grub-0.97-94.30.amzn1.x86_64
grubby-7.0.15-7.8.amzn1.x86_64
gzip-1.5-9.19.amzn1.x86_64
hesiod-3.1.0-19.6.amzn1.x86_64
hibagent-1.0.0-3.amzn1.noarch
hmaccalc-0.9.12-1.9.amzn1.x86_64
hwdata-0.233-14.1.18.amzn1.noarch
info-5.1-4.10.amzn1.x86_64
initscripts-9.03.58-1.39.amzn1.x86_64
iproute-4.4.0-3.23.amzn1.x86_64
iptables-1.4.18-1.22.amzn1.x86_64
iputils-20121221-7.13.amzn1.x86_64
irqbalance-1.3.0-1.26.amzn1.x86_64
java-1.7.0-openjdk-1.7.0.161-2.6.12.0.75.amzn1.x86_64
javapackages-tools-0.9.1-1.5.amzn1.noarch
jpackage-utils-1.7.5-27.17.amzn1.noarch
kbd-1.15-11.4.amzn1.x86_64
kbd-misc-1.15-11.4.amzn1.noarch
kernel-4.9.76-3.78.amzn1.x86_64
kernel-tools-4.9.76-3.78.amzn1.x86_64
keyutils-1.5.8-3.12.amzn1.x86_64
keyutils-libs-1.5.8-3.12.amzn1.x86_64
kmod-14-10.10.amzn1.x86_64
kmod-libs-14-10.10.amzn1.x86_64
kpartx-0.4.9-72.8.amzn1.x86_64
krb5-libs-1.15.1-8.43.amzn1.x86_64
lcms2-2.6-2.5.amzn1.x86_64
less-436-13.12.amzn1.x86_64
libICE-1.0.6-1.4.amzn1.x86_64
libSM-1.2.1-2.6.amzn1.x86_64
libX11-1.6.0-2.2.12.amzn1.x86_64
libX11-common-1.6.0-2.2.12.amzn1.x86_64
libXau-1.0.6-4.9.amzn1.x86_64
libXcomposite-0.4.3-4.6.amzn1.x86_64
libXext-1.3.2-2.1.10.amzn1.x86_64
libXfont-1.4.5-5.12.amzn1.x86_64
libXi-1.7.2-2.2.9.amzn1.x86_64
libXrender-0.9.8-2.1.9.amzn1.x86_64
libXtst-1.2.2-2.1.9.amzn1.x86_64
libacl-2.2.49-6.11.amzn1.x86_64
libaio-0.3.109-12.8.amzn1.x86_64
libassuan-2.0.3-3.3.amzn1.x86_64
libattr-2.4.46-12.10.amzn1.x86_64
libblkid-2.23.2-33.28.amzn1.x86_64
libcap-2.16-5.5.8.amzn1.x86_64
libcap-ng-0.7.5-4.15.amzn1.x86_64
libcgroup-0.40.rc1-5.11.amzn1.x86_64
libcom_err-1.42.12-4.40.amzn1.x86_64
libcurl-7.53.1-13.80.amzn1.x86_64
libedit-2.11-4.20080712cvs.1.6.amzn1.x86_64
libevent-2.0.21-4.19.amzn1.x86_64
libffi-3.0.13-16.5.amzn1.x86_64
libfontenc-1.0.5-2.6.amzn1.x86_64
libgcc72-7.2.1-2.59.amzn1.x86_64
libgcrypt-1.5.3-12.19.amzn1.x86_64
libgpg-error-1.11-1.12.amzn1.x86_64
libgssglue-0.1-11.7.amzn1.x86_64
libicu-50.1.2-11.12.amzn1.x86_64
libidn-1.18-2.8.amzn1.x86_64
libidn2-0.16-1.2.amzn1.x86_64
libjpeg-turbo-1.2.90-5.14.amzn1.x86_64
libmount-2.23.2-33.28.amzn1.x86_64
libnfsidmap-0.25-11.10.amzn1.x86_64
libnghttp2-1.21.1-1.4.amzn1.x86_64
libnih-1.0.1-7.8.amzn1.x86_64
libnl-1.1.4-2.10.amzn1.x86_64
libpipeline-1.2.3-3.3.amzn1.x86_64
libpng-1.2.49-2.14.amzn1.x86_64
libpsl-0.6.2-1.2.amzn1.x86_64
libpwquality-1.2.3-4.8.amzn1.x86_64
libselinux-2.1.10-3.22.amzn1.x86_64
libselinux-utils-2.1.10-3.22.amzn1.x86_64
libsemanage-2.1.6-3.13.amzn1.x86_64
libsepol-2.1.7-3.12.amzn1.x86_64
libss-1.42.12-4.40.amzn1.x86_64
libssh2-1.4.2-2.13.amzn1.x86_64
libstdc++72-7.2.1-2.59.amzn1.x86_64
libsysfs-2.1.0-7.10.amzn1.x86_64
libtasn1-2.3-6.6.amzn1.x86_64
libtirpc-0.2.4-0.8.14.amzn1.x86_64
libudev-173-4.13.amzn1.x86_64
libunistring-0.9.3-6.1.amzn1.x86_64
libuser-0.60-7.23.amzn1.x86_64
libutempter-1.1.5-4.1.6.amzn1.x86_64
libuuid-2.23.2-33.28.amzn1.x86_64
libverto-0.2.5-4.9.amzn1.x86_64
libxcb-1.11-2.21.amzn1.x86_64
libxml2-2.9.1-6.3.49.amzn1.x86_64
libxml2-python27-2.9.1-6.3.49.amzn1.x86_64
libxslt-1.1.28-5.12.amzn1.x86_64
libyaml-0.1.6-6.7.amzn1.x86_64
logrotate-3.7.8-26.14.amzn1.x86_64
lsof-4.82-5.11.amzn1.x86_64
lua-5.1.4-4.1.9.amzn1.x86_64
lvm2-2.02.166-1.31.amzn1.x86_64
lvm2-libs-2.02.166-1.31.amzn1.x86_64
mailcap-2.1.31-2.7.amzn1.noarch
make-3.82-21.10.amzn1.x86_64
man-db-2.6.3-9.3.amzn1.x86_64
man-pages-4.10-2.16.amzn1.noarch
mdadm-3.2.6-7.32.amzn1.x86_64
mingetty-1.08-5.9.amzn1.x86_64
nano-2.5.3-1.19.amzn1.x86_64
nc-1.84-24.8.amzn1.x86_64
ncurses-5.7-4.20090207.14.amzn1.x86_64
ncurses-base-5.7-4.20090207.14.amzn1.x86_64
ncurses-libs-5.7-4.20090207.14.amzn1.x86_64
net-tools-1.60-110.10.amzn1.x86_64
newt-0.52.11-3.11.amzn1.x86_64
newt-python27-0.52.11-3.11.amzn1.x86_64
nfs-utils-1.3.0-0.21.amzn1.x86_64
nspr-4.13.1-1.0.39.amzn1.x86_64
nss-3.28.4-12.80.amzn1.x86_64
nss-pem-1.0.3-4.3.amzn1.x86_64
nss-softokn-3.28.3-8.41.amzn1.x86_64
nss-softokn-freebl-3.28.3-8.41.amzn1.x86_64
nss-sysinit-3.28.4-12.80.amzn1.x86_64
nss-tools-3.28.4-12.80.amzn1.x86_64
nss-util-3.28.4-3.53.amzn1.x86_64
ntp-4.2.6p5-44.34.amzn1.x86_64
ntpdate-4.2.6p5-44.34.amzn1.x86_64
ntsysv-1.3.49.3-2.14.amzn1.x86_64
numactl-2.0.7-8.11.amzn1.x86_64
openldap-2.4.40-12.30.amzn1.x86_64
openssh-7.4p1-11.68.amzn1.x86_64
openssh-clients-7.4p1-11.68.amzn1.x86_64
openssh-server-7.4p1-11.68.amzn1.x86_64
openssl-1.0.2k-8.106.amzn1.x86_64
p11-kit-0.18.5-2.3.amzn1.x86_64
p11-kit-trust-0.18.5-2.3.amzn1.x86_64
pam-1.1.8-12.33.amzn1.x86_64
pam_ccreds-10-4.9.amzn1.x86_64
pam_krb5-2.3.11-9.12.amzn1.x86_64
pam_passwdqc-1.0.5-6.8.amzn1.x86_64
parted-2.1-21.18.amzn1.x86_64
passwd-0.79-4.13.amzn1.x86_64
pciutils-3.1.10-4.11.amzn1.x86_64
pciutils-libs-3.1.10-4.11.amzn1.x86_64
pcre-8.21-7.7.amzn1.x86_64
perl-5.16.3-286.38.amzn1.x86_64
perl-Carp-1.26-244.5.amzn1.noarch
perl-Digest-1.17-245.5.amzn1.noarch
perl-Digest-HMAC-1.03-5.7.amzn1.noarch
perl-Digest-MD5-2.52-3.5.amzn1.x86_64
perl-Digest-SHA-5.85-3.5.amzn1.x86_64
perl-Encode-2.51-7.5.amzn1.x86_64
perl-Exporter-5.68-3.5.amzn1.noarch
perl-File-Path-2.09-2.5.amzn1.noarch
perl-File-Temp-0.23.01-3.5.amzn1.noarch
perl-Filter-1.49-3.5.amzn1.x86_64
perl-Getopt-Long-2.40-2.5.amzn1.noarch
perl-HTTP-Tiny-0.033-3.6.amzn1.noarch
perl-PathTools-3.40-5.5.amzn1.x86_64
perl-Pod-Escapes-1.04-286.38.amzn1.noarch
perl-Pod-Perldoc-3.20-4.7.amzn1.noarch
perl-Pod-Simple-3.28-4.6.amzn1.noarch
perl-Pod-Usage-1.63-3.5.amzn1.noarch
perl-Scalar-List-Utils-1.27-248.5.amzn1.x86_64
perl-Socket-2.010-3.5.amzn1.x86_64
perl-Storable-2.45-3.5.amzn1.x86_64
perl-Text-ParseWords-3.29-4.5.amzn1.noarch
perl-Time-HiRes-1.9725-272.5.amzn1.x86_64
perl-Time-Local-1.2300-2.5.amzn1.noarch
perl-constant-1.27-2.5.amzn1.noarch
perl-libs-5.16.3-286.38.amzn1.x86_64
perl-macros-5.16.3-286.38.amzn1.x86_64
perl-parent-0.225-244.5.amzn1.noarch
perl-podlators-2.5.1-3.8.amzn1.noarch
perl-threads-1.87-4.5.amzn1.x86_64
perl-threads-shared-1.43-6.5.amzn1.x86_64
pinentry-0.7.6-6.11.amzn1.x86_64
pkgconfig-0.27.1-2.7.amzn1.x86_64
pm-utils-1.4.1-31.2.amzn1.x86_64
policycoreutils-2.1.12-5.25.amzn1.x86_64
popt-1.13-7.7.amzn1.x86_64
procmail-3.22-25.1.6.amzn1.x86_64
procps-3.2.8-30.14.amzn1.x86_64
psacct-6.3.2-63.8.amzn1.x86_64
psmisc-22.20-8.12.amzn1.x86_64
pth-2.0.7-9.3.7.amzn1.x86_64
python27-2.7.12-2.121.amzn1.x86_64
python27-PyYAML-3.10-3.10.amzn1.x86_64
python27-babel-0.9.4-5.1.8.amzn1.noarch
python27-backports-1.0-3.14.amzn1.x86_64
python27-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch
python27-boto-2.48.0-1.2.amzn1.noarch
python27-botocore-1.8.13-1.66.amzn1.noarch
python27-chardet-2.0.1-7.7.amzn1.noarch
python27-colorama-0.2.5-1.7.amzn1.noarch
python27-configobj-4.7.2-7.15.amzn1.noarch
python27-crypto-2.6.1-1.14.amzn1.x86_64
python27-daemon-1.5.2-1.5.amzn1.noarch
python27-dateutil-2.1-1.3.amzn1.noarch
python27-devel-2.7.12-2.121.amzn1.x86_64
python27-docutils-0.11-1.15.amzn1.noarch
python27-ecdsa-0.11-3.3.amzn1.noarch
python27-futures-3.0.3-1.3.amzn1.noarch
python27-imaging-1.1.6-19.9.amzn1.x86_64
python27-iniparse-0.3.1-2.1.9.amzn1.noarch
python27-jinja2-2.7.2-2.15.amzn1.noarch
python27-jmespath-0.9.2-1.12.amzn1.noarch
python27-jsonpatch-1.2-2.5.amzn1.noarch
python27-jsonpointer-1.0-3.4.amzn1.noarch
python27-kitchen-1.1.1-5.6.amzn1.noarch
python27-libs-2.7.12-2.121.amzn1.x86_64
python27-lockfile-0.8-3.5.amzn1.noarch
python27-markupsafe-0.11-4.6.amzn1.x86_64
python27-paramiko-1.15.1-1.5.amzn1.noarch
python27-pip-9.0.1-1.24.amzn1.noarch
python27-ply-3.4-3.12.amzn1.noarch
python27-pyasn1-0.1.7-2.9.amzn1.noarch
python27-pycurl-7.19.0-17.12.amzn1.x86_64
python27-pygpgme-0.3-9.12.amzn1.x86_64
python27-pyliblzma-0.5.3-11.6.amzn1.x86_64
python27-pystache-0.5.3-2.8.amzn1.noarch
python27-pyxattr-0.5.0-1.6.amzn1.x86_64
python27-requests-1.2.3-5.10.amzn1.noarch
python27-rsa-3.4.1-1.8.amzn1.noarch
python27-setuptools-36.2.7-1.33.amzn1.noarch
python27-simplejson-3.6.5-1.12.amzn1.x86_64
python27-six-1.8.0-1.23.amzn1.noarch
python27-urlgrabber-3.10-8.16.amzn1.noarch
python27-urllib3-1.8.2-1.5.amzn1.noarch
python27-virtualenv-15.1.0-1.14.amzn1.noarch
quota-4.00-7.18.amzn1.x86_64
quota-nls-4.00-7.18.amzn1.noarch
readline-6.2-9.14.amzn1.x86_64
rmt-0.4-0.6.b42.7.amzn1.x86_64
rng-tools-5-11.13.amzn1.x86_64
rootfiles-8.1-6.1.8.amzn1.noarch
rpcbind-0.2.0-13.9.amzn1.x86_64
rpm-4.11.3-21.75.amzn1.x86_64
rpm-build-libs-4.11.3-21.75.amzn1.x86_64
rpm-libs-4.11.3-21.75.amzn1.x86_64
rpm-python27-4.11.3-21.75.amzn1.x86_64
rsync-3.0.6-12.13.amzn1.x86_64
rsyslog-5.8.10-9.26.amzn1.x86_64
ruby-2.0-0.3.amzn1.noarch
ruby20-2.0.0.648-1.30.amzn1.x86_64
ruby20-irb-2.0.0.648-1.30.amzn1.noarch
ruby20-libs-2.0.0.648-1.30.amzn1.x86_64
rubygem20-bigdecimal-1.2.0-1.30.amzn1.x86_64
rubygem20-json-1.8.3-1.51.amzn1.x86_64
rubygem20-psych-2.0.0-1.30.amzn1.x86_64
rubygem20-rdoc-4.2.2-1.43.amzn1.noarch
rubygems20-2.0.14.1-1.30.amzn1.noarch
screen-4.0.3-19.6.amzn1.x86_64
sed-4.2.1-10.10.amzn1.x86_64
sendmail-8.14.4-9.14.amzn1.x86_64
setserial-2.17-25.7.amzn1.x86_64
setup-2.8.14-20.12.amzn1.noarch
sgpio-1.2.0.10-5.7.amzn1.x86_64
shadow-utils-4.1.4.2-13.10.amzn1.x86_64
shared-mime-info-1.1-9.8.amzn1.x86_64
slang-2.2.1-1.8.amzn1.x86_64
sqlite-3.7.17-8.14.amzn1.x86_64
sudo-1.8.6p3-29.27.amzn1.x86_64
sysctl-defaults-1.0-1.1.amzn1.noarch
sysfsutils-2.1.0-7.10.amzn1.x86_64
system-release-2017.09-0.1.noarch
sysvinit-2.87-6.dsf.15.amzn1.x86_64
tar-1.26-31.22.amzn1.x86_64
tcp_wrappers-7.6-77.12.amzn1.x86_64
tcp_wrappers-libs-7.6-77.12.amzn1.x86_64
time-1.7-38.9.amzn1.x86_64
tmpwatch-2.9.16-4.10.amzn1.x86_64
traceroute-2.0.14-2.7.amzn1.x86_64
ttmkfdir-3.0.9-32.1.5.amzn1.x86_64
tzdata-2017b-1.69.amzn1.noarch
tzdata-java-2017b-1.69.amzn1.noarch
udev-173-4.13.amzn1.x86_64
unzip-6.0-4.10.amzn1.x86_64
update-motd-1.0.1-3.0.amzn1.noarch
upstart-0.6.5-13.3.13.amzn1.x86_64
ustr-1.0.4-9.1.6.amzn1.x86_64
util-linux-2.23.2-33.28.amzn1.x86_64
vim-common-8.0.0503-1.45.amzn1.x86_64
vim-enhanced-8.0.0503-1.45.amzn1.x86_64
vim-filesystem-8.0.0503-1.45.amzn1.x86_64
vim-minimal-8.0.0503-1.45.amzn1.x86_64
wget-1.18-3.28.amzn1.x86_64
which-2.19-6.10.amzn1.x86_64
words-3.0-17.8.amzn1.noarch
xorg-x11-font-utils-7.2-11.5.amzn1.x86_64
xorg-x11-fonts-Type1-7.2-9.1.5.amzn1.noarch
xz-5.1.2-12alpha.12.amzn1.x86_64
xz-libs-5.1.2-12alpha.12.amzn1.x86_64
yum-3.4.3-150.70.amzn1.noarch
yum-metadata-parser-1.1.4-10.20.amzn1.x86_64
yum-plugin-priorities-1.1.31-40.29.amzn1.noarch
yum-plugin-upgrade-helper-1.1.31-40.29.amzn1.noarch
yum-utils-1.1.31-40.29.amzn1.noarch
zip-3.0-1.10.amzn1.x86_64
zlib-1.2.8-7.18.amzn1.x86_64
```