follow me

PythonでID3v2タグを利用

MP3のIDタグにはv1とv2で大きく仕様が異なり、IDv1タグであれば簡単なのですが、文字数制限がある為IDv2タグを使ってみた。
ライブラリには、eyeD3を利用してみました。
他にもいろいろとあるのですが、使いやすそうだったので(笑
以外にパッケージ提供されてるLinuxディストリビューションもあったりで準備がラク。

Windowsで利用する場合は、site-packages以下に解凍したeyeD3ディレクトリをコピーし、__init__.py.inを__init__.pyに名前変えれば使用できます。

実際にIDv2タグを書き込んで見ます。
とりあえず、最低限こんな感じで書き込める訳です。簡単ですね。
import eyeD3

tag = eyeD3.Tag()
tag.link('test.mp3')
tag.header.setVersion(eyeD3.ID3_V2_3)
tag.setTextEncoding(eyeD3.UTF_16_ENCODING)

tag.setArtist('テストアーティスト名')
tag.setTitle('テストタイトル名')
tag.update()
follow me

CentOS 5.5 Release?

Linux - RedHatCentOS 5.5がミラーされている様です。
riken.jpを見てみたら、ファイル一式ありました(笑
本家CentOSサイトではまだCentOS5.4になってますが、明日には5.5 Releaseが出ているのでしょう。
ReleaseNotes
日本語訳がないなぁ。。。

a85d7cd41f49f2146177dae52163d5dca276efc2 CentOS-5.5-x86_64-bin-DVD-1of2.iso
bb9a2c140170f10ed854541004539890ef7c68c8 CentOS-5.5-x86_64-bin-DVD-2of2.iso
なにかの冗談ですか?あらまDVD2枚になりましたか。。。


i386のDVDイメージは在ったけど、x86_64のDVDイメージは存在せず。
CDイメージは両方アリ。
他のミラーサイトはまだなさそうなので、理研一番早いのかな?


[2010/05/21追記]
CentOS 5.5をCD1枚で導入出来る様に、1CD導入イメージを作成しましたのでDVDドライブを付けていない方、CD8枚ダウンロードが面倒な方ご利用ください。

CentOS 5.5 1CD i386 (20100515)

CentOS 5.5 1CD x86_64 (20100516)

こちらの1CD導入ディスクは、私が独自に作成、配布しているものです。CentOS projectへの問い合わせはお控え下さい。
follow me

Japanino

Japaninoです。
本日発売の「大人の科学マガジン Vol.27」付録です。
「Arduino」互換機です。
私は自社から一番近い本屋で先程買ってきました。
Interfaceやトラ技とは違い、売り切れの心配はなさそうだけど、とりあえず早めにゲット!

follow me

一時間で覚える?TOMOYO Linux

TOMOYO Linux実際に一時間で覚えられるかどうかはさておき、一時間でなんとなく使えた気になれる最低限の項目だけに絞ってみました。
環境は個人的にSlackware好きなので、Slackware13.0です。
TOMOYO 1.7.2を利用。
(CentOSとかは本家サイトで詳しく書いてるので要らないとか思ってる人です。)
おそらく、一時間で使える気分にはなれるはずです。

follow me

UnicodeDecodeErrorが出てしまう

思いつきでPythonはじめました。
今更ですか?と云われそうですが。。。

ElementTreeでXMLを弄っていると以下エラーメッセージ発生。
データに2バイト文字があった場合に出ている様子。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
どうやらPythonでは良くある事のようで、Pythonでのデフォルトの文字コードがutf-8ではなくasciiとして認識されているのが問題らしい。
python install path/lib/site-packages/以下に「sitecustomize.py」という名前でファイルを作成し、以下内容を書いておけば解決する。
import sys
sys.setdefaultencoding("utf-8")
follow me

LXC(Ubuntu 10.04)

Linux - DebianLXC(Linux Containers)は、Kernelメインラインに含まれているので手軽に使えます。
ぽちっっと、導入は終了。
# apt-get install lxc
fstabに追加。(リソースの管理と制限にcgroupが必要らしぃ)
none /cgroup cgroup default 0 0
試しに一個作成。
/usr/share/doc/lxc/examples/lxc-debian.gzを利用。
解凍してぽちっと実行して、debootstrapされてるだけですね。
少しイロイロ入りすぎ感があるので、minimalなtar玉捜して来た方がイイかもですね。
# env TERM=vt100 LANG=C ./lxc-debian -p /opt/lxc/test
............(とりあえず、かなり長い。。。)
起動。そのままやるとeth0を使おうとするので、interfaceあたりは事前に書き換えが必要。
# lxc-start -n test -f /opt/lxc/test/config -d
lxc-consoleでttyに繋いで、要らなくなったらlxc-stopで止めて、Xenとかの仮想化と比べてjail()の様に手軽に作ったり潰したり出来るのが便利ですね。
libvirtも使えるみたいだし、libvirt利用してる管理ツール系も使えるのかな。。。
follow me

東京SKY TREE

東京SKY TREE
予想より大きいですな。


follow me

Ubuntu(PXEインストール)

Linux - Debian使ったマシンがCDROMドライブなしUSBブート非対応だったので、PXEインストールを試しました。
この辺のデータを全部そのままダウンロード。
http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/

TFTPサーバで公開。(個人的には、TFTPD32を利用してます。)
ルータのDHCPとかは止めておくのが吉。

PXEイメージにpxelinux.0を設定。
マシンをPXEブートさせれば、インストーラが起動。
CDブートした時と若干インストーラ構成が異なる気もするが、導入後は変わらないので気にしない事に。。。

もちろん、PXEサーバと導入対象機の2台必要なので、複数台無いよという人はさよぅなら。
follow me

Ubuntu 10.04でのコンテナ仮想化

Linux - Debian本当は、Ubuntu 10.04でOpenVZする予定でした。
OpenVZ管理ツールをapt-getしたまでは良かったのですが、OpenVZのカーネルが無い。。。 どうやら、10.04には含まれなかったと。。。
次期Debianには入るとの事なのですが、Ubuntuをインストールしてしまった今となっては気づくのが遅かった。
Ubuntu 10.04では、管理ツールがapt-getで入ってしまったので騙されてしまった。。。

Kernelを自分で作り直せばいいのだが、今回は開発環境一式入れる気は無く。
標準で使えそうな残りは、LXC(Linux Containers)ですかね。

ぽちっっと、導入は終了。
# apt-get install lxc
lxc-debianでchroot環境作成後、lxc-startしたらcgroupが必要と怒られたので、また後日。。。
Ubuntu 10.04でのコンテナ仮想環境は、用意されているKernelではLXCだけになりそうな予感。
別からdeb持って来ればイイ訳だけども。。。
follow me

gettyを止める

Linux - DebianUbuntu 10.04でgettyを止めようとしたら、inittabが無かった。。。
仕方ないので、こんな方法で止めてみた。

1./etc/default/console-setup
ACTIVE_CONSOLES="/dev/tty[1-6]"
をこんな感じに。
ACTIVE_CONSOLES="/dev/tty[1-2]"
2./etc/init/tty[3-6].confあたりをコメントアウトにして実行されないように。