僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
鮨詰の深夜バスにとび乗り、東京駅に至る。東京ディズニーランド が終着駅だったが、そこまで考えが及ばなかった。おかげで海浜幕張 まで電車賃が。
Interopは、とりあえず 行きました。としか言えない。3000円払ったおかげで福引券2枚。 チュートリアル一件。 若干の経験値を貰ったにしても、結果的には増上慢にしか ならなかった。
無線LANでグローバルアドレスを貰う。
自宅へのアクセスもやってみたが、つまらないこだわりに血道を
あげているうちにバッテリーが干上がった。よって何も書いてない。
BSDなひとときに出席。熱気は非常に濃密だった。*BSDのドキュメント プロジェクト論考、NetBSDによるロボット制御、 こないだの合宿、 そしてその副産物( topless(1) )、XCAST...
すぐUターンして新宿に至り、またバスで帰阪。
赤く小さいイタリックスの文字にて、既に昨日となった記事を補筆。
色々。古くなったパッケージを検出してアップグレード可能との
表示が出た。
linuxinfo(1)を入れてみた。「インストール済みファイル」
一覧表示は便利だ。
USER@debian:~$ linuxinfo Linux debian 2.4.27-2-386 #1 Wed Aug 17 09:33:35 \ UTC 2005 One Intel Pentium M 1596MHz processor, 3185.04 \ total bogomips, 503M RAM System library 2.3.2
問題は、パッケージが多すぎて、スクロールが大変な事か。
lib*(の次)だとか、hで始まるパッケージなどが、なかなか捕まらない。
theme/default/default.cssをいらって、 表示を少し小さくする。
Debianのカーネル再構築またやってみた。
備忘録を見直して、とりあえずは2.4.27から。
make menuconfigの後はmake-kpkg --revision hoge kerenl-image
してdpkg -i。うまくいったらしいが、/boot/grub/menu.lst
の最初のエントリを書き換えてしまうのはちょっと...
ヒゲ付きファイルから追記するなどの対応が必要らしい。
デフォルトで起動するのは以前のカーネルなので、ちょっと注意。
実は3度程作り直して、ようやく安定稼動するようになった。
と思ったら、CONFIG_TCP_ECNをうっかり[*]にしてしまい、
自宅のルータに撥ねられてしまった。またやり直し。
WinXP起動後のリブートでNICが死ぬのは、b44をモジュールにしなくても
同様。
ノートにPC-BSD入りのHDDを換装してみた。
Xを再度設定する必要があったが(例によって X -configure)、
1680x1050があっさりあがった(1600x1280は元々サポート外だったかも)。
タッチパッドも難なく認識していた。KDEで音声があっさり。
Sarge、ステ?
このHDDにはWinは入れてないので、リブートの障害再現性は 実証不能。
MailServer:~$ uptime 22:15:44 up 655 days, 3:52, 1 user, load average: 0.07, 0.02, 0.00
どこに脆弱性が隠れているか、確認も必要なんだけど。
BLFSでのX Window。
X -config xorg.conf.new は、なんとか起動したが、
Ctrl-Alt-BS で閉じない。
/etc/X11/xorg.conf にすると、"could not open default font 'fixed'"とか
色々。
スクリーンショットを撮るのが精一杯。
もう一度、もう一度、
またまたLFS再建。
今度は
Chapter 6 からやってみる。/toolsは残ってるから。
/mnt/toolsを除いてすべて削除し、ソースを/mnt/sources に再び展開する。
必要なディレクトリ、デバイスを 作り直して、
chroot。続いて
基本的なディレクトリを掘り、
基本的なファイル作成。
ここまでは特にエラーも出なかった。
でも、ビルドがうまく進まない。
のっけからひっかかった。
root:/sources/linux-2.6.22.5# make headers_check CHK include/linux/version.h UPD include/linux/version.h HOSTCC scripts/basic/fixdep /tools/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../..\ /i686-pc-linux-gnu/bin/ld: crt1.o: No such file: No\ such file or directory collect2: ld returned 1 exit status make[1]: *** [scripts/basic/fixdep] Error 1 make: *** [scripts_basic] Error 2
バックアップを取ってなかったのが失敗の元かも。Chapter 6の途中で色々 変えていたような気がする。
つーことで、
こないだ同様、/toolsの構築からやりなおす。
夕方前に/toolsができた。違うパーティションにbzip2で固める。42MBくらいになった。
無事にGlibcも
通過。
GCCも通過。
WinXP(SP3)に、ありもしないDNSサーバを設定して、IEを起動させてみる。
勿論「ページを表示できません。」
いつからあるのかは知らないが、
「ネットワーク接続の問題の修正を
試みるには、
[ツール]、[接続の問題の診断...]"をクリックしてください。」
とも表示された。
えーと、「ツール」ってどこだっけ。「ツール(T)」と書いてなかったので
探すのにひとしきり。
まず、管理者権限でないと動作しないようだ。スタートメニューとは違い、
「別のユーザーとして実行」できないっぽいし。
で、ログオンしなおして試す。これまたひとしきり待たされる。
役に立つのは、最後の画面だけ。
まだ
Experimental にも入ってないのだろうか。
と思ったら、lzmaがそれのような。xz-4.999.8betaには同名のコマンド
(xz(1)のシンボリックリンクだけど)があるし...
で、追試。GNU tar-1.22 は J オプションで xz(1) にフィルタする。
また、 --lzma も指定できる。
適当に色々圧縮、展開して試す。
lfs に入れた xz-4.999.8beta より、特に指定しない場合はlzma が幾らか
高い圧縮率を示すようだった。
ちなみに、*.xz も *.lzma も、GNU fileutilsのデフォルトでは
"data"としか表示されない。
さて、どうやったら "data" 以外の文字列を出力できるのか。
man 1 fileによれば、マジックナンバーをmagic(4) の参照から得ているようだ。
とりあえず Linux From Scratch SVN で少し遊んでみる。
$ file --version file-5.00 magic file from /usr/share/file/magic
そんなファイルはない。/usr/share/file/magic.mgc ならあるが。
man 3 libmagic すると、Filesの項目に、
/usr/share/file/magic The non-compiled default magic database. /usr/share/file/magic.mgc The compiled default magic database.
古いfile(4.17)のマニュアルには、この他に magic.mime{,.mgc}も
記述されていた。
まず悪戯から。
$ cd /usr/share/magic $ file magic.mgc magic.mgc: magic binary file for file(1) cmd (version 7) (little endian) $ sudo mv magic.mgc magic.hoge $ file magic.hoge file: could not find any magic files!
マジックナンバーはソースツリーの
magic/Magdir 配下に定義されており、
make 時に magic.mgc が作られている...らしい。
適当に s/bzip2/bakka/ して make install すると、
$ ./file some.tar.bz2 some.tar.bz2: bakka compressed data, block size = 900k
そこまで凝らなくても、~/.magic を編集すればいい。
magic/Magdir/pdf を参考にして、適当なフォーマットを定義してみる。
$ cat > ~/.magic <<"EOF" >0 string %myformat- my test document >!:mime application/myformat >EOF $ echo "%myformat-0.01" > new.img $ dd if=/dev/urandom of=temp count=1 >&/dev/null $ cat temp >> new.img $ file new.img new.img: my test document
さて、xzやlzmaのマジックナンバーを調べろ、ということに なりそうだけど、ど、ど、
左手首がおかしくなってきたので、ここまで。
ができたことを確認。ruby が 1.8 から 1.9 に上がった。
若干すったもんだはあったが、まあ大体OKなはず。
tdiary も 3.2.2 に上げた。
こちらはテーマをデフォルトにしていたためか、えらく変わってしまった。
theme/default/default.css を書き戻して、元通りにはなったけど。
RaspberryPi B にGiga(LAN-GTJU3)を挿して nuttcpしてみた。ハブは100Mで、
昨日に同じ。相方はCF-Y4。
電力に不足が無いように、セルフパワーのUSB HUB(公称出力2.6A)を介している。
raspi_b:$ nuttcp cf-y4 58.8125 MB / 10.01 sec = 49.3002 Mbps 97 %TX 9 %RX 0 retrans 0.90 msRTT raspi_b:$ nuttcp -R cf-y4 59.0625 MB / 10.01 sec = 49.5081 Mbps 97 %TX 9 %RX 0 retrans 0.93 msRTT
ほぼ同じ結果がちょっと不思議。-R なら逆方向のはずなのに。
cf-y4:$ nuttcp raspi_b 111.2223 MB / 10.07 sec = 92.6381 Mbps 0 %TX 69 %RX 0 retrans 0.66 msRTT cf-y4:$ nuttcp -R raspi_b 112.4773 MB / 10.06 sec = 93.7766 Mbps 0 %TX 68 %RX 0 retrans 0.62 msRTT
で、at(1)で同時に相手方に送信してみた。すると(上がRasPI)、
29.9375 MB / 10.01 sec = 25.0941 Mbps 53 %TX 5 %RX 0 retrans 14.24 msRTT 111.1250 MB / 10.08 sec = 92.4724 Mbps 1 %TX 47 %RX 0 retrans 0.69 msRTT
USB2.0のRasPIの特徴か。
icmp_seq と time を切り出してみた。
$ ping -c 5 $REMOTEHOST | \ > awk '{ if($2=="bytes") \ > { sub("[a-z_=]*", "", $6); \ > sub("[a-z_=]*", "", $8); \ > { print $6, $8 } \ > } > }' 1 55.3 2 55.2 3 59.6 4 55.8 5 53.4
置換文字列が決まってることを考えると、正規表現にしない方がよかったかも。
いんちきがちゃんと効いているかどうか確認したくなった。
いんちきに働く関数
int diving() { int div = int(random(51)); int first = 8; if (div < first) { return 0; } else if (div < first * 2) { return 1; } else if (div < first * 3) { return 2; } else if (div < first * 4) { return 3; } else if (div < first * 5 + 3 ) { return 4; } else { return 5; } }
を、 削除したブランチを作成。
int diving() { - int div = int(random(51)); + int div = int(random(48)); int first = 8; if (div < first) { return 0; @@ -66,7 +68,7 @@ int diving() { return 2; } else if (div < first * 4) { return 3; - } else if (div < first * 5 + 3 ) { + } else if (div < first * 5) { return 4; } else { return 5;
Core i7 2.8GHz に 8GB。
# time { make buildworld && make buildkernel KERNCONF=$HOGE && make installkernel KERNCONF=$HOGE && make installworld ; }
. . install -s -o root -g wheel -m 555 ldd32 /usr/bin/ldd32 install -o root -g wheel -m 444 ldd32.debug \ /usr/lib/debug/usr/bin/ldd32.debug real 504m2.696s user 423m49.369s sys 37m48.830s
$ uname -a FreeBSD virt-bsd 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r319727: Sat Jun 10 01:53:05 JST 2017 root@virt-bsd:/usr/obj/usr/src/sys/$HOGE amd64
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。