CheckInstall

2015/02/07 by happybreeding No comments »

Linuxで、プログラムをソースからインストールするとき、make installの代わりにcheckinstallを使うと、バイナリパッケージをよしなに作成してくれる。

virt-installで物理ディスクを指定する方法

2014/09/14 by happybreeding No comments »

このように指示すればよい。

--disk /dev/disk/by-id/xxxxx,device=disk,format=raw

CentOS でネットワークカードを交換する方法

2013/02/25 by happybreeding No comments »

基本的にFreeBSDの人ではあるのですが、たまにはLinuxを扱うこともあるのです。

ということで、CentOS 6.3でネットワークカードを交換した後で、OSに正しく認識させる方法をメモ変わりにエントリしておきます。

ネットワークカードを交換、というか、VirtualBoxからVMwareにVMイメージを移植したのですが、この状況では、放っておくとeth0をVirtualBox時代のカードが握った状態になってて、VMwareでのそれがeth1以降に振られて非常に気持ちが悪い。

そこで以下のようにする。

  1. /etc/udev/rules.d/70-persistent-net.rules から、古いカードの情報を削除する
  2. /usr/bin/system-config-networkで、新しいカードに対して設定をする
  3. /usr/bin/system-config-network-cmdのエクスポート・インポートを使ってゴミを整理する

このステップで作業すれば、きれいに決まってくれます。

FreeBSD 9.0Rでカスタムカーネル配布物を作成する

2012/10/21 by happybreeding No comments »

FreeBSD 8.x までの環境では、カスタムカーネル配布物を作成する場合、release(7)の、release.1〜release.8を適切に選択することで、カーネル配布物(配布物全体をではなく)を作成することができたようなのですが、9.0では、release.xターゲットが廃止されてしまっていて、ではどうすればよいのかと少々困っていました。

そこで、release(7)や、src/release/Makefileを読んだりしたところ、9.0では非常に簡略化されていることがわかったので、メモ代わりにここに置いておきます。

  1. 通常どおりにbuildkernelする
  2. src/release/ で、make kernel.txz

これだけ。ちょっと拍子抜けしたけれど、わかりやすくなっていいね。

 

 

FreeBSD 9.0RのXfceを4.6にダウングレードする

2012/05/08 by happybreeding No comments »

Xfceは軽量でよいウィンドウマネージャで、以前から気に入って使用しているのですが、その最新版である 4.8 は、あろうことかLinux以外の環境を切り捨ててしまいました。

とはいえ、FreeBSDでも全く使用できないというわけではないものの、外部メディアの自動マウントが効かないとか、いろいろ不都合が出ます。

そういう訳で、FreeBSDで運用するのであれば 4.6 を使っておくのがいろいろと都合がよいわけですが、ports collectionでは4.8に更新されてしまっているため、そのままインストールすると当然のように更新されたバージョンがインストールされてしまいます。

ということで、portsツリーを4.6に戻してしまいましょう。まずは、次のファイルをダウンロードします。これは、Xfce関係のportの、4.8に更新される直前ものをまとめて、FreeBSD 9.0Rのports treeに適合するように調整を施したものです。 » Read more: FreeBSD 9.0RのXfceを4.6にダウングレードする

tss.py 異常終了の原因

2011/12/16 by happybreeding No comments »

tss.pyは、MPEG-2 TSのデータから、先頭のプログラムを抽出するもの。典型的には、地デジを録画したデータから、HDストリームを抽出するために使われていると思われます。Windows方面では、TsSplitter.exeが担当する分野。

さて、そんなスクリプトですが、どういうわけか手元の環境では異常終了してしまうケースが多く、その割にはWebではまったくといっていいほど話題になっていないことを不思議に思っていたりしたのです。

Traceback (most recent call last):
  File "tss.py", line 101, in <module>
    N += 4 + ((ord(x[N+3])&0x0F)<<4) + ord(x[N+4]) + 1
IndexError: string index out of range

仮にtss.pyが異常終了したとしても、他の手段で対応できなくはないので、例によって放置していたのですが、ちょっとその気になったので原因究明してみることにしました。

過程をずらずら書いてもしょうがないので結論だけにしてしまいますが、PMTのサイズが1パケットを超えるデータのときにこのエラーが発生しています。

手元のデータをいくつか確認してみると、MBS毎日放送を録画したものがこの状態になっているのですが、これがこの局特有で、東京の局では発生しない現象だとすれば、騒ぎになっていないというのも、まあ理解できなくはないところ。

というわけでパッチ貼っておきますが、仕様書を確認せずに実データを観察した結果なので誤っている可能性があります。その上pythonは初めてなのでどこかおかしいかもしれません。一応手元ではちゃんと動いているように見えます。作者さんに連絡とろうかとも思ったけど、もう興味なくしてるみたいでちょっとお悩み中。 » Read more: tss.py 異常終了の原因

“FAAD 改造版 0.7”を改造する

2011/12/07 by happybreeding No comments »

途中でチャンネル数が切り替わるAACファイルが存在するのですが、こういうファイルを他のファイル形式に変換しようとしてFFmpegあたりを使うと、正常に変換することができません。チャンネル数変更に対応していないためですが、このあたりをカバーしてくれるものに、FAAD 改造版 0.7 TS読み込み対応というものがあります。

オリジナルのFAADはGPLv2なので、当然これもソースが提供されているのですが、残念なことにWindowsでしかコンパイルできなくて、FreeBSDで処理したい私にとっては使えないものでした。

今回、ちょっと必要になり、FreeBSDでもコンパイルできるように改造しましたので、せっかくなのでここに出しておきます。

FreeBSD 8.2R、9.0RC2、Windows7(VS2008)で確認しています。

ダウンロード→“FAAD 改造版 0.7”の改造版

http://2sen.dip.jp/cgi-bin/friioup/source/up1195.zip

FreeBSDで802.11a

2011/01/15 by happybreeding No comments »

FreeBSDでathなWLANを使用しているが、長いこと、11aのチャンネルリストをW52/W53にする方法がわからずにいた。のだが、ひょんなことからわかったのでメモしておく。

ifconfig wlan0 country J1

これでOK。8.0以降で使えるのかな。

Windows7とFreeBSDのデュアルブート

2011/01/11 by happybreeding No comments »

まあ、ありがちなネタなんですが……

Web上でよく見かけるのは、NT LoaderからFreeBSD(や、他のOS)をブート、というものですが、個人的にそれはしたくない。

でも、とある設定をすれば、FreeBSDのブートマネージャからWindows7をブートすることができる。以下のサイトを参照。ブックマーク代わりにエントリしておきます。

他のブートローダから Vista を起動: uyota 匠の一手

Vistaについての記事ですが、7でも同じ手順でOK。

あけましておめでとうございます

2011/01/01 by happybreeding No comments »

本年も当サイトと関連サイトをよろしくお願いします。