2008年7月18日金曜日

HDDが吹っ飛んだ・・・

いつものようにアップデートマネージャーを起動したらディスクIOが100%になったまま帰ってこない。
dbでも壊れたか? と思ってdmesg みてみたらATAデバイスでエラーメッセージがいっぱい。
 んでま、結局いろいろいじってしまって(下手にfsckをかけてしまった)/etcいかが綺麗さっぱり消えてしまったorz
 fsck -cyf オプションでチェックしてみたら、バッドブロックが61個もorz
 なんでかなー振動与えていないし、熱かなーうーん、心当たりがないだけに不良セクタ発生はショック。まー寿命かもしれない・・・

 んで、さらにアホなことに完全なバックアップ取ってなかったの><
 ということですっぱり潔く再インストール。いくつかの/etc以下の設定ファイルはchangetrackで履歴管理していたのでセーフ。
 再インストールしてみてわかったのはubuntuのすばらしさ。windowsだとこうは簡単に環境復帰できない。ubuntuだとapt-get叩くだけでほぼすべてのアプリがインストールできて、設定ファイルもバックアップからコピーすればいい。これだけで元通りになる。これはすごいことだよね。

 とはいえちゃんとしたバックアップしていない私もアホなのだけれど。
うーんDarにしようかrsyncにしようか、changetrackを拡大して使うか。どうしよ。

Quick Lookup:

2008年7月11日金曜日

ubuntuで携帯用動画へ変換する

ffmpeg を使って au 携帯向け動画を作ってみました。
とは言ってもubuntuのffmpegは特許などの関係で軒並コーデックが使えない状態でビルドされているので自前でビルドします。
 携帯用のついでにmp3やxvidなんかも使えるようにします。

事前準備


  • 開発環境をあらかじめ入れておきます。
  • sudo apt-get install build-essential
  • 8.04にあるx264ライブラリはエラーで使えないので自前で入れます。
  • x264をビルドするためにyasmが必要ですが、これもリポジトリにあるのは古く、エラーが出て使えないので自前で用意します。
  • amrnbがリポジトリにないので自前で用意します。
  • amrwbがリポジトリにないので自前で用意します。
 ・・・はい、とっても面倒くさいです。たくさんのコーデックを、ライブラリを使う以上しょうがないのですが、ffmpegの自前ビルドなんて人に勧められるものじゃありませんね><

アーカイブの扱いに関して


 通常は、tar zxvf hogehoge.tar.gz ですが、私は面倒くさいので、すべてのアーカイブの操作を統一的に操作出来る atool を使っています。いちいちアーカイブファイルごとにコマンドやオプションを憶えなくてもいいし、操作性も統一できるので便利です。
sudo apt-get install atool
でインストール出来ます。

yasmのインストール

wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.1.tar.gz
aunpack yasm-0.7.1.tar.gz
cd yasm-0.7.1/
./configure
time make
sudo make install

x264のインストール

wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20080709-2245.tar.bz2
aunpack x264-snapshot-20080709-2245.tar.bz2
cd x264-snapshot-20080709-2245/
./configure --enable-shared
time make
sudo make install

amrnbのインストール

wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.0.tar.bz2
aunpack amrnb-7.0.0.0.tar.bz2
cd amrnb-7.0.0.0/
./configure
make
sudo make install

amrwbのインストール

wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.2.tar.bz2
aunpack amrwb-7.0.0.2.tar.bz2
cd amrwb-7.0.0.2/
./configure
make
sudo make install


ffmpegのインストール

sudo apt-get build-dep ffmpeg
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-pthreads --disable-debug --enable-shared --enable-libfaac --enable-libfaad --enable-libamr-nb --enable-libamr-wb --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libxvid --disable-ipv6
time make
sudo make install
sudo ldconfig
足りないライブラリはあらかじめ用意しておいて下さい。
configure のオプションは、./configure --help で見れますので、自分に合ったオプションを設定しましょう。
 必要なライブラリが揃い、コンフィグ設定も問題なければこれで無事ビルドできるはずです。

au用動画変換

ffmpeg -i 入力動画ファイル -vcodec mpeg4 -b 64k -s qcif -r 15 -acodec libamr_nb -ab 12200 -ar 8000 -ac 1 -flags bitexact 出力ファイル名.3gp2

の設定でau用動画ファイルに変換出来ました。携帯にコピーして無事観れました。
 一度パラメータが決まれば、あとは ~/.bashrc に
# au携帯用動画変換
function au {
ffmpeg -i $1 -vcodec mpeg4 -b 64k -s qcif -r 15 -acodec libamr_nb -ab 12200 -ar 8000 -ac 1 -flags bitexact ${2}.3g2
}
などと書きこんで、
source ~/.bashrc
として設定を反映させて、
au 入力ファイル名 出力ファイル名
とすれば簡単に動画が変換出来ちゃう。ん〜簡単。

2008年7月7日月曜日

Amarok で日本語入力を

Amarok で日本語入力が出来なかった。Amarok使っていなかったので放りっぱなしだったのだけれど、気にしだすと気になって気になって・・・
ということで、
sudo apt-get install scim-bridge-client-qt scim-bridge-client-qt4
export QT_IM_MODULE="scim-bridge"
とすることでscimで日本語入力が出来ることを確認。環境変数QT_IM_MODULE="scim-bridge"は~/.bashrc にでも書いておけばいいのかな。

2008年6月12日木曜日

CheckGmail で 401 エラーが

CheckGmail で 401 エラーが頻発するようになった。
Gmail側が仕様変えたのかしらん。
とりあえず、
svn co https://checkgmail.svn.sourceforge.net/svnroot/checkgmail checkgmail
cd checkgmail
sudo cp ./checkgmail /usr/bin/
として最新のcheckgmailを導入。
それでもたまに401が出るなあ・・・

2008年5月20日火曜日

ubuntuで暗号化ファイルシステム、TrueCryptを試してみた

linux では暗号化ファイルシステムがけっこいいろいろあって、よりどりみどりです。
そのなかでも TrueCrypet は、
  • クロスプラットフォーム
    WindowsでもlinuxでもMacでも使える。
  • 隠し属性の暗号化ボリュームを作れる
といった特徴があり、特にWindowsとUSBメモリでデータのやり取りをしている人には打って付けでしょう。
 隠し属性については、暗号化したボリュームのなかに隠し属性の暗号ボリュームを潜ませることができます。そしてこの隠蔽した暗号ボリュームを検出することは不可能です。
 このことは、例えばこの記事、
米国税関が新制度を近くスタート、入国者が所持するPCのデータを丸ごとコピー
のように暗号化フォルダのパスワードを言わざるをえない場合でも、ダミーのほうを教えて、大事な隠し暗号化フォルダの存在には気づかれずに済むといったメリットがあります。

もちろんメリットばかりでなく、いろいろと使い勝手の悪い部分もあって、
  • linux版では日本語化されていない
    Windows版では日本語ランゲージパックを入れれば、日本語化出来る
  • CUIで使うときは、optionの先頭に -t optionを付けないといけない
  • manドキュメントがなくなった
  • オープンソースだがライセンスが独自
  • 現在のVer5だとlinuxで隠し属性のボリュームが作れない
    Ability to create hidden volumes on Mac OS X and Linux


前書きはこんな感じで実際に使ってみます。

インストール


http://www.truecrypt.org/downloads.php から ubuntu 用のパッケージをダウンロードしてきます。落したら、
tar zxvf truecrypt-5.1a-ubuntu-x86.tar.gz
cd truecrypt-5.1a
sudo dpkg -i truecrypt_5.1a-0_i386.deb
としてインストールします。

使い方


 暗号化ボリュームは、ハードディスクのパーティション丸ごと一つでもいいし、ファイルでもかまいません。ファイルの場合はそのファイルが暗号化ボリュームとしてマウントします。
 ここではお試しに使ってみるので、foobar.tc というファイルを作って、~/crypt にマウントしてみます。
truecrypt -t -c
とすると、
Volume type:
1) Normal
2) Hidden
Select [1]:
ノーマルか隠し属性か聞いてきます。隠しは非対応なので、ノーマルを選択します。
Enter volume path:
ボリュームパスを聞いてきますので、foobar.tc と入れます。
Enter volume size (sizeK/size[M]/sizeG):
ボリュームサイズを聞いてくるので、適当に入れます。
Encryption algorithm:
1) AES
2) Serpent
3) Twofish
4) AES-Twofish
5) AES-Twofish-Serpent
6) Serpent-AES
7) Serpent-Twofish-AES
8) Twofish-Serpent
Select [1]:
暗号アルゴリズムを聞いてきます。デフォルトでいいでしょう。
Hash algorithm:
1) RIPEMD-160
2) SHA-512
3) Whirlpool
Select [1]:
ハッシュアルゴリズムを聞いてきます。おなじくデフォルトにします。
Filesystem:
1) FAT
2) None
Select [1]:
ファイルシステムを聞いてきます。あとからフォーマットすることもできます。ここもデフォルトで。
Enter password:
パスワードを聞いてきますので、なにか適当なパスワードを入力します。20文字以下だと警告してきます。
WARNING: Short passwords are easy to crack using brute force techniques!

We recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]:
まあ、テストなので20文字以下でもOKなのでYesと解答します。
再度確認のためにパスワードを聞いてきますので、入力します。
Enter keyfile path [none]:
鍵ファイルの場所を聞いてきます。使いませんのでそのまま空欄でエンター。
Please type at least 320 randomly chosen characters and then press Enter:
鍵を生成するためのランダムな文字列の入力を求められす。320文字も適当にキーボードをがちゃがちゃ叩きます。疲れます・・・
Done: 100.000% Speed: 7.7 MB/s Left: 0 s
The TrueCrypt volume has been successfully created.
無事暗号化ボリュームが作成されました。

マウントしてみる

~/crypt にマウントしてみます。
$ truecrypt -t foobar.tc ~/crypt
  Enter password for /home/yama/foobar.tc:
  Protect hidden volume? (y=Yes/n=No) [No]:
  Enter system administrator password:
foobar.tc のパスワードは? 隠し属性があるかどうか? rootのパスワードは? など聞かれますので、順番に答えていけば無事マウントされます。

作成した暗号化ボリュームは、
~$ truecrypt -t -v -l foobar.tc
Slot: 1
Volume: /home/hoge/foobar.tc
Virtual Device: /dev/loop1
Mount Directory: /home/hoge/crypt
Size: 32.0 MB
Type: Normal
Read-Only: No
Hidden Volume Protected: No
Encryption Algorithm: AES
Key Size: 256 bits
Block Size: 128 bits
Mode of Operation: XTS
PKCS-5 PRF: HMAC-RIPEMD-160
PKCS-5 Iteration Count: 2000
Volume Created: 2008年05月20日 18時57分38秒
Header Last Modified: 2008年05月20日 18時57分38秒
Data Read since Mount: 191 KB
Data Written since Mount: 0 B
としてプロパティが閲覧できます。

アンマウント

truecrypt -t -d foobar.tc
としてアンマウントします。

GUIで使う


 Vre5 からlinuxでもGUIで使えるようになりました。たんに truecrypt を実行するだけで常駐で起動します。
 manページがなくなってしまったみたいで、代わりに、/usr/share/truecrypt/doc/TrueCrypt User Guide.pdf が入っています。いちいちPDFを見ろということですね。面倒くさいですね。
 当然PDFの中身は英語です。ですが、ランゲージパックの中にこのPDFを和訳したものが同梱されていますので、GUIで使いたい方は是非こちらを見ることをお勧めします。

参考

2008年5月19日月曜日

ubuntuでHDDの温度を計る。

これから暑い季節を迎えるにあたり、ハードディスクの温度を測定してみます。

インストール

sudo apt-get install hddtemp
インストール時に
  • sguidをセットするか?(rootユーザ以外でも実行できるようにするか?)
  • syslog にログを残すか?
  • 残すなら記録間隔を何秒にするか?
  • デーモンとして起動するか?
などを聞いてきます。聞いてこなくても後から、
sudo dpkg-reconfigure hddtemp
とすれば、いつでも再設定できます。

使ってみる


 さっそくHDDの温度を測ってみましょう。ただし古いHDDなどHDD自体にセンサーがないものは無理です。USB接続のHDDも無理でしょう。
$ hddtemp /dev/sd?

/dev/sda: HDS722512VLAT80: 44°C
/dev/sdb: ST380020A: 47°C
/dev/sdc: ST3120023A: 47°C
とでました。まあ、窒息ケースでリムーバブルケースに入れて、しかも4cmファンが壊れているので、温度が高いです・・・なんとかしようorz

GUIでも見られるように


 パネルの上で右クリックし、パネルの追加をクリックします。その中から、hardware sensor monitor を選択して追加ボタンを押せば、パネル上に追加されます。
 なければ、
sudo apt-get install sensors-applet
とすればインストールされます。

2008年5月14日水曜日

ubuntuのSSHに脆弱性

Debianの過去のパッチによるバグの影響でDebian系、つまりubuntuにも重大な脆弱性が発見されました。
この脆弱性は、opensshによる鍵の生成で予測可能な鍵ペアが生成されてしまうというもので、辞書攻撃によって侵入されるリスクが大変大きいものとなっています。

さっそく
wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc
gpg --keyserver subkeys.pgp.net --recv-keys 02D524BE
gpg --verify dowkd.pl.gz.asc
gunzip dowkd.pl.gz
としてチェックツールをダウンロードし、鍵の検査。
./dowkd.pl host localhost
及び、
./dowkd.pl user ユーザ名
として、weak key と表示されたら鍵を作り直しましょう。
その前にopenssh系パッケージのアップデートも忘れずに。

詳しくはURL参照。



20080515:追記:


  • その後のアップデートでopenssh-blacklistパッケージが追加されました。
    脆弱な鍵は自動的に拒絶されるようになりました。出来る範囲で。
  • ssh-vulnkey コマンドが追加されました。
    このコマンドで鍵の脆弱性を確かめることが出来ます。
    sudo ssh-vulnkey -a
    とすればすべての鍵を検査してくれます。
  • 参照
    http://www.debian.org/security/2008/dsa-1576