「dpkg-reconfigure tzdata」コマンドをバッチ処理
Ubuntuでタイムゾーンを設定するときは「dpkg-reconfigure tzdata」コマンドを実行して、起動したインタラクティブウィンドウで Asia -> Tokyo を選択するのが良いのですが、chefなどバックグラウンドでバッチ処理で設定するときは、インタラクティブだと困ります。
そのときは以下のようにdpkg-reconfigureに「--frontend noninteractive」オプションを付けると良いです。
$ sudo echo Asia/Tokyo > /etc/timezone $ sudo dpkg-reconfigure --frontend noninteractive tzdata
UbuntuでTimezoneを変更する方法
Ubuntuでタイムゾーンを設定する方法を検索すると、主に以下の2通りが出てきます。
- 「cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime」コマンドを実行して再起動
- 「dpkg-reconfigure tzdata」コマンドを実行して、インタラクティブウィンドウが起動するので、Asia -> Tokyoを設定する
1ではなく2の方法で設定することをオススメします。
1だと、dpkg自体がこのタイムゾーン設定を覚えないため、のちのちapt-get upgradeなどで様々なパッケージがアップグレードされたときに、タイムゾーンの設定が戻ってしまいます。2だとそのようなことは起こりません。
スタンディングデスクのすすめ
スタンディングデスクの長所
色々なところでスタンディングデスクが紹介されているのを見て、自分もスタンディングデスクを使い始めました。実際にスタンディングデスクで仕事をするようになって1ヶ月が経ち、以下のような効果を感じています。
・腰痛になりにくい
・肩こりになりにくい
・集中力が持続する(業務中に眠くならない)
・運動不足解消にもなる
・収納が増える(私のスタンディングデスクの場合)
私の作ったスタンディングデスク
私の作ったスタンディングデスクはこんなカンジです。なかなかの使い心地です。
作り方
以下の材料を購入し、元のデスクにキューブボックスを乗せ、その上に天板を乗せれば出来上がりです。
・キューブボックス
・天板
実際に買ったもの
キューブボックスの高さや天板のサイズは元のデスクのサイズや、使う人の身長によって変わるので、あくまで参考にしてください。デスクの高さは以下のページの中段にある この画像 がとても参考になります。
たった2300円!IKEAの家具で自作するスタンディングデスク - Lifehacking.jp
1. ジーボードキューブボックス BR 95418
99%古紙を使ったキューブボックス(幅34x奥行28.7x高さ32cm)。とても軽くて、かつ手頃なお値段で、すごくオススメです。これで耐荷重約100kgだからすごい。A4サイズの書類を立てられないのが残念ですが、それでも費用対効果は十二分に良いです。
2. カラー化粧棚板 ダークオーク LBC-1240
私は、この幅120×奥行40×厚さ1.8cmの天板を2枚ならべて、幅120x奥行80のスタンディングデスクにしています。
3. ジョイント式マット 木目調 ブラウン JTM-32 WOD BR 33035
これはおまけ。長時間 立っているとかかとが痛くなるので、これを2枚重ねて、その上に立つようにしています。
疲れたときは?
疲れたときは、無理せず座って仕事をするようにしています。
ちなみにイスはElgohumanです。もともとはこれに座って仕事をしていましたが、今ではあまり仕事では使われず、もっぱら昼寝用イスとなっています
cassandra を apt-get でインストール(debとdeb-srcはコマンドではない)
やり方は以下に書かれています。
http://wiki.apache.org/cassandra/DebianPackaging
が、以下を設定する方法が分からなかった。。。
deb http://www.apache.org/dist/cassandra/debian 11x main deb-src http://www.apache.org/dist/cassandra/debian 11x main
上記の deb と deb-src はコマンドではありません。/etc/apt/sources.list に記載します。
ずっとFedoraを使っていて、Ubuntuは初心者だったので、理解に時間がかかりました。
Ubuntuフォーラムでも「debコマンドはどうやってインストールするの?」という私と同じような勘違いをしている方が多かったので、ここに記しておきます。
Can't locate local/lib.pm in @INC at ...
私の使っている Ubuntu 12.04 だけかも知れませんが、必ずCPANコマンド実行の一回目は「Can't locate local/lib.pm in @INC at...」というメッセージでエラー終了します。でもリトライすると成功します。初回時のエラーメッセージは以下のとおりです。
... Checksum for /home/john/.cpan/sources/authors/id/A/AP/APEIRON/local-lib-1.008009.tar.gz ok ---- Unsatisfied dependencies detected during ---- ---- APEIRON/local-lib-1.008009.tar.gz ---- ExtUtils::MakeMaker [build_requires] Running make test Make had some problems, won't test Delayed until after prerequisites Running make install Make had some problems, won't install Delayed until after prerequisites Can't locate local/lib.pm in @INC (@INC contains: /home/john/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl /home/john/Desktop) at /usr/share/perl/5.14/CPAN/FirstTime.pm line 1300.
気持ち悪いので調べたところ、CPANが利用するlocal::libがインストールされていないのが原因でした。Ubuntuなら以下のコマンドでインストールできることができます。
sudo apt-get install liblocal-lib-perl
または
sudo apt-get install cpanminus
以下のページを参考にしています。
http://stackoverflow.com/questions/16702642/cant-locate-local-lib-pm-in-inc-at-usr-share-perl-5-14-cpan-firsttime-pm
bindでゾーン転送の設定確認と手動適用
複数台のbind(DNSサーバー)を構築する場合、1台をマスターにして、残りをスレーブにするのが一般的です。そうすれば、マスターで設定したゾーンの設定が自動的にスレーブに反映されます。
「bind ゾーン転送」などで検索すると、方法が色々と出てきます。
ゾーン転送はすぐに行われるわけではなく、SOAレコードのRefresh値の頻度で行われます。1〜数時間が一般的です。となると、1) ゾーン転送の設定が正しく反映されているか確認したい、2) ゾーン転送を手動で即時に実行したい、というケースがあるので、方法を調べました。
1. ゾーン転送の設定確認
フォーマット:
$ dig @マスターサーバのIPアドレス ゾーン名 axfr
例:
$ dig @1.2.3.4 example.com axfr
2. ゾーン転送の手動適用
フォーマット:
$ rndc retransfer ゾーン名
例:
$ rndc retransfer example.com
run-parts --test で cronスクリプトが動くかテスト
結論から言うと、以下のようにrun-partsコマンドを--testオプションで実行することで、cron.dailyで実行されるスクリプト名を確認することができます。同様にcron.hourly, cron.weekly, cron.monthlyも確認可能です。
run-parts --test /etc/cron.daily
cronスクリプトを作成したときにいつも苦心していたのが、そのcronスクリプトがちゃんと動くかどうか確認することです。このオプションをもっと早く知っていれば。。。今まではマシンの時刻をずらしたり、わざとsyslog出力してスクリプトの実行を確認したり、色々と面倒なことをしていました。
しかもrun-partsのmanページを見ると分かるのですが、ubuntuなどDebian系のディストリビューションでは、cronスクリプトのファイル名に許されている文字列は、(^[a-zA-Z0-9_-]+$) のみです。つまり英数字以外で許される記号はハイフンとアンダースコアのみです(ドットなどはNG)。今までredhat系を利用していた私は、全く疑いもせずにubuntuサーバーにインストールしたcronスクリプト名にドット(.)を使ってしまい、cronスクリプトが実行されず原因究明に時間がかかりました。