rsyncの罠

いろいろとはまったのでメモ。

1. --delete-excludedオプション
--exclude-fromを使って一部のディレクトリーやファイルを対象外にすることはよくあるだろう。
この時、単に--deleteだけだと、--exclude-fromを変更する前にコピーしていたアイテムはdestから削除されることはない。
--delete-excludedをつけるとコピー対象から除外されるだけではなく、既にdestにコピーしていたものもdestinationから削除される。
具体的な使用例はこんな感じ。

rsync -av --delete --delete-excluded --exclude-from=/home/exclude /home/src/ /home/dest

2. NTFSとのやりとり
ext3同士とかならなんの問題もないがext3とNTFSの間でのrsyncの場合、いろいろ注意が必要。
-pオプションを使ってはダメ:NTFSではパーミッションが自由に設定できない。そのため、-pをつけていると、destにはパーミッションが異なる、違うファイルがあると判断して、srcのファイルをコピーする。つまり、差分をコピーしようとして結局は全ファイルをコピーすることになる。また-aオプションには-pが含まれているので注意。
--modifiy-window=1オプションが必要:NTFSのタイムスタンプの精度のため。destには時刻が異なる、違うファイルががあると判断して、srcのファイルをコピーするので。
具体的な使用例はこんな感じ。

rsync -rltDv --delete --delete-excluded --exclude-from=/home/exclude --modify-window=1 /home/src/ /mnt/ntfs/dest

3. --exclude-fromの書き方

rsync -av --delete --delete-excluded --exclude-from=/home/exclude /home/src/ /home/dest

というコマンドを考える。
/home/exclude に例えば bin と書いておくと、/home/src/bin だけではなく、/home/src/local/bin なども除外されてしまう。
/home/src/bin は除外したいが、/home/src/local/bin は含めたいという場合には、

/bin

と書く。実際のディレクトリーが /home/src/bin であっても単に /bin と書けばよい。ちょっと意外。

【参考URL】
http://ubuntuforums.org/showthread.php?t=820425

gnome-mplayer用のmplayerのmake

Vine Linuxだといろいろライブラリーが不足しがち。

-stop-xscreensaverのサポートにはlibXScrnSaver、libXScrnSaver-develが必要
-assのサポートにはlibassとlibass-develが必要。
apt-getあるいはsynapticを使って事前のインストールが必要。

VNCサーバーを動かそうとしたら「Unable to start Xvnc, exiting」

Vine 6.xでVNCサーバーを動かそうとしたら(vncserver)

Unable to start Xvnc, exiting

というエラー。
~/.vnc配下のログを見ると、

Tue Feb 11 08:00:00 2014
vncext: VNC extension running!
vncext: Listening for VNC connections on port 5901
vncext: created VNC server for screen 0
Could not init font path element built-ins, removing from list!

Fatal server error:
could not open default font 'fixed'

対処方法は次の通り。

  1. rootになって
  2. apt-get install xorg-x11-fonts-misc
  3. apt-get install xorg-x11-fonts-Type1