Posts tagged ‘Linux’

rsync の –exclude オプション指定方法

サーバのデータは rsync でバックアップしている。最近、一部のディレクトリをバックアップの対象から外すため、–exclude オプションを追加した。ところが思ったように動作せず、除外するよう指定したディレクトリが、以前と同様にバックアップされてしまっていた。調べたところ –exclude オプションの指定が間違っていたことに気付く。rsync コマンドにおけるコピー元、コピー先の指定方法にちょっとクセがあることはよく知られているようだが、–exclude オプションにおけるディレクトリ方法もわかりにくいと思う。

仮に次のようなディレクトリ構成があると仮定する。

/foo/bar/
/foo/baz/
/backup/foo/

ここで /foo/ 以下をすべて /backup/foo/ に同期させたい場合、rsync コマンドのオプション指定は次のようになる。

rsync –archive –delete /foo/ /backup/foo/

さらに /foo/baz/ を同期対象から除外する場合は、–exclude オプションを次のように指定する。

rsync –archive –delete –exclude /baz/ /foo/ /backup/foo/

このとき –exclude オプションは同期元(コピー元)のディレクトリを基点とするため、/foo/baz/ を指定すると /foo/foo/baz/ ディレクトリが除外対象となってしまう。そのため対象ディレクトリを同期処理から除外できないばかりか、ディレクトリ構成によっては予想外のディレクトリが除外されてしまう可能性もある。

ERP5 への道 — 導入編1

はじめに

先日(有)ロングフィールドさんが主催した Zope/ERP5 勉強会に参加した。この勉強会は複数回の開催が予定されていて、今回は Zope と EPR5 の実行環境の作り方が話題の中心だった。これが結構手間の掛かる作業だったので、備忘録として書き留めておくことにする。

勉強会ということで、ノート PC 上の VMWare Server に Mandriva Linux をインストールし、これを Zope と ERP5 のベース環境とする。本稿では Mandriva のインストールを終えるところまでを記載する。なお、OS インストールにかなり時間が掛かったが、これは使用したノート PC の HDD が非力によるものと思う。

PC のスペック : Pentium M 1.2GHz/1GB memory/80GB Ultra ATA HDD (1.8inch)

ところでなぜ Mandriva なのかということだが、ERP5 の開発元である Nexedi 社の標準的な開発環境が Mandriva なので、ERP5 との相性が良いということらしい。どちらも同じフランス発祥の OSS であることも関係しているのかもしれない。

VMWare Server のインストール

これは別の記事で既に書いてある手順に従う。現時点で入手可能な最新版は 2.0 だが、ロングフィールドさんによると使い勝手の点から 1.0.9 を推奨するとのこと。ちなみに最近リリースされたばかりの VMWare Player 最新版では、自分で仮想マシンを作ることができるようになったらしいので、Server の代わりに Player を使えるかもしれない。

Mandriva の iso イメージファイルを入手

iso イメージファイルは Mandriva の Web サイトから入手できるが、ここから直接ダウンロードできるのは英語版だけである。日本語版も用意されているが、こちらを手に入れるためには BitTorrent を使う必要がある。日本語版の iso イメージファイル名は次のとおり。これは GNOME 版だが KDE 版もあるようだ。

mandriva-linux-one-2009.1-GNOME-africa-asia-cdrom-i586.iso

BitTorrent 用の .torrent ファイルは次の URL で入手できる。

http://torrent.mandriva.com/public/

また BitTorrent が使えなくても、Linux ディストリビューションを配布している理研などのミラーサイトでも、この iso イメージファイルを見つけることができる。

http://ftp.riken.go.jp/Linux/mandrake/official/iso/2009.1/mandriva-linux-one-2009.1-GNOME-africa-asia-cdrom-i586.iso

仮想マシンに OS をインストールする工程では、イメージファイルを HDD に置いたまま使うので、DVD-R などに焼く必要はない。

仮想マシンの作成

iso イメージファイルを入手できたら、VMWare Server で仮想マシンを作る。”Virtual machine configuration” で “Typical” を選択し、OS 一覧にある Mandriva を選ぶ。同じリストに Mandriva の前身である Mandrake が並んでいるので、間違えて選ばないようにする。

“Network connection” は NAT を選ぶ。今回のインストール作業では bridged を選ぶと、Mandriva 仮想マシンからネットワークへの接続が出来ないという現象に悩まされた。同一環境で Ubuntu を仮想マシンとしてインストールしたときは bridged でも大丈夫だったので、Mandriva 特有の現象かもしれないと考えている。なお、ここで bridged を選択したとしても、後で簡単に変更することが可能である。

“Disk capacity” はデフォルト値 8GB のままで大丈夫。ここで “Allocate all disk space now” のチェックを外したほうが良い。そうしないと最初から 8GB 分の初期化を行おうとするため非常に時間が掛かるし、ディスク容量も無駄に確保してしまう。もうひとつのオプションである “Split disk into 2GB” をチェックすると、仮想マシン用に確保される実ファイルが 2GB ごとに分割される。今回はチェックしなかったので、OS インストール終了後にはおよそ 2.6 GB程度のファイルが出来上がっていた。

ディスクの Allocate を指定しなければ、ここはあっというまに完了するはず。Allocate のチェックを入れると、初期化が始まってしまって途中でキャンセルができない。

仮想マシンが出来上がったら VMWare のコンソールに戻り、追加した仮想マシンの Device 情報を一部変更する。仮想マシンに割り当てられるメモリはデフォルトで 256MB だが、今回はこれを 512MB に変更してみる。ちなみにホストの実メモリは1GB。この値も後からいつでも変更可能だが、多めに設定しておけばインストールが多少は早くなるかも、と考えた。

OS のインストールはホストマシンの CD-ROM/DVD デバイス経由でももちろん可能だが、HDD 上の iso イメージファイルから直接起動することもできる。そのため一時的に CD-ROM デバイスの Connection 情報を “Use ISO image” に変更し、同時に iso イメージファイルを置いてあるパスを指定しておく。

OS インストール

ここまでの設定を完了したら “Start this virtual machine” を実行する。CD-ROM デバイス情報を切り替えているので、指定の iso イメージファイルがライブ CD として認識され、CD 版の Mandriva が立ち上がる。ここはとても時間が掛かる。ノート PC の非力な HDD(1.8 inch) が影響しているのか、起動するだけで 10分以上も掛かった。

VMWare の仮想マシンに Linux をインストールするときは CUI モードにするか、GUI を使うのであれば VMWare をフルスクリーンにしないと、インストールが極端に遅くなるといった情報もあった。しかし Mandriva のインストールに CUI モードはなさそうなので、フルスクリーン状態で起動すれば多少は時間を短縮できるのかもしれない。

仮想 CD-ROM から無事に Mandriva が起動すると、GNOME デスクトップが表示される。そこに “Live インストール” アイコンがあるので、これをクリックすると仮想マシンの HDD に対して Mandriva のインストールが始まる。このとき「不要なパッケージ削除」という処理があるのだが、これにもまた時間が掛かる(おおよそ 7-8 分だったか)ので焦らず気長に待つ。

その後、MANDRIVA’S PRODUCT RANGE 2009 Spring というスプラッシュ画面と、進捗を表示するプログレスバーが表示される。詳細が表示されないのでよく分からないが、ここでパッケージ群が HDD にインストールされている模様。この工程は 40分程度で完了し、最後にブートローダのインストール画面が出て終わり。

一旦シャットダウンし仮想マシンの CD-ROM デバイス設定を、iso イメージファイルからホストマシンの実ドライブに変更しておく。この時点で iso イメージファイルは削除しても構わない。

ここでもういちど仮想マシンを起動すると、スーパーユーザと一般ユーザのアカウント作成を求められる。これですべての初期インストール作業は終了となる。画面は一般ユーザでログインした後の GNOME デスクトップになっているので、念のためインターネットに接続できるかどうかを確認しておく。当初 bridge 設定のままインストールしたとき、インターネットにアクセス出来ない状況になってしまったが、NAT に変えてリブートしたら問題なく接続できた経緯がある。

これからさらに頑張ってパッケージ群を最新のものにアップデートする。RPM 用の GUI 管理ツールがあるので、これを利用する。この作業が完了するのにおおよそ 30分。これでようやく完了となるが、とにかく時間が掛かった。つい最近、まったく同じ VMWare 環境に Ubuntu をインストールしたときは、もう少し短時間でインストールが終了したように思う。

そして最後に必需品の emacs を RPM マネージャ経由でインストールしようとしたらトラブル発生。

以下のパッケージは選択できません:
– xemacs-21.4.22-3mdv2009.1.i586 (libXaw3d.so.7 が依存を満たしていないために)

そもそも libXaw3d.so.7 というライブラリはインストールされていない。/usr/lib の下に libXaw.so.7 なんていうのがあったので、試しにシンボリックリンクを設定してみたりしたのだが状況は変わらなかった。結局、RPM でインストールすることを諦め、後ほどソースコードからインストールすることにして終わる。

このあと Zope と ERP5 をインストールするのだが、長くなってしまったので以降は「導入編2」に続く。