rcmdnk's blog

Microsoft Windows 10 Home (32bit/64bit 日本語版) [オンラインコード]【新価格版】

Windows 10ではPackageManagementというパッケージ管理機能が 付いています。

Macで言うHomebrew的な存在ですが、 これを有効活用するためにMacのHomebrew用に作った Brew-file的な物をPackageManagement用にも作ってみました。

Sponsored Links

WinPkgMgr

PackageManagementで管理しているアプリを ファイルに書きだして、そのファイルを使って一括インストールしたり出来る PowerShellスクリプト、PkgMgr.ps1というスクリプトが入ってます。

基本的にやりたいことはMacでやってるBrew-fileと同じです。

パッケージをファイルに書き出して環境を管理します。 さらに、それをGitHubなりDropboxなり、もしくは直接コピーするなりして 他のマシンに移して同じ環境を簡単に作ったり 環境を同期したりします。

基本的な使い方はBrew-fileと同じような感じで出来る様になってます。

今使えるコマンドは以下のとおり。

Command Description
init Initialize the package management file with installed packages.
install Install all packages in the package management file.
show Show the package management file place and packages in the file.
set_repo Set GitHub repository for the package management file.
pull Pull GitHub repository.
push Push GitHub repository.
update (pull +) install + init (+ push). pull, push only when GitHub repository is used.

PkgMgr.ps1 initでパッケージを書き出して、 PkgMgr.ps1 installでファイルにあるパッケージを一括インストールする、 という所が基本。

現在使ってるマシンでPkgMgr.ps1 initしてファイルを作り、そのファイルを 新しいマシンにコピーしてPkgMgr.ps1 installすると 新しいマシンで同じ環境を作れます。

また、ファイルをDropboxに置くようにしてマシン間で同期したり、 Brew-fileでやっているようにset_repoすることでGitHubのレポジトリを使うことも出来ます。

書きだしたファイルは以下の様な感じのパッケージ名+プロバイダー名なリストになります。

adobereader                    chocolatey
autohotkey                     chocolatey
autohotkey.install             chocolatey
autohotkey.portable            chocolatey
Cygwin                         chocolatey
dropbox                        chocolatey
Evernote                       chocolatey
Firefox                        chocolatey
flashplayerplugin              chocolatey
git                            chocolatey
git.install                    chocolatey
GoogleChrome                   chocolatey
GoogleJapaneseInput            chocolatey
lhaplus                        chocolatey
MobaXTerm                      chocolatey
putty                          chocolatey
putty.portable                 chocolatey
skype                          chocolatey
teamviewer                     chocolatey
vim                            chocolatey

デフォルトではDocumentsフォルダの中にpkg.txtと言うファイルを作ります。

To Do

取り敢えず最低限の事は出来る様になりましたが、 Brew-fileにあるもので付け加えられそうなものとして

  • 指定したGitHubのpkg.txt用レポジトリがない場合作れる様にする(Brew-fileでは出来る)。
  • 既にインストールされていてPackageManagementを通して無い物を見つけてPackageManagementで管理するようにする(Brew-fileのcasklist的な)。
  • cleanコマンド(リストに無いものを削除)。
  • editコマンド(ファイルを編集)。

辺り。

READMEとして、タスクスケジューラーを使って定期的にupdateコマンドを 実行する様にするインストラクションとかを加える。

Weekend Scripter: Use the Windows Task Scheduler to Run a Windows PowerShell Script Hey, Scripting Guy! Blog

これ見ておけば大体できるとは思いますが。

後はGitの設定とか。 自分ではCygwinでGitHubの鍵とかの設定をしていて、 それでPowerShellからも使える様になっています。 Cygwin様にWindowsの環境変数HOMEを設定すると、 PowerShellの$Env:HOMEがその値になり、Cygwinの~/.sshを見るようになって そこにある鍵を使えます。

PkgMgr.ps1の中では、WindowsにGitがインストールされていないと PackageManagementを使ってGitを自動でインストールするようになってるので(このGitはCygwinのGitとは別)、 Cygwinで設定さえしてあればPkgMgr.ps1でGitHubのレポジトリを使えます。

Cygwinを使ってない場合はGitHub for Windows等を使って設定しておけばいけると思います。

Sponsored Links
Sponsored Links

« Google Chromeのユーザー切り替えは数が多いと切り替えれない場合がある Homebrewのレポジトリが変更された(ただしユーザーは特に気にせずそのまま使える) »