バックアップを USB メモリと unison で
自宅 PC のバックアップをとってないことに気付いたので何とかしようと思いました。
- とりあえずバックアップ対象は ~/ 以下だけでいいことにする
- ~/ 以下が実は 200MB ぐらいしかないので USB メモリに入る
ということで以下,今日やったことをだらだらと書いてみます。なんかあたりまえなことがたくさん書いてあるかもしれません。
USB メモリのマウント
デバイスファイルがどこかよくわからなかったりしました。結局 /dev/sdb1 だったようです。検索してみたら「メモリを挿して dmesg するとそれっぽい文字列が見える」というふうな情報を得たのでそうして当たりをつけましたが,もっと標準的な方法があるかもしれません。
とりあえず sudo mount /dev/sdb1 したらマウントポイントがわからんと怒られたので /etc/fstab に適当に書きました。
/dev/sdb1 /media/usb1 auto rw,user,noauto 0 0
書かなくても指定すればいいんですけど,まあ毎回指定するのも煩わしいので。
フォーマットからとりあえずコピーまで
USB メモリのフォーマットには,いくつかやり方があるみたいです。mkfs.ext4 というコマンドを見つけたので,とりあえず叩いてみたらできました。こんな感じで。*1
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mount /dev/sdb1
バックアップを突っ込むところを作る。owner が root になってたので chown する。
$ cd /media/usb1
$ sudo mkdir backup
$ sudo chown kozima:kozima backup
$ cd backup
で,とりあえず何も考えずにコピーしてみました。(実際に打ったコマンド何だったか覚えてないけど)
$ mkdir -p home/kozima
$ cd home/kozima
$ cp -pr ~ .
風呂に入ってる間にコピー終わりました。なんかホームディレクトリ直下にたまたま syslog のコピー置いてたせいで permission denied とか言われてましたけど,まあどうでもよかったので無視しました。
その後の同期 (unison 使ってみる)
で,同期とるのに unison 使ってみようって思って profile 書きました。.unison/backup.prf に以下の内容を。
batch = true
owner = true
group = true
force = /root = /
root = /media/usb1/backuppath = home/kozima
# safely skipped
ignore = Path home/kozima/tmp
ignore = Path home/kozima/backups# cause an error
ignore = Path home/kozima/.unison/unison.log
ignore = Path home/kozima/.aptitude# maybe ok to skip
# ignore = Regex home/kozima/\.unison/ar[0-9a-f]*
# ignore = Path home/kozima/\.mozilla/firefox/........\.default/Cache
Ubuntu 10.04 で stumpWM を使ってみた
stumpWM を使い始めたのだけど,なんだかえらくはまったのでまとめてみた。きっとよく分かっている人には何でもないことなのだろうし,標準的でないことをしているかもしれないけど。
参考: http://blog.nguyenvq.com/2010/11/10/stumpwm/
stumpwm をインストールする
sudo aptitude install stumpwm
でできたと思う。
stumpwm.desktop を作成
/usr/share/xsessions/stumpwm.desktop を作る。中身は同じディレクトリにある他のファイルを真似したらできた。こんな感じ。
[Desktop Entry] Name=StumpWM Comment=This session logs you into stumpWM Exec=stumpwm TryExec=stumpwm Icon= Type=Application
ログイン
ログイン画面の下のほうに出るセッションのところで StumpWM を選択する。
選択したセッションは記憶されるみたいで,次からは何もしなくても StumpWM が選択された状態になるようだ。
auto-save-buffers
最近,auto-save-buffers を使うようになりました。存在だけはずっと前から知っていたんですが,なんとなく導入しても特に便利になりそうにないからまあいいか,と思ってました。
何をするものかというと,僕がここで詳しく書かなくても検索すれば出てくるのですが,まあ一言でいうといちいち save-buffer しなくても勝手に保存させればいいじゃんっていう思考を具現したような感じのものというんでしょうか。まあそれでそんなに間違ってはいないと思います。
具体的な動作としては,なにも操作をしていない状態が指定した時間だけ続くと (0.5 sec とかそれぐらいにするのを想定してる感じです) 勝手にすべての file-visited なバッファを save-buffer するというものです。ちなみに検索して出てきたコードに自分で手を入れたような記憶があるので他の人が使ってるのと同じ動作かどうかは不明です。でもまあだいたい同じでしょう。
ともかくこれを導入して,そうすると save-buffer をユーザが呼び出す必要はなくなるわけで,せっかくなので C-x C-s を undefined にしてみたりして使っています。これで快適に作業ができるようなら,新たにコマンドを割り当てられる場所が一つできるかもしれないなあという期待もあったりします。
で,とりあえずしばらく使ってみた感想としては,たぶんなくてもそれほど困りはしないけど,まああっても特に問題はないような感じだし,まあこのまま使おうかなあというところです。ただ,編集が終わってすぐ make なりなんなりしたいときにもちょっとだけ待たないといけないので,それがまったく気にならないというわけにはいかないようです。
ところで文体がいつもと違う気がする。
サブアカウント作成
なんとなくサブアカウントを作りました: id:llkozima
たぶん主に研究まわりで考えていることなどをひたすら思いつくままに流します。推敲とかしませんよ。
たまには日常のことなど
突然寒くなりました。今夜は息が少し白く見えます。
毎年毎年思うことですが,もう冬を迎えるのも二十数回目なのだから,だいたい何月何日ごろに上着がほしくなって,息が白くなって,朝方の道路に氷を見かけるようになって,とかいったことを,そろそろ覚えてもいいのではないかと。ところが実際にはいつまで経っても覚えないので,これからもずっと,季節の変わり目になるたびにそのようなことを思うのでしょう。
謎の runtime error
いつからか,codeforces に F# で submit するとランダムに runtime error が発生するようになっている模様。
blog に書いてみたところ,「Mono をアップグレードしてるとこだから,そのせいかも」という反応がありました。とりあえず待機するしかないか。