このブログを検索

ラベル it の投稿を表示しています。 すべての投稿を表示
ラベル it の投稿を表示しています。 すべての投稿を表示

2012-08-06

12.04でpt2再インストール(httpサーバー版に変更)

Ubuntuを12.04にした関係でpt2周りがおかしくなったのを機に
最新版を入れなおしてみました。
また、今までとは違う派生パッケージを入れてみました。
今まではhttp://hg.honeyplanet.jp/pt1/の新本家を使っていたのですが
httpサーバーとしてリアルタイム視聴もできるhttpサーバー版を採用。
(例によってpt2周りはシミュレーションだったりb-casなしだったりの情報とします)

まずは既に入っていて邪魔しそうなものをアンインストール
arib25(方法が正しいかは不明)
$ sudo updatedb
$ locate arib25
にて表示されるarib25関連ファイルを削除する

pt1のdriver
$ rmmod /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko

Ubuntu10.10以降の場合、求めているchardev版ではなくdvb版のドライバがロードされてしまうらしいので
$ sudo vi /etc/modprobe.d/blacklist.conf
最後の行に
blacklist earth-pt1
を追記する

必要なパッケージを入手
$ sudo aptitude install build-essential

arib25同梱のパッケージをダウンロード
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip

http://www.mediafire.com/2sen
から
up0319.zip (recpt1のhttpサーバー版RC4
up0307.zip (recpt1パッチ
up0340.zip (recpt1パッチ
をダウンロード

http://baalzephon.dyndns.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2FPT2
からpt1_pci.c.tgz(パッチ適用済)をダウンロード (recpt1パッチ

http://d.hatena.ne.jp/katauna/20111225/1324810159
からrecpt1_epg_slim.tar.gzをダウンロード (recpt1パッチ

Ubuntu12.04標準パッケージだとpt2が動かないため古いパッケージを入れなおす
$ sudo aptitude install pcscd=1.5.5-3ubuntu2.1 libpcsclite1=1.5.5-3ubuntu2.1 libccid=1.3.11-1 pcsc-tools=1.4.16-1 libpcsclite-dev=1.5.5-3ubuntu2.1

古いパッケージを固定する
$ sudo aptitude install wajig
$ sudo wajig pcscd libpcsclite1 libccid pcsc-tools libpcsclite-dev

arib25インストール
$ cd
$ unzip pt1-c44e16dbb0e2.zip
$ cd pt1-c44e16dbb0e2/arib25
$ make
$ sudo make install

pt1driverインストール
$ cd
$ unzip up0319.zip
$ tar xvfz pt1_pci.c.tgz
$ cp pt1_pci.c ./pt1-http-rc4_fix/driver/.
$ cd pt1-http-rc4_fix/driver
$ make
$ sudo make install
$ sudo modprobe pt1_drv
一旦電源OFF→再起動した方が良いという説も

recpt1インストール
$ cd
$ unzip up0307.zip
$ cd pt1-http-rc4_fix/
$ patch -p1 < ../pt1-http-rc4-fix-pmt-scan.diff

$ cd
$ unzip up0340.zip
$ cd pt1-http-rc4_fix/recpt1/
$ patch -p0 < ../../patch/bs.patch

$ cd
$ tar xvzf recpt1_epg_slim.tar.gz
$ cd pt1-http-rc4_fix/recpt1/
$ patch -p0 < ../../recpt1_epg_slim/recpt1_epg_slim.patch

$ cd
$ cd pt1-http-rc4_fix/recpt1/
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

動作確認
$ recpt1 --b25 --strip --sid hd 25 30 test.ts
ここで--b25と--stripがunrecognizedと出る場合はarib25のインストールがうまくいっていない

httpサーバーとして動作させる場合は
$ recpt1 --b25 --strip --http 8888
とする。実際にデーモン起動の場合は
$ recpt1 --b25 --strip --http 8888 > /dev/null 2>&1
とする。
※チャンネルは受信側で指定する

epgrec動作確認
$ OUTPUT=test.ts CHANNEL=25 DURATION=30 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh
$ /var/www/epgrec/getepg.php

最後にhttpサーバーからの受信を行う

クライアントにはTVTestを用いる
http://tvtest.zzl.org/から最新版を入手。特に理由がなければx86版でいいらしい。

プラグインが必要で
http://www.mediafire.com/2senからup303(BonDriver_HTTP.dll)を入手。
TVTest.exeと同じフォルダに入れる。
BonDriver_HTTP.iniにチャンネル設定を行う
中身を見れば設定方法はだいたいわかる。
pathのallは帯域が厳しければhdにすると少しはマシになるかもしれない。

TVTest.exeを実行
初期設定では
ドライバ:BonDriver_HTTP.dll

これで受信ができるはず。
なお、vlcなどの通常のストリームクライアントから受信する場合は、
URLとして
http://ホスト名orIP:8888/チャンネル/SID
例:
http://192.168.1.123:8888/25/all
で受信可能。
all, hd, sd1, sd2, sd3, 1segなどが使用できるらしい。


参考:
http://kopemon.wordpress.com/2010/12/24/recpt1-http%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%89%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
http://www.castanet.homeip.net/~tos/wiki/index.php?FreeBSD%A4%C7%C3%CF%A5%C7%A5%B8%A5%D3%A5%C7%A5%AA%A5%B5%A1%BC%A5%D0
http://webcache.googleusercontent.com/search?q=cache:eG_WdU3uJ6IJ:asakaryo777.blog39.fc2.com/blog-entry-192.html+&cd=3&hl=ja&ct=clnk&gl=jp


【送料無料】Ubuntu Magazine Japan(vol.05)
【送料無料】Ubuntu Magazine Japan(vol.05)
価格:1,155円(税込、送料別)
Ubuntu上級活用マニュアル/阿久津良和
Ubuntu上級活用マニュアル/阿久津良和
価格:3,129円(税込、送料別)

Ubuntu10.04 -> 12.04(2/2)

12.04へのアップグレードについて、part1の状態でいくつか問題がありました。
・ubuntu起動スプラッシュが10.04のまま
・結構な数のパッケージが依存エラー
・(b-casなしで試しに入れてる)pt2やmysqlなんかが動かない

試行錯誤の結果なんとか復旧した模様ではあるのですが、直接の原因は不明。
個人的な感触としては原因は
「12.04へのアップグレード時にmediaubuntuの最新パッケージリポジトリが参照できなくて依存関係が破壊された」です。

というわけで、この段階で同様のエラーが起きている人は今後のアクション方針を定めた方が良いです。
1.このブログを無視する
2.「今思えばこうすればよかったかも」を実施
3.このブログ通りに試行錯誤する
4.アップグレードを諦めてバックアップをリカバリする

2.「今思えばこうすればよかったかも」について
エラーが起きる前に対策できれば良さそうですがよくわからない。しかしきっとこれが原因。
エラーが起こって再起動した後、、、mediabuntuの最新リポジトリを登録する。
$ sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list
http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list
$ sudo aptitude update
$ sudo aptitude install medibuntu-keyring
$ sudo aptitude update
$ sudo aptitude upgrade

これをしておけばエラー解決も早い・・・はず

以降、試行錯誤の記録。

12.04アップグレード後、pt2を実行してみたところ。。。
$ recpt1 --b25 --strip 22 30 test.ts
using B25...
enable B25 strip
pid = 12319
Cannot tune to the specified channel
エラーが出ることに気づく。

さらに、
$ sudo apt-get install -s
としてみたところ
以下の問題を解決するために 'apt-get -f install' を実行する必要があるかもしれません:
以下のパッケージには満たせない依存関係があります:
gnome-keyring: 依存: libgtk-3-0 (>= 3.0.0) しかし、インストールされようとしていません
依存: libcap2-bin しかし、インストールされようとしていません
libgcr-3-1: 依存: libgtk-3-0 (>= 3.1.4) しかし、インストールされようとしていません
依存: libgcr-3-common しかし、インストールされようとしていません
libgnome-keyring0: 依存: libgnome-keyring-common (= 3.2.2-2) しかし、インストールされようとしていません
libgtk2.0-0: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libx11-dev: 依存: libx11-6 (= 2:1.4.99.1-0ubuntu2) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
推奨: libx11-doc しかし、インストールされようとしていません
libxcomposite1: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxdamage1: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxext6: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxfixes3: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxi6: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxinerama1: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
libxrender1: 依存: libx11-6 (>= 2:1.4.99.1) しかし、2:1.3.2-1ubuntu3 はインストールされようとしています
python-gconf: 依存: python2.7 しかし、インストールされようとしていません
依存: python (>= 2.7) しかし、2.6.5-0ubuntu1 はインストールされようとしています
依存: python-gobject-2 (>= 2.17.0) しかし、インストールされようとしていません
python-gi: 依存: python2.7 しかし、インストールされようとしていません
依存: python (>= 2.7.1-0ubuntu2) しかし、2.6.5-0ubuntu1 はインストールされようとしています
python-gnome2: 依存: python2.7 しかし、インストールされようとしていません
依存: python (>= 2.7.1-0ubuntu2) しかし、2.6.5-0ubuntu1 はインストールされようとしています
依存: python-gobject-2 (>= 2.17.0) しかし、インストールされようとしていません
python-gobject: 依存: python-gobject-2 しかし、インストールされようとしていません
python-gtk2: 依存: python2.7 しかし、インストールされようとしていません
依存: python (>= 2.7.1-0ubuntu2) しかし、2.6.5-0ubuntu1 はインストールされようとしています
依存: python-gobject-2 (>= 2.21.3) しかし、インストールされようとしていません
python-gtksourceview2: 依存: python2.7 しかし、インストールされようとしていません
依存: python (>= 2.7) しかし、2.6.5-0ubuntu1 はインストールされようとしています
E: 未解決の依存関係です。'apt-get -f install' を実行してみてください (または解法を明示してください)。

と大量にエラーが。
初めてのエラーだったのでよくわからず、大量にパッケージを削除してみたり強制インストールしてみたりしたがどうにもならず。(というかかなりコアなパッケージまで削除しはじめることになり途中で断念)
他にも古いバージョン指定でインストールとかも試みたけど無理。
最終的にはうまくいき、結局何がよかったのかは不明だけど、次の3つが重要だったと思う。

$ sudo aptitude safe-upgrade
これで12.04になりきれていないパッケージをアップグレードしていく。
スプラッシュもこれで更新された。

確かaptitudeだったと思うが以下のエラーメッセージがでたのでそのディレクトリを手動で削除しておいた。
rmdir: `/var/lib/defoma/fontconfig.d/' を削除できません: ディレクトリは空ではありません

以下のエラーメッセージがapt-getやaptitudeの度に出ていた
E: 'python2.7-minimal' の即時設定は動作しません。詳細については man 5 apt.conf の APT::Immediate-Configure の項を参照してください。(2)
何とかするために
$ sudo aptitude safe-upgrade -o APT::Immediate-Configure=0
というコマンドを実行することで解消できた。

この3つをやってからはとんとん拍子に依存関係が回復していった。


上記にてまずは12.04へのアップグレードが完了し、次にpt2周りを復旧させた。

$ sudo aptitude install libccid pcsc-tools libpcsclite-dev
などをしていると
SCardEstablishContext: Service not available.
というエラーメッセージが出てしまった。
これは
$ sudo aptitude install pcscd
にて復旧した。

次にpcsc_scanをしたがWaitingから進まなくなっていた
$ pcsc_scan
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.7.4
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...
USBとしては認識はしているのに・・・
$ lsusb

Bus 003 Device 002: ID 04e6:511a SCM Microsystems, Inc.

これはどうやら最新パッケージを使用しているとだめらしく、古いパッケージをインストールすることで対処した。

$ sudo aptitude install pcscd=1.5.5-3ubuntu2.1 libpcsclite1=1.5.5-3ubuntu2.1 libccid=1.3.11-1 pcsc-tools=1.4.16-1

うちのSCR3310-NTTComの場合、ランプが点滅したら成功らしい。確かに点灯していたのが点滅に変わった。

参考:
http://aqua-linux.blog.so-net.ne.jp/2012-03-25
http://desktoplinuxhowto.blogspot.jp/2012/04/ubuntu-1204-lts-pt21110.html


次に、どうやらarib25がうまく動かなくなっていたようなので入れなおした。
アンインストール方法がわからなかったので無理矢理削除
$ sudo updatedb
$ locate arib25
これで表示されたarib25関係らしきものをすべて削除

次に、recpt1を再ビルドしたらエラーメッセージが出た
decoder.h:26:5: エラー: 不明な型名 ‘uint8_t’ です
これも古いパッケージをインストールすることで対処した。
$ sudo aptitude install libpcsclite-dev=1.5.5-3ubuntu2.1

次に、mysqlがいつものエラーを出して動かなくなっていた
$ sudo service mysql stop
stop: Unknown instance:
$ sudo service mysql start
start: Job failed to start
以前の対処(http://xelalko.blogspot.jp/2011/09/mysql.html)を試みるも復旧せず。
これはどうやら最新mysqlでは設定項目が変わったみたいで、古い設定項目があるせいで動かなかったらしい。(ログを見ればすぐに分かったかもしれない)

$ sudo vi /etc/mysql/my.conf
[mysqld]セクションのdefault-character-setをcharacter-set-serverに名前変更する。
さらにこれらは最近は使わないほうがいいらしい
skip-character-set-client-handshake
init-connect = SET NAMES utf8
またこれはどうやら初期値っぽいのであえて設定する必要はないらしい
collation-server = utf8_general_ci
さいごに
$ sudo /etc/init.d/mysql restart


次に、apache2周りでエラメッセージが出ていた
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
これはどうやらapache.confにサーバー名を書いていないことが問題らしく
$ sudo vi /etc/apache2/apache.conf
ServerName ホスト名:ポート番号
と記載して
$ sudo /etc/init.d/apache2 restart


こんな感じで12.04へのアップグレードが完了した。
その後は特に問題は出ていない。大変なアップグレード作業であった・・・。


【送料無料】Ubuntu Magazine Japan(vol.05)
【送料無料】Ubuntu Magazine Japan(vol.05)
価格:1,155円(税込、送料別)
Ubuntu上級活用マニュアル/阿久津良和
Ubuntu上級活用マニュアル/阿久津良和
価格:3,129円(税込、送料別)

Ubuntu10.04 -> 12.04(1/2)

現在私はUbuntu10.04(LTS)を入れているのですが
同じくLTSである12.04がリリースされています。
時間があったのでアップグレードしてみました。

結論としては
・エラーが出たがアップグレード自体は成功したっぽい
・pt2が動かなくなったけどなんとか復旧
です。
恐らくエラーが出たのはpt2やmediabomb周りのパッケージからだと思います。
とりあえずはアップグレード手順を記録します。
これまで9から10へアップグレードもしているし他のサイトを参考にしているので手順に間違いは無いと思うのですが、エラーが出ているのであくまで参考程度にした方が良いと思われます。
もし同じくエラーが出ている場合はpart2の記事も併せてどうぞ。

基本的には以前の9.10->10.04と同じです。

メモ帳: Ubuntu9.10 -> 10.04.1

まずは現バージョンを確認
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.4 LTS
Release: 10.04
Codename: lucid
以前は10.04.1でしたがいつの間にか上がっていたようです。

リリースを上げる前にパッケージを最新に上げます。
$ sudo apt-get update
$ sudo apt-get upgrade

保留されたパッケージのうち、削除されるものがないか確認
$ apt-get -s dist-upgrade

保留をインストール
$ sudo apt-get -u dist-upgrade

念の為再度アップグレード
$ sudo apt-get update
$ sudo apt-get upgrade

アップデータのインストール
$ sudo apt-get install update-manager-core
これは前回入れたので既にあった

今回はLTSである12.04を入れたいので
/etc/update-manager-release-upgrades
の中が
Prompt=lts
になっていることを確認、もしnormalになっていたならltsに変更する

ようやくアップグレード開始
sshよりはコンソールの方が推奨されているのでそうする。
私は最初sshでやってたらsshアプリケーションの問題か、
選択肢をカーソルで選ぶ画面で先に進めなくなってしまってやり直した。
$ sudo do-release-upgrade --devel-release
LTSからは通常リリースを更新できないらしいので--devel-releaseオプションを付ける

いつものようにsambaやmysqlのconfigファイルが競合するので解決する

競合が発生したファイル
/etc/sysctl.conf
/etc/mysql/my.conf
/etc/samba/smb.conf
/etc/apparmor.d/usr.sbin.mysqld
競合があった場合は[Z]でシェルに戻れる
なのでバックアップをとって新規ファイルをとりあえずインストールした。
そしてあとで差分を比較して修正した。


途中でA fatal errorが発生した
Errors were encountered while processing:
fontconfig-config
libfontconfig1
Error in function:
らしい
どうしようもないので[C]でキャンセルした。

何度か質問に答えながらようやく完了メッセージ
The upgrade has completed but there were errors during the upgrade process.
で完了した。

で、エラーをどないせいと・・・今回は無かったことにします。



結果確認
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
ちゃんとアップグレードできました
今度のcodenameはpreciseというみたいです

先程競合が発生したファイルを確認してみたところ・・・

/etc/sysctl.conf
=>以前入れたiptablesのスクリプトで自動追記されるものっぽいので新規confを採用
/etc/mysq./my.conf
=>日本語設定がなくなったのでそこだけマージ
/etc/samba/smb.conf
=>特に新変数があるわけでもないので旧confを採用
/etc/apparmor.d/usr.sbin.mysqld
=>mysqlのディレクトリを移動した際の変更がなくなったのでそこだけマージ


ここで一旦リブートする
$ sudo shutdown -r now

再起動中、
なぜかスプラッシュのバージョンが10.04・・・

最後に/etc/sysctl.confをリフレッシュするために以前作ったiptablesスクリプトを実行する
cd /home/root/iptables_register/
sudo iptables.sh
数分後に処理完了

$ more /etc/sysctl.conf
にて末尾に
net.ipv4.tcp_syncookies=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.eth0.accept_redirects=0
net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.eth0.accept_source_route=0
net.ipv4.conf.lo.accept_source_route=0
がつけばOK



参考:
https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/ja/UbuntuServer https://wiki.ubuntulinux.jp/UbuntuTips/Install/UpgradeLucid
http://webcache.googleusercontent.com/search?q=cache:Fa4WYXcr1kIJ:d.hatena.ne.jp/takuya_1st/20090527/1243391239+&cd=6&hl=ja&ct=clnk&gl=jp

続く
【送料無料】Ubuntu Magazine Japan(vol.05)

【送料無料】Ubuntu Magazine Japan(vol.05)
価格:1,155円(税込、送料別)

Ubuntu上級活用マニュアル/阿久津良和

Ubuntu上級活用マニュアル/阿久津良和
価格:3,129円(税込、送料別)

sambaにゴミ箱機能をつける

sambaにゴミ箱機能をつけます。

sambaでゴミ箱を有効にする
$ sudo vim /etc/samba/smb.conf

[global]セクションに以下を追記
# recycle
vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:maxsize = 0
recycle:exclude = *.tmp *.temp *.o *.obj ~$* *.~??
recycle:exclude_dir = /tmp|/cache
#recycle:noversions = *.doc *.xls *.ppt

repositoryはゴミ箱名
versionsは同名ファイルを別名保存するか
excludeはゴミ箱除外ファイル名
exclude_dirはゴミ箱除外ディレクトリ名
noversionsは別名保存除外ファイル名
共有ディレクトリ別に設定も可能

$ testparm $ sudo /etc/init.d/smbd restart

これで共有ディレクトリ上でファイルを削除すると
共有ディレクトリ直下に.recycleディレクトリが作成され、そこに削除ファイルが移動します。


次にゴミ箱を定期的にクリアします。

$ sudo aptitude install tmpreaper

$ sudo vi /etc/tmpreaper.conf

デフォルトだとcronスクリプトが警告を出して止まるためSHOWWARNINGをコメントアウトする
TMPREAPER_TIMEをコメント解除し、ゴミの生存期間を指定する。
TMPREAPER_DIRSにゴミ箱を追加する
例:TMPREAPER_DIRS='/tmp/. /home/user/.recycle/.'

設定してみた結果は後日報告
cronでlocateが実行される際にアクセス時間が変更されて何時まで経っても削除されないという話題があったがとりあえずは対処しないで確認してみようと思う。

参考:
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/734recycle3.html
http://landisk.kororo.jp/diary/19_tmpreaper.php


2012-08-05

Chromeのsshクライアント secure shell を入れる

Google Chromeのエクステンションとしてsshクライアントが存在するようなので入れてみた。
secure shell

実行方法はChromeのトップページにあるアプリケーション一覧からもしくは、アドレスバーに"secure shell"と打ち込むとよいみたい。
接続先入力には"username@hostname:22"と入力する。

ブックマークを作ればセッションを保存できるらしい。便利。
たぶんだけど日本語入力ONにしてるとパスワード入力に失敗するので注意。

Minttyとsecure shellのどちらを使い続けるかは今後比較していこうと思う。


【送料無料】Google Chrome OS [ 小池良次 ]

【送料無料】Google Chrome OS [ 小池良次 ]
価格:2,520円(税込、送料別)

Minttyを入れてみる

今までターミナルエミュレータとしてPoderosaを使ってきたが
Poderosaの問題かはともかくUbuntuの操作中に先に進めないことがある。
具体的には、パッケージのアップデートの際にapacheとかだとconfigファイルのマージ確認画面がでるが、そこから先に進めなくなる。上下キーは反応するがエンターキーがきかない。。。
というわけで他のターミナルエミュレータを試してみた。
teratermやPuttyを使ったことがあるけどいまいち気に入るものでもなかったので他のを探してみた。
他のだとMinttyというのが有名だったのでコレを試してみようと思う。

Cygwin版とMSYS版があるようで、今回はMSYS版を入れてみた。

まずはMSYSの導入。
不勉強で申し訳ないが、MinGWというシステムと一緒に入れることになるらしい。
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
ここから最新のインストーラを導入する。

実行して適当に進めていく
"Use pre-packaged repository catalogues"(デフォルト)
"Download latest repository catalogues"
の選択肢では今回はデフォルトのUse・・・を選択。Download・・・は恐らくMinGW内部で使用する何かのリストを更新するものだと思われるが、よくわからないのでデフォルトを選択した。(Ubuntuのapt-get updateみたいなもの?

インストールモジュールの選択画面では、"MSYS Basic System"を追加でチェック。(よくわからないが念の為)

インストール完了後、環境変数を設定する。
これがMinttyの設定ファイルの場所になる。
今回はユーザー環境変数とした。(再ログインで有効になる
HOME = フォルダパス

次にMinGWの更新とMinttyインストールをする。
スタートメニューからMinGW→MinGW Shellを実行。

$ mingw-get update
$ mingw-get upgrade
$ mingw-get install msys-mintty
$ mingw-get install msys-openssh msys-openssl$ exit

なぜかコピペができなかったので頑張って手打。

Minttyの起動のためのショートカットを作成する。
C:\MinGW\msys\1.0\bin\mintty.exe /bin/bash --login -i


ショートカットからMinttyを起動する。
うちの環境だとUbuntu側がUTF8でそのままだと文字化けするので
画面を右クリック→Options→Text→Character setをUTF-8に変更。

sshでUbuntuに接続。
$ ssh -l ユーザー名 ホスト名



参考:
http://dogmap.jp/2011/11/15/mintty/


【送料無料】Google Chrome OS [ 小池良次 ]

【送料無料】Google Chrome OS [ 小池良次 ]
価格:2,520円(税込、送料別)

2012-07-31

dropboxの容量をボーナスで21.875gbまで増やす

Dropboxというファイル共有サービスがあります。
無料アカウントで容量2gbついてくるのですがこれは無料のままいくらか増やせます。

この記事では無料で容量を増やす方法をメモします。

容量を増やす(ボーナス記憶領域の取得)方法は3つ
・チュートリアル 250mb
・外部サービス連携 625mb
・招待 16gb
・カメラアップロード 3gb
以上でもとの2gbをあわせて計21.875gbまで増やせます。
※招待は以前は8gbでした
※カメラアップロードは以前は5gbでした


以降、招待とカメラアップロードについて。



招待

別のユーザーを招待すると1ユーザーあたり500mbのボーナスが追加されます。
これは32回まで追加され、計16gbまで追加できます。
単純に考えるとプロキシ通したりして一人でウハウハできそうな気がするのですが、
なかなか強めのユニーク認証があり、そう単純でもありません。
IP・MACアドレス・メールアドレスなどによって認証されています。

招待を一人でやる方法は以下の通り。
要点としてはMACアドレスを変更して認証をパスします。MACアドレスは通常変更ができないため、変更が簡単なVMを使用します。
メインアカウントの接続履歴を汚さないように、Windows側ではダミーアカウントにアクセスしない、(プロキシを通した)VM側ではメインアカウントにアクセスしない、などの注意を推奨します。

【準備】
Dropboxの招待リンクを取得する。
https://www.dropbox.com/referrals
・プロキシを準備する。
CyberSyndromeのSpeed Ranking辺りから探す
使えないものも多いので色々試す必要あり
・VMware Playerをインストールする。
・Ubuntu Desktopの仮想環境を使えるようにする。
http://www.ubuntulinux.jp/あたりからインストールイメージをダウンロードしてくるか、
ここから仮想環境をダウンロードかな?↓
https://solutionexchange.vmware.com/store/category_groups/19/search?utf8=%E2%9C%93&search[q]=Ubuntu+Desktop&search[logo_ready]=0


【手順】
1. フリーメール取得
SuperMailerなど
2. UbuntuVMのvmxファイルを開いてuuid.biosの末尾を変更する(+1するとわかりやすい)
VMではuuid.bios値がMACアドレスに関係する
3. UbuntuVM起動
4. Ubuntuブラウザ(FF)でDropbox招待リンクを開いてフリーメールでアカウントを作る
5. コンソール(アクセサリ→端末)からDropboxインストール
sudo apt-get install nautilus-dropbox -y
6. Dropboxクライアント起動
dropbox start -i
7. Dropboxクライアントに作成したアカウント情報を入力する
8. Windows側でメインアカウントの招待ステータスが完了になっていることを確認
9. コンソールからDropboxアンインストール
dropbox stop
rm -rf ~/.dropbox ~/Dropbox
sudo apt-get remove nautilus-dropbox -y
sudo apt-get remove dropbox -y
10. UbuntuブラウザからダミーのDropboxアカウントを削除する
11. Ubuntu終了
12. 1に戻る

※自分はメールアカウントは独自ドメインのメール転送機能を使ったためメール周りの手順未確認

ちなみにこのとき、招待相手のメールアドレスのドメインが.eduであれば、以前は通常の2倍のボーナスが得られました。現在はわかりませんが、知り合いに.eduのメールアドレスを持つ友人がいれば招待受けてもらうと良いかもしれません。

とりあえず手順を見ていただけるとわかるように、ひじょーーーーーーに面倒です。
一回一回の手順はそれほど時間を要さないのですが、これを32回繰り返す間に何度挫折しかけたかわかりません。できれば一日集中してちゃっちゃと終わらせることをおすすめします。



カメラアップロード

beta機能であるカメラアップロード機能を使えば、初回使用時に500mb、以降500mbアップロード毎にボーナスが500mb追加されます。これらで計3gbのボーナスが得られます。

カメラアップロード機能というのは、iPhoneやデジカメをWindowsに挿した時の自動再生時に発動する機能で、自動で画像動画データをDropboxにアップロードする機能です。
Windowsを前提に書いていますがもしかしたらLinuxでもできるかも。

【準備】
・デジカメかiPhoneなどの端末
・Windowsの自動再生が動作するようにする
※設定変更ツールなどで使用しない設定になっていたら戻す

【手順】
1. Dropboxのβ版をインストールする。
http://forums.dropbox.com/topic.php?id=64819&replies=84
もしかしたらもう通常ビルドにもカメラアップロード機能入っているかもしれない
2. 端末に画像動画ファイルを入れる。この時、DCIMフォルダ以下に入れないといけないかもしれない。
自分はDCIMフォルダ内のサブフォルダで動作確認
↓のサイトにダミーデータがあるので使うと楽
http://hitoriblog.com/?p=6423
3. エクスプローラからデバイスを右クリックして自動再生をクリックしDropboxを選択
Dropboxの画面が表示されるのでインポートを選択する
4. インポート完了後、Dropboxの管理フォルダには同期待ち(Refreshマークみたいなアイコンがついた状態)のファイルがあるので削除する
そのままアップロードを待ってもいいけど削除してしまっても完了とみなされる
もしアップロードが完了していたらチェックマークがつく
5. アカウントのボーナス記憶領域画面などで容量が追加されたことを確認する。
初回使用時の500mbと以降の500mbは合算されて3GBと表示されます。

Dropboxのアカウント登録はこちら



(2012/7/31追記)
外部サービス連携による625mbを追加



【送料無料】Dropboxハンドブック [ 田口和裕 ]
【送料無料】Dropboxハンドブック [ 田口和裕 ]
価格:1,260円(税込、送料別)



2012-07-25

Windowsのランチャーアプリについて

ObjectDock
MAC風ドック、とても使いやすいし見た目も良い。
dockletを入れているからかよく固まる。他にはそんなレビューがないので普通の人はいいかも。
フォルダーをアイコンとして登録できるdocklet [Stacks docklet]

あとは使ってないけど良さそうなドックアプリ

Y'z Dock
RK Launcher
WinStep Nexus Dock
RocketDock
XWindows Dock 5.6
XWindows Dock 2.0.x (5.6より新しく、機能が少なくて安定しているらしい)

SliderDock
Circle Dock

番外編でコマンドラインタイプのランチャーアプリも。
bluewind
Windowsなどにある「プログラムとファイルの検索」を使いやすくしたようなアプリ
Win7になってからは標準機能がほぼ追随してきたけど
それでもまだbluewindの方が優っている
なんだかんだで一番アクセスが速い
起動するものに応じてビジュアルなランチャーと組み合わせると良いかもしれない
但し開発が停止していてWin7には正式対応していない。
Win7での不具合に対応する方法


<手順>
・bluewindが起動していたら終了させる(大事)

・C:\Program Files (x86)\bluewind のbluewind.exe を右クリック
プロパティ→「互換性」タブ で、「互換モードでこの・・・」にチェック
「管理者としてこのプログラムを実行する」にもチェック

・C:\Program Files (x86)\bluewind\Users\ユーザー名\bluewind.ini を
テキストエディタで開いて以下で設定して、保存してから閉じる

Call_key=32
Call_Mod=2
Call_S=Ctrl+Space

これを
C:\Program Files (x86)\bluewind\Users\All Users\bluewind.ini
でも同じようにやっておく
※すべてのユーザーで使用するにした場合の話

参考:http://blog.kushii.net/archives/1163470.html


2012-03-03

Netwalkerのバックアップ

参考:http://webos-goodies.jp/archives/system_wide_backup_tool_for_netwalker.html

バックアップ概要
・ホットバックアップではなくシステムを止めてからのバックアップ
・リカバリディスクのLinuxを起動してバックアップ
・カーネル用のデバイス (/dev/ubi3) をバイトイメージとして保存。
・ルートファイルシステム (/dev/ubi4) の内容を rsync によりファイル単位で保存

準備
・microsdカード(8gb以上)

※これとは別にリカバリディスク(microsdカード)も用意しておく必要がある

8gbのmicrosdカードを用意する
まずはリカバリディスクを作る
なぜかリカバリツールが動作しなかったが次の手順で動作した
recovery.shをDesktopに置いて
コンソ\ールにて
# sudo su
# cd /home/****/Desktop
# ./recovery.sh &
完了をしばらく待つ
# exit

SDカードを確実にマウントするために
GUIのメニューから場所→ XGBのメディアをクリック

続いてコンソ\ールにて
# cd /media/disk
でリカバリディスクが認識されていることを確認する

再インストールスクリプトを削除
# sudo rm /media/disk/etc/rc2.d/S01upfirm
# sudo rm /media/disk/os.tar.bz2

起動時に自動マウントするスクリプトを作成する
# sudo touch /media/disk/etc/rc2.d/S01mountroot
# sudo vim /media/disk/etc/rc2.d/S01mountroot

#!/bin/sh
/usr/local/bin/ubiattach /dev/ubi_ctrl -m 4
/bin/mount -t ubifs ubi0 /mnt/root

# sudo chmod 755 /media/disk/etc/rc2.d/S01mountroot
# sudo mkdir /media/disk/mnt/root

バックアップ、リストアのスクリプトを作成する
# sudo touch /media/disk/usr/local/bin/backup.sh


#!/bin/bash

if [ -z $1 ]; then
echo \"usage: backup.sh dir\"
exit 1
fi

if ! [ -d $1 ]; then
echo \"$BACKUP_DIR is not exist or not a directory.\"
exit 2
fi

SRC_DIR=/mnt/root
BACKUP_DIR=`dirname $1/a`
KERNEL_DEV=/dev/mtd3
KERNEL_IMG=$BACKUP_DIR/kernel.bin
RSYNC_CMD=rsync
RSYNC_OPTS=\"-aAX --delete --force --numeric-ids --progress\"

nanddump -o -b $KERNEL_DEV -f $KERNEL_IMG
$RSYNC_CMD $RSYNC_OPTS $SRC_DIR $BACKUP_DIR


# sudo touch /media/disk/usr/local/bin/restore.sh


#!/bin/bash

if [ -z $1 ]; then
echo \"usage: backup.sh dir\"
exit 1
fi

if ! [ -d $1 ]; then
echo \"$BACKUP_DIR is not exist or not a directory.\"
exit 2
fi

SRC_DIR=/mnt/root
BACKUP_DIR=`dirname $1/a`
KERNEL_DEV=/dev/mtd3
KERNEL_IMG=$BACKUP_DIR/kernel.bin
RSYNC_CMD=rsync
RSYNC_OPTS=\"-aAX --delete --force --numeric-ids --progress\"

$RSYNC_CMD $RSYNC_OPTS $BACKUP_DIR/root/ $SRC_DIR

flash_eraseall $KERNEL_DEV
nandwrite -p $KERNEL_DEV $KERNEL_IMG
nandverify -o -b $KERNEL_DEV -f $KERNEL_IMG


# sudo chmod 755 /media/disk/usr/local/bin/backup.sh
# sudo chmod 755 /media/disk/usr/local/bin/restore.sh
# sudo mkdir /media/disk/backup
# sudo cp /usr/bin/rsync /media/disk/usr/local/bin

構\築作業は以上で完了


バックアップする手順

Netwalkerをシャットダウン
# sudo shutdown -h now

SDカードからLinuxを起動する
マウス左右のボタンを押しながら電源ボタンを長押し
SHARPロゴが出たら電源ボタンを離す
\"Ubuntu jaunty (development branche) qemu-arm tty1\"
と表\示されたら成功

rootでログイン、パスワードは不要
qemu-arm login:root

バックアップを実行する
# backup.sh /backup

1時間くらいかかった
二回目以降は差分のみとなり速いらしい

終了
# shutdown -h now

今後リストアする際は同様にLinuxを立ち上げてから

# restore.sh /backup

ルートファイルシステムに大きなダメージがあるとリストアできないことがあるらしく。その場合は事前に再インストールしてからリストアを実行するそうです。

素晴らしいスクリプトに感謝!



2012-01-26

tsをmp4に変換する(pt2編)

以前、ts->mp4をwindowsで変換する方法を紹介しましたが、
今回はそれをUbuntuで、しかもpt2で録画したあとそのまま変換する方法です。

例によってpt2絡みはシミュレーションにつき、間違いがあったらすみません。
ffmpegの使い方は大丈夫だと思いますが。


変換の流れはこうです。

1. do-record.sh(epgrec)によってpt2が録画を行う
2. do-record.shがそのままffmpegで録画ファイルを変換する

1.で一旦tsファイルが作成されるので、リアルタイムにmp4に変換できるわけではありません。
今回は圧縮率をあまり考慮せず、とにかくそのままmp4へ変換することを主眼においたのですが、ウチの環境で30分番組が変換に2時間以上ってところでしょうか。

録画と変換が同時に走るとあまりよくないかなと思い、時間はあまりかけない方針です。
高性能なマシンであればもっと画質を上げ、圧縮率もあげられると思います。

参考:

ffmpegをインストール
mp4変換にはffmpegを使います。
これについてはmediatombで書いた記事を参照
http://xelalko.blogspot.com/2011/08/ubuntudlna3.html

ffmpegの設定ファイルを作成
ts->m4の変換に使う設定ファイルを作成します。
もともといくつか用意されてあり、それらが
/usr/share/ffmpeg/* に格納されています。
今回は「時間優先」「サイズは30分1G未満であればとりあえず」ということで
一番画質が悪くて速そうなlibx264-fastfirstpass.ffpresetを使います。
※ libx264-lossless_fast.ffpreset も速そうな感じだからまた試そう

高画質なものならhqや下記サイトを参考
http://d.hatena.ne.jp/munepi/20091227/1261941397


カスタマイズする場合は下記サイトなど、色々検索しないと情報見つからない・・・
http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7ffmpeg%2F%A5%D3%A5%C7%A5%AA%A5%AA%A5%D7%A5%B7%A5%E7%A5%F3
http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7ffmpeg%2F%B9%E2%C5%D9%A4%CA%A5%AA%A5%D7%A5%B7%A5%E7%A5%F3

ts->mp4スクリプトを作成
ffmpegを呼び出して変換を行うスクリプトを作成します。
変換には引数が多いのでほぼ必須。
$ sudo touch /usr/local/bin/ts2mp4.sh
$ sudo vim /usr/local/bin/ts2mp4.sh
$ sudo chmod 755 /usr/local/bin/ts2mp4.sh
中身は次のとおりにする
#!/bin/bash

TS=$1 
FFPRESET=/usr/share/ffmpeg/libx264-fastfirstpass.ffpreset
#FFPRESET=/usr/share/ffmpeg/libx264-hq.ffpreset
#FFPRESET=/usr/share/ffmpeg/libx264-hq-ts.ffpreset
#FFPRESET=/usr/share/ffmpeg/libx264-lossless_fast.ffpreset

#RESIZE=1440x1080
#RESIZE=960x540
#RESIZE=720x480
RESIZE=512x288
ASPECT=16:9
#ASPECT=3:2

FILEDIR=${TS%/*}
FILENAME=${TS##*/}
FILENAMEBODY=${FILENAME%.*}
FILENAMEEXTENTION=${FILENAME##*.}

#BASE=$(basename ${TS} .ts)
#[ "${FILENAMEBODY}.ts" = "${FILENAME}" ] || exit 1

#CPU_CORES=0
CPU_CORES=$(/usr/bin/getconf _NPROCESSORS_ONLN)

X264_HIGH_HDTV="-f mp4 -vcodec libx264 \
    -vpre ${FFPRESET} -flags +ilme+ildct -top -1 \
    -r 30000/1001 -aspect ${ASPECT} -s ${RESIZE} -bufsize 20000k -maxrate 25000k \
    -acodec libfaac -ac 2 -ar 48000 -ab 128k -threads ${CPU_CORES} \
    -cqp 25 -vsync 1"

ffmpeg -y -i $TS ${X264_HIGH_HDTV} ${FILEDIR}/${FILENAMEBODY}.mp4

exit
あんまりよくわかってないのですが、とりあえずこれで使えています。
bashスクリプトのチェック
$ /bin/bash -n ts2mp4.sh
場合によってはUTF8にしたらエラーがなくなったケースもあります

試しに変換してみる
$ ts4mp4.sh ~/test.ts
これで~/test.mp4ができているはず。ちゃんと再生できるかも要チェック。

ffmpeg引数の-sと-aspectについては
http://aquaspread.g.ribbon.to/index.phpの映像サイズ(アスペクト比)という欄の数値を入れればよさそう?
とりあえずKindle Fireでうまく表示できる設定で示します。
Kindle FIreとGOM Playerが同じみたい。
VLCは違うっぽい?VLCの時だけ手動でアスペクト比を調整して下さい。


do-record.shを複数録画モード対応にする
do-record.shをカスタマイズし、通常のTS録画以外に圧縮録画モードを追加します。
今回は更に圧縮&録画フォルダ変更モードも追加します。
※録画一覧からの録画ファイル削除には恐らく対応しません

$ sudo vim /var/www/epgrec/do-record.sh
中身を次のようにする

#!/bin/bash
# $ OUTPUT=test.ts CHANNEL=22 DURATION=30 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh
# define tools
RECORDER=/usr/local/bin/recpt1
B25=/usr/local/bin/b25
TS2MP4=/usr/local/bin/ts2mp4.sh
# echo arguments
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"
# check path
RECDIR=${OUTPUT%/*}
RECNAME=${OUTPUT##*/}
RECNAMEB=${RECNAME%.*}
RECNAMEE=${RECNAME##*.}
# fix directory
if [ "${RECDIR}" = "${RECNAME}" ]; then
    RECDIR=`pwd`
    OUTPUT=${RECDIR}/${RECNAME}
fi
# set recording directory of each mode
OUTPUTDIR0=${RECDIR}
OUTPUTDIR1=${RECDIR}
OUTPUTDIR2=/var/www/epgrec/video/mode2
#    case ${TYPE} in
#        BS)
#        ;;
#        GR)
#        ;;
#    esac
## do-record [output]
do-record ()
{
    local output=$1
    $RECORDER --b25 --strip $CHANNEL $DURATION --sid hd "${output}" >/dev/null 2>&1
    return 0
}
## move-file [beforepath] [afterpath]
move-file ()
{
    local beforepath=$1
    local afterpath=$2
    mv "${beforepath}" "${afterpath}"
    echo "${afterpath}"
    return 0
}
## conv-mp4 [ts2path]
conv-mp4(){
    local ts2=$1
    local ts2path=${ts2%/*}
    local ts2name=${ts2##*/}
    local ts2nameb=${ts2name%.*}
    local mp4="${ts2path}/${ts2nameb}.mp4"
    "${TS2MP4}" "${ts2}" >/dev/null 2>&1
#    if [ -s "${mp4}" ]; then
#        rm "${ts2}"
#    else
#        # failed to convert mp4
#    fi
    echo "${mp4}"
    return 0
}
## main
case ${MODE} in
    0)
        $RECORDER --b25 --strip $CHANNEL $DURATION "${OUTPUT}" >/dev/null 2>&1
    ;;
    1)
        do-record "${OUTPUT}"
    ;;
    2)
        do-record "${OUTPUT}"
#        OUTPUT=`move-file "${OUTPUT}" "${OUTPUTDIR1}/${RECNAME}"`
        OUTPUT="${OUTPUTDIR1}/${RECNAME}"
        OUTPUT=`conv-mp4 "${OUTPUT}"`
        ;;
    3)
        do-record "${OUTPUT}"
        OUTPUT=`move-file "${OUTPUT}" "${OUTPUTDIR2}/${RECNAME}"`
        OUTPUT=`conv-mp4 "${OUTPUT}"`
        ;;
esac

MODE=0は今まで通りTS録画(epgrecとして必須)、MODE=1はHDのみ録画、MODE=2はmp4録画、MODE=3はディレクトリ移動した上でmp4録画。
mp4録画モードは変換後にtsを消してもいいけど、今回は残してある。
※ffmpegは本当に毎回変換できるのか心配・・・

試しに動作させてみる

$ mkdir /var/www/epgrec/video/mode2
※パーミッションはvideoと同じにする
$ OUTPUT=test_0.ts CHANNEL=22 DURATION=5 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh
$ OUTPUT=test_1.ts CHANNEL=22 DURATION=5 TUNER=0 MODE=1 TYPE=GR /var/www/epgrec/do-record.sh
$ OUTPUT=test_2.ts CHANNEL=22 DURATION=5 TUNER=0 MODE=2 TYPE=GR /var/www/epgrec/do-record.sh
$ OUTPUT=test_2.ts CHANNEL=22 DURATION=5 TUNER=0 MODE=3 TYPE=GR /var/www/epgrec/do-record.sh

これで3つのtsと2つのmp4が作成されるはず。


epgrecのモードを増やす
$ sudo vim /var/www/epgrec/config.php
$RECORD_MODE = array(
というところを次のようにする

$RECORD_MODE = array(
        // ※ 0は必須で、変更不可です。
0 => array(
        'name' => 'Full TS',
        'suffix' => '.ts',
),
1 => array(
        'name' => 'hd only',
        'suffix' => '.ts',
),
2 => array(
        'name' => 'mode 2',
        'suffix' => '.ts',
),
3 => array(
        'name' => 'mode 3',
        'suffix' => '.ts',
),
);

念の為apache再起動
$ sudo /etc/init.d/apache2 restart

以上で設定完了。
epgrecで選択できるモードが増え、mp4変換ができるようになっているはず。
うまくいかない場合はパーミッションの問題が多いかも。
shの最初を
#!/bin/bash -x
にしてデバッグモードにしてみたり、 >>を使ってログを吐いたりしてみて確認しましょう。


ちなみにいくつかのffpresetをtsファイルを用意して試してみました。
hq-tsは先に紹介したサイトのffpresetです。

元データ 約30分のアニメ.ts 2.72G

解像度720x480
fastpass 変換時間2:30 変換後455M
hq 変換時間4:00 変換後364M
hq-ts 変換時間3:40 変換後282M


解像度512x288
fastpass 変換時間2:10 変換後261M
hq 変換時間2:40 変換後215M
hq-ts 変換時間2:30 変換後165M


画質についてははっきり言って誤差の範囲でした。
サイズでいうと時間15%増しで40%くらい下がるみたいだから場合によってはいいかも。
とりあえずはfastpassでhq-tsも視野にってかんじで。

問題は、mp4変換中に他番組の録画が来たら負荷がすごそうだということ。場合によっては3,4番組のmp4変換が重なるかも。他の人だと順に処理するような仕組み作ってる人もいるので、後日取り入れてみるかな・・・。

(2012/1/29追記)
do-record.shやconfig.phpについて、mode=0でsidフラグを指定してはいけないらしいので修正。
番組情報が取得できなくなっていた。。。

2012-01-22

Downloadhelper をひまわり動画に対応させる

FirefoxのAddinである Downloadhelper ですが、
今まで「ひまわり動画」というサイトでスマートネーミング機能が働いていたのに、
Firefoxを1から再インストールしたら動作しなくなってしまいました。
なんとか復旧できたのでメモしておきます。

ちなみに現在のDownloadhelperのバージョンは4.9.8です。

下記設定ファイルをテキストエディタで開きます。
C:\Users\music\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\dh-smart-names.rdf
※バックアップしておいたほうがいいでしょう

まずはhimado.inに関する情報を探します。
全部で4箇所ありました。 場所は都度変わっている気配なので行数はメモしていません。

1
    <RDF:li RDF:resource="http://downloadhelper.net/1.0#himado.in/name"/>

2
    <RDF:li RDF:resource="http://downloadhelper.net/1.0#himado.in/descr"/>

3
  <RDF:Seq RDF:about="http://downloadhelper.net/1.0#himado.in/name">
  </RDF:Seq>
  <RDF:Description RDF:about="http://downloadhelper.net/1.0#himado.in/name"
                   NS1:domain="himado.in"
                   NS1:mode="name"
                   NS1:xpath="/html[1]/body[1]/div[1]/div[2]/div[1]/h2[1]/text()[1]"
                   NS1:regexp=".*" />

4
   <RDF:Seq RDF:about="http://downloadhelper.net/1.0#himado.in/descr">
  </RDF:Seq>
  <RDF:Description RDF:about="http://downloadhelper.net/1.0#himado.in/descr"
                   NS1:domain="himado.in"
                   NS1:mode="descr"
                   NS1:xpath="/html[1]/body[1]/div[1]/div[2]/div[1]/h2[1]/text()[1]"
                   NS1:regexp=".*" />

このうち3番を下記と入れ替えます。
  <RDF:Seq RDF:about="http://downloadhelper.net/1.0#himado.in/name">
  </RDF:Seq>
  <RDF:Description RDF:about="http://downloadhelper.net/1.0#himado.in/name"
                   NS1:domain="himado.in"
                   NS1:mode="name"
                   NS1:regexp=".*"
                   NS1:xpath="/html/head/title"
                   NS1:local="1"
                   NS1:stat-nkeep="0"
                   NS1:stat-keep="1"
                   NS1:stat-xpfound="7" />
これで念のためFirefoxを再起動してひまわり動画で動画を表示すると自動ファイル名機能が働いていました。良かった。
profileのバックアップから情報を拾ってきただけなので、意味とかはわかっていませんので自己責任でお願いします。

2012-01-21

Western Digital WD20EARSRのInteliPart問題対応


最近知ったけど、今使っているWestern Digital WD20EARSRには
InteliPartという独自機能があって、これは8秒間ディスクアクセスがなかったときに
ヘッダを自動退避させる省電力機能らしい。
実態はよくわかっていないが、一般に省電力機能はHDDにダメージがある。

参考:


まずは現状を把握してみる
$ sudo apt-get update
$ sudo apt-get install smartmontools
$ sudo smartctl -a /dev/sda | grep Load_Cycle_Count

193 Load_Cycle_Count        0x0032   001   001   000    Old_age   Always       -       1031338
この一番右の数値がヘッダの退避回数らしい
このマシンを組んだのがだいたい2010/8/29くらいで、今が2012/1/21。
だいたい1.5年だとして365*1.5=548日、1031338/548で、一日1882回くらいヘッダ退避していることに・・・w

このInteliParkの設定を変更できるツールがWestern Digitalで公開されている。
wdidle3.exeをダウンロードする。
※自己責任で、しかも動作が不安定らしいので要注意

メーカーではもう公開されていないという情報もあり
一応別会社の公開ページも載せておく
※非メーカーサイトなのでより自己責任で

現在WDで公開中が1.05で、後者が1.03だった。

wdidle3は接続されているHDD全てに設定を施すらしい。
設定しないHDDがUbuntu側にあれば外しておいた方がいいかも。
※対応したHDD以外は適用外だったと思うので多分大丈夫だが

次にこのwdidle3.exeをUbuntuに載せているマシンで実行するため
FreeDOSをダウンロードする。
で、このFreeDOSをUSBメモリに入れるためにUNetbootinをWindows上でダウンロードする。
→今回の手順だとUSBメモリが必要

UNetbootin
※Linux用もある

UNetbootinを起動する
ディストリビューションを選択する: FreeDOS 1.0
タイプ: USBドライブ
ドライブ:※USBドライブのドライブ
そしてOK→終了 ※再起動はダメ

このUSBにwdidle3.exeを入れ、Ubuntuマシンに挿してUbuntu再起動
$ sudo shutdown -r now
※USB起動するようにBIOSメニューやブートメニューで調整すること

UNetbooinメニューが表示されるのでDefaultを選択。
次にFreeDOSメニューが表示されるので3. FreeDOS Live CD with HIMEM + EMM386 を選択。
A:/>と表示されたらFreeDOS起動。

USBメモリに入れたwdidle3.exeはBドライブに入っているので
> B:
※英語キーボードになっていた、この場合はshift+;で:になる

まずは現状確認
> wdidle3.exe /r
※フォルダ移動などでチルダが必要な場合はshift+半角
今回は2台のHDDが接続してあり
Model: WDC WD20EARS-00MVWB0
Serial: WD-WMA・・・
Idle3 Time is enabled and set to 8.000 seconds.
という表記が2台分ありました。

次にInteliParkを解除する
> wdidle3.exe /d
Model:・・・
Serial:・・・
Idle3 Time is disabled.
という表記が2台分表示された。

最後に現状確認
> wdidle3.exe /r
Model:・・・
Serial:・・・
Idle3 Time is disabled.
という表記が2台分表示された。
これで良さそう。
USBドライブを抜いて電源ボタンで強制終了→再起動。
※再起動コマンドがわからなかった

Ubuntuに戻り、先ほどのsmartctlコマンドを実行し退避回数を確認。
しばらくしてから再実行して増えないことを確認する。

pt2ドライバのバージョンアップ

(20120808追記)
最新版インストール方法を更新しました
こちら→12.04でpt2再インストール(httpサーバー版に変更)

以前pt2を紹介した時、どうやらかなり古いドライバをインストールする手順だったようです。
バージョンアップする場合の手順をまとめてみました。

参考:
http://baalzephon.dyndns.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2FPT2
http://d.hatena.ne.jp/sona-zip/20110201/p1
http://linux900.blog.fc2.com/blog-entry-32.html

pt2ドライバはもともと改造版(pt1.oyama)というものがあったようですが、
たぶん今は正式側に統合されている・・・?
更に、以前はOoops問題やKernel2.6.36対応がパッチとして公開されていたようですが、
それも統合されている・・・?
というわけで、今回も正式版をターゲットに手順を。

※あくまで想定手順でうまくいかないかもしれないので注意

すでにインストール済みのものを削除
$ rmmod /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko

Ubuntu10.10以降へ上げている場合は(?)
そのままだとchardev版ではなくdvb版のドライバがロードされてしまうらしい
$ sudo vim /etc/modprobe.d/blacklist.conf
最後の行に
blacklist earth-pt1
を追記すればDVB版ドライバはロードされなくなるらしい


最新版ダウンロード
pt1とrecpt1のソースをダウンロードしてくる
$ cd
$ hg clone http://hg.honeyplanet.jp/pt1/ PT2

pt1の導入
$ cd ~/PT2/driver
$ make
$ sudo make install

ドライバロード
$ sudo modprobe pt1_drv

※もしかしたら再起動した方がいいかも?

recpt1の導入
$ cd ~/PT2/recpt1
$ sh autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

動作確認
$ recpt1 --b25 --strip --device /dev/pt1video2 25 30 ~/pt2/ch25.ts

さらに、メインの放送だけを録画する新機能の確認
$ recpt1 --b25 --strip --device /dev/pt1video2 --sid hd 25 30 ~/pt2/ch25.ts

※これでワンセグデータ等を除去できるらしい

あとは/epgrec/do-record.shでrecpt1の呼び出し部分に --sid hd を記入すれば、
普段の録画でも新機能が使えるはず。






2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

2012-01-08

Amazon Kindle For Androidの辞書を英辞郎にする

CM7化したKFではAndroid用Kindleを使っているのですが
ルックアップ辞書に英辞郎が入れられなくて困っていました。
非公式な方法で入れられたので紹介します。

概要としては英辞郎(eijiro131k.mobi)にパッチを当てたものを標準辞書と入れ替えます。

参考:
http://mocobeta.tumblr.com/page/2

1. 英辞郎(eijiro131k.mobi)を購入する
2. http://www22.atwiki.jp/how2kindle/pages/13.htmlの"Ver.131用 eijiro131k2us.exe のダウンロード"からパッチをダウンロードする
3. (2)でダウンロードしたパッチを(1)でダウンロードしたファイルに上書き適用する。わかりやすいようeijiro131k2us.mobiとでもRenameする
4. (念の為)Kindle for Androidで洋書を開き、単語を長タップしてルックアップし、Downloadボタンで辞書をダウンロードする。
5. (念の為)KFをUSBで繋ぎ、"Android/data/com.amazon.kindle/files"を開き、"B003ODIZL6_EBOK.prc"と"B003ODIZL6_EBOK.mbp"を削除する。(念の為.oldつきでRenameにとどめた)
6.  eijiro131k2us.mobiを"Android/data/com.amazon.kindle/files"に入れる
7. (念の為)Kindle for Androidが起動しているなら終了する
8. Kindle for Androidで洋単語を長タップする


以上で日本語辞書が使えるようになりました。
KTと違い熟語辞書が使えないようですが、まぁないよりは全然マシということで。

UbuntuファイルサーバーのRAIDにエラーが・・・

ある日メールがきました

タイトル
Fail event on /dev/md0:XXXX

本文

This is an automatically generated mail message from mdadm
running on XXXX

A Fail event had been detected on md device /dev/md0.

It could be related to component device /dev/sdb4.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb4[2](F) sda4[0]
      1926248384 blocks [2/1] [U_]
      
unused devices: <none>
どういうことだってばよ・・・
状況を確認してみました 
$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Sat Aug 28 15:36:43 2010
     Raid Level : raid1
     Array Size : 1926248384 (1837.01 GiB 1972.48 GB)
  Used Dev Size : 1926248384 (1837.01 GiB 1972.48 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun Jan  8 20:51:23 2012
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : ce836218:f86924b6:5c2ef4e7:4e679ae8 (local to host XXXX)
         Events : 0.13614

    Number   Major   Minor   RaidDevice State
       0       8        4        0      active sync   /dev/sda4
       1       0        0        1      removed

       2       8       20        -      faulty spare   /dev/sdb4

どうやらsbd4の方がダメなようです。
次の休みに調べてみるかなぁ。
どうすればいいんだろう。raidを解除してフォーマットしてみる・・・?

(20120117追記)
マシン再起動したら直ったようで・・・
$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Sat Aug 28 15:36:43 2010
     Raid Level : raid1
     Array Size : 1926248384 (1837.01 GiB 1972.48 GB)
  Used Dev Size : 1926248384 (1837.01 GiB 1972.48 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jan 17 17:14:15 2012
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 7% complete

           UUID : ce836218:f86924b6:5c2ef4e7:4e679ae8 (local to host XXXX)
         Events : 0.36952

    Number   Major   Minor   RaidDevice State
       0       8        4        0      active sync   /dev/sda4
       2       8       20        1      spare rebuilding   /dev/sdb4

Googleデスクトップのサービスが終了していた→インストーラの場所発見

Googleデスクトップ(GDS)、使わないうちにサービスが終了してしまいました。
逆に興味が湧いたのでインストール・・・しようと思ったらダウンロードページもない。
色々調べてどうにかインストールしてみましたよ。

まず、ダウンロードページは死んでいるけどファイル自体はあるみたいです。
Windows
http://dl.google.com/dl/desktop/R/ja/GoogleDesktopSetup.exe
Mac
http://dl.google.com/mac/install/googledesktop.dmg
Linux
http://dl.google.com/linux/rpm/stable/i386/google-desktop-linux-current.rpm
http://dl.google.com/linux/rpm/stable/x86_64/google-desktop-linux-current.rpm
http://dl.google.com/linux/deb/pool/non-free/g/google-desktop-linux/google-desktop-linux_current_i386.deb
http://dl.google.com/linux/deb/pool/non-free/g/google-desktop-linux/google-desktop-linux_current_amd64.deb

SDK
http://dl.google.com/dl/desktop/nv/en/GD_SDK.zip 

で、企業向けにNotesプラグインを同梱するなどした版がこちら
Google企業向けデスクトップ
http://dl.google.com/dl/desktop/R/ja/GoogleDesktopEnterprise.zip
(通常版の情報をもとにファイル名推測でビンゴ!)


プラグインが大量にあったはずなんだけど入手先わかりませんでした。もしかしたらもう手に入らないかもしれません。一部のものは検索すればファイルサーバーに転がっていたりするけど怪しいかも。


全部かはわからないけどあったはずのプラグイン一覧
http://pastebin.com/G0fFxb3A


抜粋
http://desktop.google.com/desktop/plugins/AnalogClock.gg
http://desktop.google.com/desktop/plugins/BatteryMeter.gg
http://desktop.google.com/desktop/plugins/BuddiesInSync.gg
http://desktop.google.com/desktop/plugins/Calculator.gg
http://desktop.google.com/desktop/plugins/ClockCalendar.gg
http://desktop.google.com/desktop/plugins/CricketImagesAndNews.gg
http://desktop.google.com/desktop/plugins/CricketVideos.gg
http://desktop.google.com/desktop/plugins/DigitalAlarmClock.gg
http://desktop.google.com/desktop/plugins/DigitalClock.gg
http://desktop.google.com/desktop/plugins/DocsListGadget.gg
http://desktop.google.com/desktop/plugins/EbayWatcher.gg
http://desktop.google.com/desktop/plugins/ekjyxmas.gg
http://desktop.google.com/desktop/plugins/EnergySaver.gg
http://desktop.google.com/desktop/plugins/FacebookSlideshow.gg
http://desktop.google.com/desktop/plugins/FlowerPot.gg
http://desktop.google.com/desktop/plugins/GDMusic.gg
http://desktop.google.com/desktop/plugins/GlassMediaPlayer.gg
http://desktop.google.com/desktop/plugins/Gmail.gg
http://desktop.google.com/desktop/plugins/GoogleCalendar.gg
http://desktop.google.com/desktop/plugins/GoogleCalendar2.gg
http://desktop.google.com/desktop/plugins/GoogleMediaServer.exe
http://desktop.google.com/desktop/plugins/GoogleReader.gg
http://desktop.google.com/desktop/plugins/googlevideo.gg
http://desktop.google.com/desktop/plugins/KissMe.gg
http://desktop.google.com/desktop/plugins/LoveIsInTheAir.gg
http://desktop.google.com/desktop/plugins/MoonPhase.gg
http://desktop.google.com/desktop/plugins/PhotoFrame.gg
http://desktop.google.com/desktop/plugins/PowerMonitor.gg
http://desktop.google.com/desktop/plugins/TicTacToe.gg
http://desktop.google.com/desktop/plugins/timezone.gg
http://desktop.google.com/desktop/plugins/traffic.gg
http://desktop.google.com/desktop/plugins/trekker.gg
http://desktop.google.com/desktop/plugins/Twitter.gg
http://desktop.google.com/desktop/plugins/WaterCooler.gg
http://desktop.google.com/desktop/plugins/Weather.gg
http://desktop.google.com/desktop/plugins/WeatherGlobe.gg
http://desktop.google.com/desktop/plugins/WikipediaSearch.gg
http://desktop.google.com/desktop/plugins/WirelessMeter.gg
http://desktop.google.com/desktop/plugins/YouTube.gg



実際インストールしてみた感想
・検索が速い
・Windows検索が7になって逆に使いづらくなり殆ど使わなくなったが、これなら使っても良いかも
・最初のインデックス作成が1日くらい放置しないと終わらない
・Windows7だと(?)Firefoxを管理者権限で動かしている関係上、検索しようとするたびに承認求められてうざい
・Thunderbird8,9あたりは少なくとも対応していないっぽい、海外含めて調べたけど3.2以降くらいで使えているという情報がなかった


Thunderbird対応については死活問題だったため色々調べて見ましたがどうにも・・・
・thunderbird/componentsフォルダにGoogleDesktopMozilla.*ファイルを入れるらしいが、入れても反応なし(FirefoxのはOKなのに
・componentsフォルダに関して、thunderbird4以降の情報がネット上になし(古い機能?
・XPCOM?とかいうのをthunderbird9にインストールする方法がわかればなんとかなる?
・3.2くらいからXPCOM?周りの仕様がかわったので古いプラグインは動かない可能性が高い?からダメ?
・ThunderbirdのWindowsサーチ用の機能(wdsemlファイル出力)をGoogleデスクトップに食わせる方向で検討中だがプレビューが文字化ける・・・


今でも手に入るプラグインで使えそうなもの
それぞれインストールしてからしばらくしてから(何か検索などしてから?)インデックス再作成が自動的に始まります
・Any Text File Indexer http://www.trivex.net/
GDS標準ではファイル内インデックスを作らない拡張子のファイルをこれで作る対象にできる
デフォルトでプログラムソースファイル等が追加されます。
・Mp3tag Audio Indexer http://www.mp3tag.de/en/gds.html

mp3ファイルのタグ情報をインデックス化する

というわけで、Googleデスクトップのこれからの使用についてでした。
Thunderbird対応さえできればかなり使いたいな・・・SDKについているサンプル見る限り、比較的簡単にプラグイン作れそうだから作ってみるかな。

 (20120108追記)
Googleデスクトップを使うならWindowsサーチのインデックス作成をやめたい。
というわけで調べてみた。
参考:http://enear555.blog114.fc2.com/blog-entry-84.html
どうやらWindows7には専用のControlpanelがあるみたいで、そこから削除できます。
対象フォルダは各アプリケーションが勝手に追加するのかな?削除してもしばらくすると少し追加されている。
Windowsサーチサービス自体をとめてもいいけど、そうすると検索画面自体が出なくなるらしく、それはそれで不便なのでやめといた。
WindowsXPならインデックス作成サービスが分かれていたのでそちらを止めればいいと思うんだけど。
【送料無料】Googleの正体 [ 牧野武文 ]
【送料無料】Googleの正体 [ 牧野武文 ]
価格:819円(税込、送料別)
【送料無料】Google完全活用術 [ 秋山文野 ]
【送料無料】Google完全活用術 [ 秋山文野 ]
価格:1,029円(税込、送料別)
【送料無料】Google超活用術
【送料無料】Google超活用術
価格:980円(税込、送料別)