[ Windows ] Windowsにパッケージ管理システムの Chocolatey を導入する

[ Windows ] Windowsにパッケージ管理システムの Chocolatey を導入する

はじめに

Windowsに関する Tips情報です。
普段、Linux / Mac ユーザの方であれば馴染みにある、 yum / apt-get / brew コマンドのようなパッケージ管理システムを導入し、セットアップ / メンテナンスコストの簡略化を図りたいと思います。

パッケージ管理システムの概要を把握したい方は以下の文献をご参照ください。

パッケージ管理システム – Wikipedia

Chocolateyとは

Chocolatey Gallery

Chocolateyのインストール

基本的には、管理者権限でコマンドプロンプト / PowerShell を起動し、公式ホームページに記載されている、コマンドをそのまま実行します。

コマンドプロンプト版(管理者権限で起動)

C:\> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

PowerShell版(管理者権限で起動)

PS:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

ソフトウェアのインストール

Chocolatey Gallery | Packages より、利用したいソフトウェアパッケージを検索し、以下のコマンドを実行します。
-y オプションでインストール確認のプロセスがスキップできます。

C:\> choco install -y git

アンインストールしたい時は uninstall 、 アップデートする時は upgrade を実行することで、可能です。
尚、インストールしたいパッケージ群をxmlファイルに記述しておくことで、初回インストール時の作業工数が削減できます。

  • package.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="virtualbox" />
  <package id="VirtualBox.ExtensionPack" />
  <package id="vagrant" />
  <package id="packer" />
  <package id="terraform" />
  <package id="boot2docker" />
  <package id="babun" />
  <package id="hosts.editor" />
  <package id="git" />
  <package id="vim" />
  <package id="golang" />
  <package id="hugo" />
  <package id="cyberduck" />
  <package id="mysql.workbench" />
  <package id="bind-toolsonly" />
  <package id="wireshark" />
  <package id="java.jdk" />
  <package id="ag" />
  <package id="jq" />
</packages>

作成した package.config ファイルを読み込ませて実行する場合は以下のコマンドで実行します。

choco install -y packages.config

まとめ

Windows Active Directoryサーバがあれば、グループポリシーでインストールする等の方法もありますが、Active Directoryサーバが利用できない環境や、各部署・役割に応じたソフトウェア一覧を設定ファイルに記載しておくことで、手動でインストールした場合のオペレーションコストと比較して削減可能です。
また、PowerShell経由でリモートメンテナンス等も可能になりますので、ソフトウェア更新の自動化も可能となります。

参考文献

GitHub – chocolatey/choco: Chocolatey CLI