このブログを検索

2012-08-10

WinPe-tchめも

・Directは追加組み込みがある
・Miniは最少セット

Direct
・x86/x64両方作れる?
・パーティションツールはインストーラを指定する必要ある
・Offline Defenderはなぜか動かない
・PortableAppsのランチャーは動かないのでOUTPUTディレクトリ以下の本体を起動する必要がある?
・PortableAppsでIronがなぜか動かない
・REを選択するとなぜか起動できない(bitあってなかったかも)
・bootrec.exe入らない?自分で組み込む場合はbitのあったbootrec関連ファイルを組み込む必要あり
windows\system32\bootrec.exe

windows\system32\wer.dll

windows\system32\ja-JP\bootrec.exe.mui

windows\system32\ja-JP\wer.dll.mui
を組み込むようにする





Mini
・x86のみ?
・bootrec.exe入るので最少セットで機能的

HDD複製(HDDが一部壊れた状態で)

状況

元のHDD
HDD1(MBR:1TB)
Partition1 DELLの管理領域
Partition2 RECOVERY領域
Partition3 Cドライブ
Partition4 Dドライブ

どうやらDドライブ領域にエラーがあるようで
あるファイルをコピーしようとするとWindowsがフリーズする。
そのファイルを削除すると、しばらくするとまた別のファイルがフリーズ要素となる。
HDDメーカーであるSeagateの診断ツールで"9BE4E2E3"というエラーが出ている。
Seagateのサイトで自分のHDDの保証状況を確認すると販売元へ問い合わせろとある。
販売元はDELLで延長サポートやらをつけてまだ保証期間内だったのでDELLの診断ツールを使ってみると異常なし。
とりあえずサポート(チャット)に問い合わせてみたところ
「弊社の診断プログラムで異常と出なければ異常ではありません。これ以上のサポートは有償になります。」といった内容の訳の分からないタライ回しにあう。
※大抵の異常に対して「異常なし」と返す診断プログラム作れば儲かりまくり!?

役に立たない。もう二度とDELLでは買わない。と言い残してチャットを去り、
しょうがないのでHDDを購入することにした。
今の機種"DELL Studio XPS 7100"にはHDDをが2つ付けられるみたいなので
CドライブとDドライブを物理的に分けてみることにした。
というわけで、、、

複製先のHDD(予定)
HDD1(MBR:500GB)
Partition1 DELLの管理領域
Partition2 RECOVERY領域
Partition3 Cドライブ

HDD2(MBR:1TB)
Partition1 Dドライブ

こんな感じにしてみる。


まず、もともとのPartition4つは"Acronis True Image Home 2011"を使ってバックアップをとった。
基本的にパーティションのバックアップをとったが、Dドライブだけはエラーがあるようなのでファイル単位でバックアップをとった。
後々バックアップをディスクイメージとしてマウントしたりできるのでとても便利

で、それを復元したいけど、TrueImageの復元機能を使うと、余った領域を全て最後のパーティションの領域に組み込んでしまうみたいなので別のアプリを使ってみた。

"EASEUS Partition Master 9.1.1 Home Edition"というフリーソフトで
パーティションのコピーを含めた操作が色々行える。

なのでまずTrueImageでディスクイメージをマウントしてドライブとして認識させ、
PartitionMasterで複製先のHDD1に
・Partition1 DELLの管理領域
・Partition2 RECOVERY領域
・Partition3 Cドライブ
を複製した。

同様にHDD2に対してDドライブを複製した。

データの複製という意味ではこれで完了だけど、
このままだとパソコンを起動した際にWindowsを認識してくれない。

今回複製したいHDDは"MBR"というフォーマットが使用されているので
それを前提に説明する。このMBRというのは先ほどのPartitionMasterから確認できる。
また、パーティションはすべて基本領域とする。拡張領域だともっと複雑かも。 http://park12.wakwak.com/~eslab/pcmemo/hdisk/hdisk3.html
まず、HDD(MBR)に記録されている情報は、
|MBR|Partition1|Partition2|・・・|
という感じに、先頭に管理情報が記録されている。
ここの中身はWikipediaを見るとわかるけど
ブートマスターレコード
ブートストラップローダというセクションがあり、そこに起動のためのプログラムがインストールされている。
パソコンは最初にHDDのブートストラップローダにアクセスして起動プログラムを実行する仕組みになっている。
パーティションの複製だけではここがうまく設定できていない。

今回試してはいないが、恐らく複製しなくてもWindowsの回復コンソールを使えば起動プログラムをインストールできる。
ちなみにWindows7だとコントロールパネルのバックアップ作成→システム修復ディスクの作成で回復用CDが作成できる。
ただ今回のこのDELLマシンからだと、システム修復ディスクを作成しても、なんと起動できないw
エラーコード 0x4001100200001012 が出てしまう。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1452430939

本来ならWindows7のインストールディスクでもいいらしいが、DELLにはそんなものついてこない。
で、次の候補として、Windows7やServer2008 R2の評価ディスクがある。
これはココからダウンロードできるはずなのだが、なぜかできない。
他にも困っている人がいたのでやり方が悪いわけではなさそう。
http://social.technet.microsoft.com/Forums/ja-JP/w7itprogeneralja/thread/85c8543b-42c1-4da2-ac67-304754da2dc6/

torrent使えば野良リカバリディスクも手に入るっぽいけど怪しくて使えない。
手詰まりか!?っと思ったが、幸い自分は学生であるため、Microsoftのドリームスパークというプログラムに参加していて、そこからWindows Server 2008 R2 64bit 正規品がダウンロードできた。
それを使って今回の問題に対処した。

と、その前に、複製元HDDでbootパーティションがどこにあるのか調べておく必要が有る。
windowsのディスク管理やPartitionMasterでもわかるとは思うが、OEM領域のためか表記が少し違うため、 念の為今回はLinuxから確認した。
ディスク起動できるLinux、Knoppixを使う。
サイトからisoをダウンロードしてきてDVDに焼く。
複製元と複製先のドライブを装着し、Knoppixを起動。
※なぜか画面描画がおかしくてフリーズした感じだったけど触れば動いた
左下の黒いコンソールアイコンをクリックしコンソール起動。
$ parted -l
これで各HDDとそのパーティションがわかる。
どうやら複製元HDDでは、リカバリ領域にbootフラグが立っている。
ここで、複製先HDDではbootフラグがたっていなかったため、複製先HDDを操作する。
$ sudo parted /dev/sdx
※parted -lの結果でxの部分がかわる、複製先を選択
複製元リカバリ領域のパーティション番号を調べ(今回2)
> print
> set 2 boot on
> q

これで複製元と同じパーティションにbootフラグがたった。
Windowsのブートの仕組みはXPまでとVista以降とで異なり、
Windows7では
パソコン起動→MBR領域→bootパーティションの bootmgr ファイル(他にも?)→Windowsパーティション という風に辿っている。
あとはこのbootmgrファイルが正しければ起動するはず。

ためしにこの状態で複製先HDDのみを装着して起動してみたが無理だった
(試行錯誤しすぎてエラー内容不明)

これを修復するには
bootrec.exe、bcdedit.exe、bcdboot.exeが必要だが、
bootrec.exeだけはインストール済みのWindowsには入っておらず、
回復コンソール等でしか使えないコマンドになっている。
そのため、ここで2008R2のディスクを使う。
複製先HDDのみを装着状態で、2008R2のインストールディスクを起動する。
日本語を選択した後、「コンピューターを修復する」を選択。
システムイメージを使うかきかれるので使わない方(上)を選択する。
するとコマンドプロンプトを起動できるようになるので起動する。
x:\sources\>というプロンプトが開始されたので、
> cd x:\windows\system32
ここでまずやるべきらしいコマンドを実行する
> bootrec /fixboot
> bootrec /fixmbr
※何をしているのか詳細不明
これで直るケースもあるらしいので一旦確認
> bcdedit
device などが Unknownになっていて(試したら)起動できない状態であった。
次にやるべきコマンドを実行し、
ブートするシステムのエントリーを再構築するコマンドを実行する。
> bootrec /rebuildbcd
するとWindows 7 を検知してエントリーに追加するかきかれるのでYes
確認するとUnknownが消えてE:とつくようになった
>bcdedit
この状態で一旦再起動して起動できるか試してみる
が・・・BOOTMGR is Missingと出てしまった。

このエラーメッセージはパーティションの先頭に記載されているメッセージで、bootmgrファイルが見つからない時に表示される。
つまり、MBRまでは正常に読み込んでいるけど、bootパーティションのbootmgrに異常があるということになる。
先ほどのrebuildbcdはそこをうまいことしてくれるんじゃないかといいたいが、さらに次の対処となるコマンドを実行する。
これはWindowsフォルダからブートエントリー情報を抽出して、指定のドライブに出力するコマンド。

その前に、ドライブレターを知る必要があるので調べる。
DISKPARTがインストールされているのでそれを使う。
> diskpart
diskpart> list disk
これでディスク一覧が出る。サイズ等で区別できるならここでドライブレターが判明する。
わからなければさらに、ドライブを選択してパーティション情報表示できる。
diskpart> set disk [0-?]
diskpart> list partition

今回はリカバリ領域がDドライブ、windows領域がEドライブだった
つまり、EドライブのWindows情報を、Dドライブのbootmgrに出力する必要がある。
> bcdboot e:\windows /l ja-JP /s d:

これでこれ以上ない対策をしたことになる。
再起動してみると・・・起動!
以上でDELLのHDDの複製換装でした。保証外になると思うのと手順はあまり理解していない部分もあるので注意です。

ちなみに、記事にはできるだけ結果論を書いてあるけども、
試行錯誤の段階でWindowsPEを作成しました。
WindowsPEっていうのはKnoppixのWindows版みたいなもの。
なんだかんだでWindowsの方がリカバリ作業がやりやすい箇所もあるため1つもっておいたほうが心強い。 http://kiki2.suppa.jp/pe2/winpetch.htmのWinPe-tch Mini
を使えばとりあえず簡単に作れる。Directの方が高機能だけど作ってみるとWindows Boot Mangerでエラーが出た。
Windows7インストールイメージがあれば、回復環境(WindowsRE)も作成できるらしいが未確認。
PEにはbootrecがついてなく、REにはついてくるそうです。そういう意味で今回は真の意味で助けにはならなかった。


【送料無料】Acronis True Image Home 2012Plus
【送料無料】Acronis True Image Home 2012Plus
価格:9,080円(税込、送料別)
Acronis True Image Home 2012 Plus Academ -
Acronis True Image Home 2012 Plus Academ -
価格:6,610円(税込、送料別)

2012-08-08

印鑑を通販する際のチェックポイント

銀行と実印をプレゼントする機会があったので調べてみた

重要だと思ったのは
・彫り方
・ケースの色
・ケース色を分けられるか
・セットケース(別珍?)の有無

まず彫り方
ここhttp://www.toyodo.co.jp/001toyodo_e-shop/20mame_04.html
が参考になるとおもうけども
大きく3つ、機械彫り、手仕上げ、手彫りがある。
通販ショップによっては機械彫りの場合もあるため、
銀行印実印を購入するならセキュリティが低いと言えそう。
大抵の店は手仕上げとなる。

ケースの色
印鑑とセットで買うと安くなるためケースはセットの範囲内で買いたい。
だいたい黒赤二色が選べるけど、できればもっと選びたい。
店によっては3色~選べる

ケース色を分けられるか
印鑑を2本3本買う場合はセットで買うと安い
大抵の店ではそれらのケース色が同じになってしまうが、
別の色にできる店もある。
同じ色だと外から分りづらいため別々にできると嬉しい

セットケースの有無
印鑑を2本3本セットで買う場合
その場合にそれらを一緒に収められるケースを付加できる店がある
保管方法としてはどうかと思うけども個人的にはあった方がよいのでチェックポイントにした


いくつか通販ショップを調べてみた
とりあえず断トツで「いいはんこやどっとこむ」というところが良さそうだった。
何か落とし穴があるかもしれないが・・・よく考えたら昔自分用に買った印鑑もここで買ったようだ(ケースやセットケースが同じ)


いいはんこやどっとこむ http://www.e-hankoya.com/
手仕上げor手彫り
2本セット~10000円(手仕上げ)or~15000円(手彫り)
黒赤朱緑青茶 別色 セットケースもつく
10年保証
9書体


はんこdeハンコ http://www.hankodehanko.com/
機械彫り
2本セット~10000円
赤黒のみ 同じ色になる
10年保証
6書体

ハンコヤドットコム http://www.hankoya.com/
手仕上げ
2本セット~10000円
黒(中赤)黒(中黒)赤(中赤)朱(中赤) 同じ色になる
10年保証
5書体

東洋堂 http://www.toyodo.co.jp/
手仕上げ
2本セット~10000円
黒エンジ 同じ色になる
10年保証
7書体

はんこや http://www.ehankoya.jp/
機械彫り(記載なしのため不明)or手彫り
2本セット~10000円(機械彫り)or~30000円(手彫り)
素材とケースのセットが決まっていて殆ど選べない
保証不明
4書体

※値段は平均的(と思われる)発注をした場合の値段


epgdumprにパッチをあてる

以前pt2をインストール手順を記載した際、epgdumprは素のまま入れてパッチをあてませんでした。
今回はubuntuやrecpt1のアップグレードにあわせてパッチを当ててみようと思います。

参考:
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?%E5%9C%B0%E3%83%87%E3%82%B8%2FKTV-FSUSB2

まずはパッチをダウンロードしてubuntuのワークフォルダにコピーします

http://www.honeyplanet.jp/epgdumpr2-utf8_segv.patch.gz
SEGV対策パッチ

http://www.mediafire.com/2sen
DTV→
up0246.zip
epgdump r2 184byte オーバーフロー修正パッチ (fix_overflow_184.patch)
up0248.zip
epgdump r2 セクション読み込みオーバーフロー修正&ファイルオープン状況確認パッチ
(fix_overflow_maxseclen.patch)



次にパッチを当ててからmake

$ wget "http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2-utf8.tar.gz" -O epgdumpr2-utf8.tar.gz
$ tar -zxvf epgdumpr2-utf8.tar.gz
$ wget http://www.honeyplanet.jp/epgdumpr2-utf8_segv.patch.gz
$ gunzip epgdumpr2-utf8_segv.patch.gz
$ unzip up0246.zip
$ unzip up0248.zip
$ cd epgdumpr2
$ patch -p1 < ../fix_overflow_184.patch
$ patch -p1 < ../fix_overflow_maxseclen.patch
$ patch -p1 < ../epgdumpr2-utf8_segv.patch
$ make

ここでエラーが出た
eit.c:295:31: error: array subscript is above array bounds [-Werror=array-bounds]
cc1: all warnings being treated as errors
make: *** [eit.o] エラー 1

http://baalzephon.dyndns.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2Fepgrec
を参考にパッチを当てた
パッチを作りました→epgdumpr2-utf8_arraybounds.zip

ワークフォルダに移動して
$ wget --trust-server-names http://db.tt/iE8qfFka
$ unzip epgdumpr2-utf8_arraybounds.zip
$ cd epgdumpr2
$ patch -p1 < ../epgdumpr2-utf8_arraybounds.patch

リトライ
$ rm *.o
$ make
$ sudo make install
成功!

動作確認
$ recpt1 --b25 --strip 22 30 test.ts
$ epgdump test test.ts - | less


【アースソフト】地デジチューナー PT3 Rev.A
【アースソフト】地デジチューナー PT3 Rev.A
価格:13,860円(税込、送料別)

2012-08-07

KindleFireにCyanogenMod9を入れる

これまでCM7で満足していたけど、調べてみるとなんと!CM10まで出ていました。
しかしCM10は出たばっかりみたいなので安定しているらしいCM9を入れてみました。

いくつかあるようで
ネットに情報がよく転がっている
http://forum.xda-developers.com/showthread.php?t=1411895
の他にも
http://forum.xda-developers.com/showthread.php?t=1619550
http://forum.xda-developers.com/showthread.php?t=1689000
http://forum.xda-developers.com/showthread.php?t=1528024
などがあるみたい。

このうち、14118951528024を試してみた。
とりあえず最初に試した1411895の手順を記録する。
1411895は上書きアップグレードができるが、1528024は再インストールになる。
手順自体はだいたい他も同じ。たいてい手順も一緒に載ってるのでその通りに行えばよい。


前提:以前の記事にてTWRPが入っていること

1. バックアップ
Titanium Backupなどを用いてアプリをバックアップする。
KF(CM7)を再起動し、炎マークが出たら電源ボタンをチョイチョイ押してTWRPを起動する。
Backup→
System/Data/Boot/Recovery/.android_secureにチェックを入れる(全部)
Backup now→
KF再起動
Reboot→System

2. ROMダウンロード
windowsを使いxdaのフォーラムから
cm9-02-24.zipとgapps-ics-20120224-signed.zipをダウンロードする。
その後、KFを通常起動してUSB接続→USB認識させる。
windowsからzipファイル2つをKFへコピーする。

3. CM9適用
KFにて再度TWRPを起動する。
Install→
cm9-02-24.zipを選択→Flash
"cannot load volume /misc!"は無視する。
Wipe Cache /Dalvik→

4. google apps適用
TWRPにて同様に
Install→
gapps-ics-20120224-signed.zipを選択→Flash
Wipe Cache /Dalvik→

上記にてCM9化完了

5. 起動
Reboot→
初回は例によって起動が長い
新しい起動画面は綺麗な感じ
"Android is upgrading..."という工程が入る。謎
ホームは初期化されるらしいのでアイコンを再配置・・・

6. 日本語フォント
そのままだと中華フォントのため
ファイルエクスプローラーを導入する
※ES ファイルエクスプローラーなど
フォントファイルを用意しDroidSansJapanese.ttfという名前にする。
エクスプローラを用いて/system/fontsフォルダに入れる。
パーミッションをwr/r/rにする。
この時SuperUserが必要になるのでSuperuser(アプリ)が起動する。(CM7に入っていた)

"/system/etc/fallback_fonts.xml"をテキストエディターで開く

<familyset>セクションの間に
 <family>
  <fileset>
   <file>DroidSansJapanese.ttf</file>
  </fileset>
 </family>

を挿入する。

KFを再起動する。

ちなみに中華フォントの見分け方は
文字入力画面で糸偏のついた漢字を入れてみると
なんかおかしいのですぐわかる。

7. 設定
設定画面への行き方は
右下のタスクトレイ的なところをタップ→時計の下のゲージつまみをタップ→設定をタップ
※ここではROMによってことなるLauncherの設定は省略

DEVICE→Sound→Volumes
→Link volumes
(恐らく)各種音量のリンク、ON
(恐らく)各種音量のミュート状態リンク、ON
※なぜかチェック状態を保存できないので機能していないかも

DEVICE→Display
→Sleep
スリープまでの無操作時間、30minutes

PERSONAL
→Security→Screen lock
画面ロックの方式、PIN
→Security→Encrypt table
データを暗号化する、今回は試さない
→Language&input→Language
言語はCM7の続きで、English(United States)
→Language&input→Spelling crrection
スペルチェック、OFF
→Language&input→KEYBOARD&INPUT METHODS
入力方式、Simeji

以上でCM9化&設定完了。
ちょっと使ってみた感じだとクールになったこと以外特に変化はないけど
クールになったのだけで満足しました。

ROM同梱のランチャーについては
1411895はTrebuchet
1528024はNovaLauncherとGo Launcher HD
となっている。
はっきりいってTrebuchetは低機能すぎて使えなかった。


CM9自体の問題も含んでるかもしれないけど前使ってたCM7との比較

CM9自体について
◯全体的にクール

1411895(by bl1nkk)
×なんとなくもっさりしてるような・・・
×起動毎に時計がエラーを吐く
×電源ボタン長押しのメニューが貧弱(未実装?)
×プロファイル切り替え機能がない(未実装?)
×ボリュームのリンクが機能しない(KFでは無理とか?)
×通知画面のカスタマイズができない(未実装?)
というかβ版止まりっぽい、最終更新が半年前なのを考えると入れないほうが良さそう

1528024(Enegy CM9 by NRGZ28)
◯よくカスタマイズされていてよりクール
×ボリュームのリンクが機能しない(KFでは無理とか?)
×上書きインストールができない?
こっちはCM7で使っていた一通りの機能が実装されていて完成された感がある
1411895と比べると断然こっちの方がよかった
しかし上書きインストールができないため、
事前にアプリのバックアップ等しっかりやること。



マーケットにあるものも含めてランチャーアプリを比較してみた
「Trebuchet」
◯ウィジェットプレビュー可能
×低機能
×ウィジェットが無駄に幅を取る
×ドックがない(未実装?)
×グリッドサイズ変更ができない(未実装?)

「Nova Launcher」
◯設定画面がICSと同じ形式
◯ウィジェットプレビュー可能
×ジェスチャーが有料のみ

「Holo Launcher」
◯Up/Downのみジェスチャー可能
△ダブルタップジェスチャーが有料?
×アイコンラベルが狭い・・・?
×電池食う

「ADW.Launcher」
◯大体良い
×ウィジェットが無駄に幅を取る
×CM7で使ってて飽きた

ん~、コレっていう決定版が無くて悩むけど、
この中ではNova Launcherが良かった。
問題はジェスチャーが有料版しか無いので
Nova Launcher有料版を買う予定。


参考:
http://forum.xda-developers.com/showthread.php?t=1411895
http://netbuffalo.doorblog.jp/archives/3927628.html


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円(税込、送料別)