GitHubに、プロジェクト [Arch-Installer] の登録完了っと。
https://github.com/knaou/arch-installer
これは何かというと、Arch Linux のインストーラです。
Arch Linux を知らない人にはなんのこっちゃって感じですよね…(笑)
Arch Linux はGUI/CUIのインストーラを持たないLinuxで、インストール作業はすべてコマンドラインから行う必要があります。インストーラに縛られずに自由にインストールができる素晴らしいLinux!・・・であると同時に、インストール作業がすでに初心者殺しの玄人向けLinuxです。
パッケージシステムのpacmanが高速で使いやすかったり、(詳細は割愛しますが)OSが常に最新版だったりと、プライベートで使うには実に気持ちが良いLinux なので、これを是非簡潔に使いたい…と思い、インストールスクリプトを自作してみました。
Hyper-V で必要に応じて環境を作って、壊れたら作り直すことを想定してます。なので、
- Hyper-V 上で Arch-Linux をインストールできる
- Ansible が動作するところまで楽にもっていける
を必須要件としました。
ただ、Ansibleの動作に必要なパッケージをインストールすることは、「Arch Linux のインストーラ」 に対して責務が過大なので、「追加パッケージを容易にインストールできる設計とする」ことで満たすことにしました。
で、できたのがこちら [https://github.com/knaou/arch-installer] です。
README に書いてるとおり、Ansibleでセットアップを可能にするためには、openssh と python2 が必要です。
- Hyper-Vで適当な仮想マシン(第一世代)を作成
- Arch Linux のインストーラ ISO を使用して Boot
- wget でスクリプトをDL
- スクリプトを修正し設定を書き込む
- ホスト名やrootパスワードを修正
- openssh, python2 を追加パッケージに書く
- ネットワークの設定を修正
- 他必要に応じて
- スクリプトを実行
- 再起動
これだけでインストール完了!(感動) 本当に何も入ってない環境ができあがります。
あとは、別のマシンから、hostsファイル に セットアップしたマシンのIPを書いて、Cygwin上(もちろん、Ansibleインストール済み)から
echo "192.168.11.100" > hosts ansible all -i hosts -u root --ask-pass -c paramiko -e "ansible_python_interpreter=python2" -m shell -a "echo Hello Ansible"
と叩いてあげると動きます!
ちなみに、「-e “ansible_python_interpreter=python2” 」は Ansible で ArchLinux に対してインストールを行うために必要な設定です(ArchLinuxのPython2 のコマンド名が pythonでは無いためにこのように設定が必要です)。 また、 WindowsのCygwin だと、デフォルトの SSH接続が失敗してしまうので、「-c paramiko」 を指定しています。
ピンバック: Cygwin/X で作ろう快適Windows開発環境(Hyper-Vも一緒だよ | なおぶろ