今まではcygwinをインストールしたディレクトリを全部SugarSyncで同期して使ってたんだけど、
よくわからないままに色々入れてたら700MBぐらいあったので整理整頓することにしました。

どうするか?

既にインストールされてるcygwinのファイルを整理するのはめんどくさかったの新規インストールをすることにしたのはいいけど、何せパッケージ選択がめんどくさい。めんどくさいっていうか手動でやると必ず忘れてしまうので自動化したい。

そこでコマンドラインインストールの登場です!

インストール方法

これでホームディレクトリ直下の C:\Users\ironsand\cygとかにインストールされる。

やめたパッケージ

gccとか入れてcygwinでコンパイルして色々してると毎回ドツボにハマるので、もうそういうのはVirtualBox上のUbuntuですることにする。

rubypythonはWindowsのネイティブパッケージを使う。結局なんだかんだでそれが一番安定してる気がするので。

gitcygwin用のパス名周りのエラーが鬱陶しくなることがちょくちょくあったのでChocolatey使ってcinst gitでインストールする方法に変更。

注意点

何故か 64bit バージョンは動きませんでした。理由はわかりませんが、こういう関係のソフトは32bit版のほうが今はまだ安定してる気がするし大量にメモリ使うこともないので気にしないことにします。

sshだとsshコマンドはインストールされないのでopensshを指定しましょう。

インストール後に/etc/passwdのホームディレクトリ設定を/home/usernameからcygdrive/c/Users/usernameとWindowsのホームフォルダに変更しておくとsshとかのコマンドの時に設定ファイルを自動的に読みに行ってくれるので便利。便利というかしないとちゃんと動かない。

あと環境変数にset HOME=%USERPROFILE%もどこかに仕込んでたほうが良いかも。

Util-Linux

何故かカレンダー表示のcalコマンドが見つからなかったので探してみたら、calのみのインストールはないらしい。
とりあえずutil-linuxが良さそうなんでこれを使う事にした。

tree

Windows由来のコマンドなのにWindowsのtreeコマンドは階層指定もできない残念仕様なのでcygwinのを入れました。tree -L 2とかで階層指定できる。便利!


wgetで同じファイル、例えばfoo.zipをもう一度ダウンロードすると foo.zip.1と自動的に別名でファイルを保存してくれるんですが、自動処理の中で使う時に毎回ダウンロードしたくない時にはちょっとめんどくさい。

既に存在する時はダウンロードをスキップ方法

wgetには--no-clobberもしくはそれの省略形 -nc という上書きを禁止するオプションがあるのでそれを使いましょう。

ちなみに “clobber” は「不注意に上書きをしてファイルを破壊してしまう。」という意味の英単語です。

参考

wget – skip if files exist? – Stack Overflow