Chienomi

Manjaro Linux 0.8.13 setup (4)

ustream

インストールパッケージ

  • tegaki-models-zinnia-japanese
  • tegaki-recognize
  • tegaki-models-wagomu-japanese
  • tegaki-tools
  • tegaki-train
  • libsidplayfp
  • vice
  • man-pages-ja
  • ngrep
  • qlivestreamer-git
  • python-librtmp
  • nkf

tegaki系パッケージは、Mozcの手書き機能のため。 ただし、 ウィンドウを黒にしているためか、書いたところがまったく見えない。

man-pages-jaは日本語manpageのためのパッケージ。

ngrepはHTTP解析のために入れた。

qlivestreamerについてはあまり語らない。 Ustream関連で最も良い選択肢だと思われた。MPlayerの--dump-streamという方法もあるが、素直にCLIで。

なお、python-librtmpがないとモバイル用しか視聴できない模様。

nkfは入れ忘れ。 MailDeliver2が要求しなくなったので気づかなかった。

nkfをいれたのはberryjackのため。結構単純だが、Linuxで確実に機能するTwitterの画像に関するツールだ。 高速で、非常に良い。

Btrfsの破損

システムが急にフリーズをくりかえし、ガクガクしはじめたので再起動したところ、 ユーザーデータ用のファイルシステム(btrfs)がマウントできなくなった。

また、起動時がなぜかPlymothに以降するまでが遅い。

考えられる可能性としては

  • システムディスク
  • システムファイルシステム
  • データディスク(btrfsを構成する4台のいずれか)
  • dm-cryptデバイス
  • btrfs

のいずれか。

問題を切り分ける必要があったため、まずは確実に再現することを確認し、データディスクを切り離し、単一ディスクで起動した。 結果、正常に起動した。

なお、こうした理由も含めて、データディスクはsystemdユニットではマウントしていない。

その上で、LiveDVDでブートし、dm-crypt plainによる復号化とデバイスへのアクセスが可能であることを確認。 また、ファイルシステムに対する操作を行おうとするとフリーズすることも確認した。 なお、フリーズするとデバイスビジーになるため終了もできない。

通常のシステムを起動して、復号化までで留め、

btrfsck /dev/mapper/CRYPTDEVICE1

ずらずらーっとエラーが出る。updateどうちゃらとか。 だが、最終的にはエラーは0とリポートされる。

続いて

btrfsck --repair /dev/mapper/CRYPTDEVICE1

しかし、エラーが発見されなかった以上修正もされない。 だが、先ほどずらずらっと出たエラーは出なくなり、また正常に動作するようにもなった。 scrubしても0errorsだった。

btrfsは障害が発生した時に、障害が発生したことを通知できるようにできないものだろうか。 フリーズしたり機能しないなど、調査が大変だ。

先日のエントリでのメール処理

割と単純

メールアドレスのマスク

for i in tmp/ab-0*
do
sed -e -i 's/\w[a-zA-Z0-9_-]*@/*@/g' "$i"
done

PGPシグネチャの除去(メールアドレス対策)

for i in tmp/ab-0*
do
sed -e '/-----BEGIN PGP SIGNA/,/-----END/d' "$i"
done

Markdownのcodeblock化

for i in tmp/ab-0*
do
sed -i -e 's/.*/\t&/' "$i"
done

ちなみに、SylphhedはPGP-Inlineをメールに対して選択できないので

gpg --clearsign --local-user ADDRESS

して署名。

SpamAssassin

umask000で実行するようにしないとダメらしい。

ディレクトリやファイルはrootで作るが、アクセスは一般ユーザーで行うため。

Mikutterの効果音

ALSAであれPulseAudioであれ、内部ではaplayを使っているため、 使用するファイルはPCM(.wav)でなければ盛大なノイズになる。

第一カラムの数字を数値として合計する

簡易帳簿の計算のために用いた

puts ARGF.each.inject(0) {|sum, x| sum + (x.split(/\s+/).first.to_i) }

ffmpegで切り出し

例えば

ffmpeg -ss 420 -i source.mov -vcodec libx264 -t 360 -strict -2 -crf 32 dest.mp4

のように行う。

-ssオプションで開始秒数、-tオプションで切り出す長さの秒数を指定する。 -iオプションよりも手前に-ssを置くことで所要時間を大幅に短縮できるが、正しく切り出せない場合がある。しかし、copyではなく、明示して再エンコードすることで解決するという。

Xがおかしい

Manjaro Stable 2015-07-14を適用したところ、ログイン時にXFceが起動するようになった。 しかもそれだけではなく、「XFceが起動し、ログアウトすると選択したデスクトップ環境が起動する」というわけのわからない状態になった。

lightdmやX関連スクリプトを見たのだが、原因になるようなものは見当たらない。

結局、どうもユーザーコンフィグ関連がおかしくなっていたようで、

rm ~/.x* ~/.X*

で直った。