トップ «前の日(10-09) 最新 次の日(10-11)» 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2004-10-10(Sun) きまぐれ

名前つきパイプ

を本で少し読んで来たので、早速 mknod hoge p やってみた。

$ls -alF hoge
prw-r--r--    1 hoge   group          0 10月 10日  19:11 
  /home/hoge/junk/hoge|
$ls -alF > hoge &
$ cat -n hoge
(ry

ぴんぴん萌え〜

"ping source" でぐぐると、ping page なんてのがひっかかった。
そのリンク先にはThe Story of the Ping Programなるものがあり、ping.sharも拾えた。
流石に年代物らしく、アーカイブを開いてmake しただけでは(NetBSD,Plamo Linuxどちらでも)ダメだった。

どちらかといえば、netkit-comb に似ているっぽい。つーか、きっかけのパケット過大のエラー処理部分はほとんど同じ。ちなみにexit(1)だったが。

それにしても、後はブログばっかり。
日本語のサイトを探したが、キーワードに -trackback をつけても、こういう箇所に踏み込んだページは探し出せなかった。

今度はDebian

を起動して、ping(1)をつつく。
間違ったオプションの返り値は、やっぱり2である。
今のところ、netkit-base0.10が出所であるとわかっただけ。
ソース取得法も、一から探り直さねばぁぁぁぁぁぁ。

NetBSDの仮想コンソールは

CTRL + ALT + F?
で切り替えるのだそうだ。長いこと迷っていたが、ぐぐって氷解。
これもweb上の日記で拾った。要するにコピペ。

pingの結果判定スクリプトを

なんとか書いてみた。もう5時半近くだが、夜も長くなったようだ。

 #!/bin/sh
 HOST=fuga
 NUM=65450
 while :
   do
     ping -c 1  -n -s $NUM $HOST
     RES=$?
     if [ "$RES" == 0 ] ;  then
       echo OK
       echo Packet size is $NUM + 8 
     else if [ "$RES" == 2 ]; then
       exit
       fi
     fi
     NUM=$(expr $NUM + 1)
     sleep 1
 done

動くものにするだけで精一杯。

tdiary編集、再編集...

まだ午前3時なのに、ログ見たら今日だけでtdiaryにアクセスすること150回に及ぶ。
我ながら一体何やってるんだろうか。

nviが落ちた後に

同じw3mから再度書き込めない。いや、nviは起動するのだが、行がバラバラの位置から始まっていてまともに編集できないのだ。

午前2時前いきなり

SUPサーバが猛烈にデータを送り始めた。これまでかなり負荷が集中していた模様。
ダウンロードの完了したのは9時前らしい。

Pingのパケットサイズを

適当に変えながらLANの別ホストに打ってみた。
-s 65467(合計65475バイト)が最長らしい。それより大きくするとtoo largeといって止まってしまう。Plamo4.0とNetBSD1.6.2で、同じ結果になった。

しかしそんぐらいシェルスクリプトでやってしまうべきなんだろうが、、、

ただし、戻り値はPlamoLinuxが2で、NetBSDが1だった。意外なところに違いがあるものだ。

ついでにエラーメッセージからソースをつつく。

NETBSD:CVSで取ってきたソースの /usr/sbin/ping の下にping.cがあった。
エラーメッセージはerrxで出してるらしい。
$ grep errx ping.c したが、errx(2,"hoge");する箇所はないようだった。

Plamo: ちょっと手間取った。リングサーバのPlamo-srcの下に、 netkit-combo0.17というパッケージがあり、それを展開するとping.cが入ってた。
こっちはエラーメッセージをfprintfの引数にstderrと"hoge\n"をとる形で 実装している。該当箇所はその次の行でexit(2)していた。BSDとは反対に exit(1)はないようだった。

そこはかとない文化の差異に酩酊した心境であった。

付記。どっちのping も0,1,2とも返す...らしい。勘違いだったようだorz

NetBSD1.6.2

/dev/console見てると、緑色の警告が頻々と出てくる。 手打ちにて一部ログるとこんな風になるか。

 wd0: (aborted command, interface CRC error)
 wd0: soft error (corrected)
 wd0a: error writing fsbn 339632 of 339632-339759 (wd0 bn 8372132;\
 cn 8305 tn 10 sn 62), retrying)

NetBSD + pkgsrc

ドキュメントを斜め読みして、さっそく sup (1) に挑戦した。

 # sup -s -v
 SUP 8.26 (4.3 BSD) for system software at Oct 10 09:12:35
 SUP Upgrade of current-pkgsrc at Sun Oct 10 09:12:35 2004
 SUP Fileserver 8.13 (4.3 BSD) 2247 on sup.jp.netbsd.org at 09:12:35
 SUP Requesting changes since Jan  1 09:00:00 1970

でずーっと止まってる。

んで、そっちは放置してpkgsrc.tar.gzを取って来る方に変えた。 適当にmakeして遊ぶ。FreeBSDのPortsとどう違うんだろなぁ。

emiclockをmake install しようとすると、「ライセンス上受け入れられないから、もし入れたかったらhogehogeを/etc/mk.confに書け」とかいった警告が。

w3m-img on NetBSD を、pkgsrcでmake install しようとすると、こんなエラーとともに止まった。

 making all in tools...
 `libcrypto.so.300.1' is up to date.
 `libssl.so.300.1' is up to date.
 => Fixing buildlink references in files-to-be-installed.
 ===> Installing for openssl-0.9.6m
 ===> openssl-0.9.6l is already installed - perhaps an older version?
 *** If so, you may use either of:
 ***  - "pkg_delete openssl-0.9.6l" and "/usr/bin/make reinstall" to \
  upgrade properly
 ***  - "/usr/bin/make update" to rebuild the package and all of its \
  dependencies
 ***  - "/usr/bin/make replace" to replace only the package without \
  re-linking
 ***    dependencies, risking various problems.
 *** Error code 1
  
  Stop.

なかなか親切だ。他にも色々なパッケージの衝突を告知してきた。

opensshを入れると、果して違うバージョンがふたつ入ってしまったようだ。

 # which ssh
 /usr/bin/ssh
 # ssh -V
 OpenSSH_3.4 NetBSD_Secure_Shell-20030917, SSH protocols 1.5/2.0, \
  OpenSSL 0x0090607f
 # /usr/pkg/bin/ssh -V       
 OpenSSH_3.8p1, SSH protocols 1.5/2.0, OpenSSL 0.9.6m 17 Mar 2004

さあどうする。/etc/rc.confの記述では当然古いのがあがってしまうが。
FreeBSD4.xは/usr/local/etc/の下に実行可能なスクリプトを置いてたっけ。


2005-10-10(Mon) そらそら

もう少し。

ディスクイメージにFreeDOSは簡単に入った。 十年前同様 fdiskとformat C: /s 。適当に ソフトを入れて、config.sysにautoexec.bat。 あんまり環境を作りこみたいわけでもないので、 適当にちょいちょいでぱっ。

でも依然としてUS-ASCIIの世界のまま。ぐぐると 色々あるようだけど。

の懐古も大概に

qemuのFreeDOSで、外とデータをやりとりする手段は さしあたりフロッピーだけ。シリアルやネットワーク デバイスはそう簡単ではないだろう。
まずはフロッピーイメージの出し入れを。 Ctrl+Alt+2でqemuモニターに切り替わる(Ctrl+Alt+1で復帰)。

QEMU 0.7.1 monitor - type 'help' for more \
 information
(qemu) eject fda
(qemu) change fda floppy.img

ejectとchangeの間に親環境でもげもげ。真っ先にフロッピーに 入れたのは当然:

B:FD\>dir
 Volume in drive B has no label
 Volume Serial Number is 4349-E57B
 
 Directory of B:\FD
 
.                    <DIR>  10-10-2005 12:59p
..                   <DIR>  10-10-2005 12:59p
FD       CFG         5,512  09-24-1995  3:12a
FD       COM         1,598  12-12-1996  3:13a
FD       DOC        52,697  12-12-1996  3:13a
FD55     COM        36,932  12-12-1996  3:13a
FD55_313 DOC         3,840  12-12-1996  3:13a
FD55_313 LZH        61,578  10-10-2005 12:59p
FDCUST   COM         6,389  12-12-1996  3:13a
FDCUST   DOC         8,194  05-31-1992  2:40a
FDEMS    COM         1,023  06-17-1993  1:01a
FDEMS101 DOC         2,195  06-17-1993  1:01a
FDEMS101 LZH         1,941  06-17-1993  1:01a
HOGE     TXT             0  10-10-2005  1:03p
        12 file(s)        181,899 bytes
         2 dir(s)       1,270,272 bytes free

起動はするけど、当然日本語化け化け。
それより、qemuのFreeDOS、CPU常時喰いまくり? 改善ツールを入れてやる。と、ぐっとおとなしくなった。

B:FD\>dosidle.exe
CPUidle for DOS V2.10  [Build 0077]
Copyright (C) by Marton Balog, 1998.
 
DETECTING...
[Processor]:   Intel Pentium II.
[Power/Man]:   APM V1.2 [Enabled].
[Op/System]:   MS-DOS V7.10 [Windows 95/98].
[32-bit mode]: 16-bit MS-DOS interface.
 
DOSidle installed successfully.

タダもとい自由なんどす

FreeDOS

なにげにFreeDOS。
FreeDos-Boot-CD-With-Sources-2005-09-07.iso を 貰ってqemu環境でブートしてみる。軽い。
さて、次は?日本語環境も調べてみよう。

タイムラグ

一年近く過ぎてはいるが、File and Directory toolの作者に追悼。
background-color: black; する。

エミュ同士

qemu環境下の仮想マシン達に同じネットワークアドレスを 振るようにしてみたが失敗。

/etc/qemu-ifupを変えて、 ネットワークアドレスを統一し、仮想マシンに違うIPを 手動で振った。が、後から起動したマシンがつながらない。 qemuの起動時オプションで -macaddr してみてもダメ。
結局仮想マシンはtun毎に別々のネットワークに入れる ようにする。

彼らにもdhcpを喰わせてやりたいものだが、tunが 追加される度にdhcpdをその都度再起動させる...?

続く

さっきに関連した作業若干。


2006-10-10(Tue) はじめ!

knoppix-fuse-4.0_20050831.iso

以前も試したが、ちょっと考えてもう少し。
knoppixのターミナルクライアント専用CD、といっていいだろうか。

入ってるNICのドライバがちと少ないのではないだろうか。
B44なNICのついたPCは制限されたシェルが立ち上がっただけ。

Loading network device module(s)
Found network device(s) handled by 3c59x.ko.
Found network device(s) handled by 8139too.ko.
Found network device(s) handled by e100.ko.
Found network device(s) handled by e1000.ko.
Found network device(s) handled by ne2k-pci.ko.
Found network device(s) handled by pcnet32.ko.
Found network device(s) handled by r8169.ko.
Found network device(s) handled by sis900.ko.
Found network device(s) handled by tulip.ko.
Found network device(s) handled by via-rhine.ko.
DHCP Broadcasting for IP address(1)... Operation failed.
(ry

CDイメージの中身を覗いてみる。まずisoをループバックマウント。

root@0[loop1]# ls -lR
.:
合計 2
dr-xr-xr-x  3 root root 2048 2005-08-29 17:00 boot
 
./boot:
合計 4
dr-xr-xr-x  2 root root 4096 2005-08-31 14:26 isolinux
 
./boot/isolinux:
合計 4302
-r--r--r--  1 root root     139 2005-08-29 17:00 boot-en.msg
-r--r--r--  1 root root    2048 2005-08-31 14:27 boot.cat
-r--r--r--  1 root root     128 2005-08-30 15:43 boot.msg
-r--r--r--  1 root root     139 2005-08-29 17:00 boot.msg.orig
-r--r--r--  1 root root    1532 2005-08-29 17:00 f2
-r--r--r--  1 root root    1532 2005-08-29 17:00 f2-en
-r--r--r--  1 root root    1675 2005-08-29 17:00 f3
-r--r--r--  1 root root    1675 2005-08-29 17:00 f3-en
-r--r--r--  1 root root     256 2005-08-29 17:00 german.kbd
-r--r--r--  1 root root    9404 2005-08-31 11:28 isolinux.bin
-r--r--r--  1 root root    1702 2005-08-29 17:00 isolinux.cfg
-r--r--r--  1 root root    2569 2005-08-29 17:00 isolinux.cfg.orig
-r--r--r--  1 root root 1531698 2005-08-29 17:00 linux
-r--r--r--  1 root root    7472 2005-08-29 17:00 logo.16
-r-xr-xr-x  1 root root   86980 2005-08-29 17:00 memtest
-r--r--r--  1 root root 2751580 2005-08-29 17:00 minirt.gz

boot/isolinux/minirt.gzを開くと、minirtというイメージになった。

root@0[test]# ls -l minirt
-r--r--r--  1 root root 8388608 2006-10-10 10:45 minirt
root@0[test]# file minirt
minirt: Linux rev 1.0 ext2 filesystem data

これをさらにループバックとしてマウントして覗く。
ひととおりのファイルシステムがずらり。
modulesの下を見たが、やっぱりb44は入ってなかった。

早速カスタマイズ

長くなりそうなので一行あける。

ddとmkfsでminirtと同じ形式の少し大きいファイルを作り、マウント。minirtの中身を まるごとそっちにコピーする。
fuseのカーネルは2.6.11だった。
同じバージョンのカーネルソースを取ってきてmake。b44.koを探し出し、 新しいイメージにコピーする。
そしてisoに丸める。mkisofsのオプションは KNOPPIXリマスタリングの奴を使いまわす。なぜかファイルサイズは少し小さくなった。

CDに焼いて、今度は無事起動できた。
雑感。サーバが以前よりずっと少なくなった、気が、する。日本や韓国の鯖より、 カリフォルニアやテキサスの方が速いようだ。実験は既に下火になっているのだろうか。
それとも混みすぎ?

*default release=cvs tag=RELENG_6_1

でFreeBSDのソースをcvsupし、手順に手を抜いたスクリプトでmake。
うまく行ったらお慰み、かと思う間もなく、

(ry
Stop in /usr/src.
*** Error code 1

では、日を改めて。
あばよ。


2007-10-10(Wed) 何?

サービスコントロールの真似じゃ

2003Serverからキーボードとマウスを抜いて起動させたら(必要なとき挿せばたくさんだ)、
システムスタートアップの最中、少なくとも一つのサービスまたは ドライバにエラーが発生しました。詳細はイベントビューアのイベ ントログを参照してください。
と叱られる(ログオン前にスクリーンショットを撮る方法が思いつかない)。

見たところで何が原因かなんてわかるものか。
ぐぐった方が確実だ。

久方振りのkernel2.4.x

kernel-2.4.35.3をビルドしてみる。 カーネルソースは/usr/src/linuxの下にあること。make menuconfigに 続いて make dep && make clean && make bzImage。 そして カーネルを適当な位置にコピーして make modules && make modules_install。alsaにpcmcia-csにと。あ、madwifiもだ。
ちょっと懐かしいような、面倒なような...


2008-10-10(Fri) 夜が明けてから確認

bill9

知らないところの知らない香具師からウィルスつきとおぼしき メールが来た。

Return-Path: <bpbwufd@borjan.com.pk>
X-Original-To: user@domain.tld
Delivered-To: user@domain.tld
Received: from alpha.goodfoodssa.com (alpha.chocolates.\
com.pe [200.62.231.50])
        by host.domain.tld (Postfix) with ESMTP id 72F4C9B1A4
        for <user@domain.tld>; Fri, 10 Oct 2008 01:10:54 +0900 (JST)
Received: from [200.62.231.50] by smtp.borjan.com.pk; \
Thu, 9 Oct 2008 11:10:54 -0500
Subject: Your bill $myname.
From: "Cassie Montoya" <bpbwufd@borjan.com.pk>
To: <$myname@domain.tld>
Date: Thu, 9 Oct 2008 11:10:54 -0500
X-Mailer: Microsoft Outlook Express 4.71.2244.8

message には、"The bill is attached. Password 123" とある。

付いてきたファイルはbill9.zip。unzip するとパスワードを要求される。
上記の連番を入力すると、bill9.exe とかいうのが出た。
このexeファイルの md5 は、 ぐぐって出たページ同様、9afa237911a31722d21b73e8a49d6239 だった。
ついでに SHA1(b49a953888537544caf20eee7f98c8188a6c4f6b)も。

inetutils-1.5

LFS SVN 20081008 続く。昨日は Chapter 6.37(Gawk-3.1.6)まで。
Chapter 6.42 でコケた。

make[2]: Entering directory `/sources/inetutils-1.5/libicmp'
if gcc -DHAVE_CONFIG_H -I. -I. -I..     -g -O2 -MT \
icmp_timestamp.o -MD -MP -MF ".deps/icmp_timestamp.Tpo" \
-c -o icmp_timestamp.o icmp_timestamp.c; \
        then mv -f ".deps/icmp_timestamp.Tpo" \
".deps/icmp_timestamp.Po"; else rm -f \
".deps/icmp_timestamp.Tpo"; exit 1; fi
icmp_timestamp.c: In function 'icmp_timestamp_encode':
icmp_timestamp.c:46: error: 'NULL' undeclared (first \
 use in this function)
icmp_timestamp.c:46: error: (Each undeclared identifier \
is reported only once
icmp_timestamp.c:46: error: for each function it appears in.)
make[2]: *** [icmp_timestamp.o] Error 1
make[2]: Leaving directory `/sources/inetutils-1.5/libicmp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/sources/inetutils-1.5'
make: *** [all] Error 2

"site:linuxfromscratch.org: icmp_timestamp.c" でぐぐると、少し前のバージョン(SVN-20080928) では、 libicmp/icmp_timestamp.c に "#include <stdlib.>" を追加していることが わかった。gcc4.3で小さな問題があるとか書いてある。
その通りにして make すると、無事に通った。

sedがとんでもないところに。

inetutilsの問題を調べている最中、LFSの直下に変な名前のディレクトリ "bin --enable-html"(間にスペースが入っている)を発見。中にsedが入っていた。

function mkinst {
  ./configure --prefix=/usr "$*" && \
  make && \
  make install && \ 
  cd ../ &&
  echo OK. ; 
};

で手間を省いたつもりが、どうもとんでもないことになっていたらしい。
(./configure --prefix=/usr --bindir=/bin --enable-html)

特定行のコメントアウト

GNU Sed 4.1.5 なら 's/^$PATTERN/# &/' とか。

どうにかLFS 起動はしたが、

実はカーネルはDebianからの借り物。
一応ログインプロンプトだけは拝めることを確認。

さて、さっさと自前でカーネルをビルドせねば。
でも、なかなかUSBブートはうまくいかない。


2013-10-10(Thu) まだ秋晴れじゃないような

USB-CVIDE3

対応はWindowsしか書いてなかったが、 Debian Wheezy であっさり動いた。

[  861.552083] usb 1-2: new high-speed USB device \
 number 3 using ehci_hcd
[  861.686171] usb 1-2: New USB device found,\
 idVendor=174c, idProduct=55aa
[  861.686183] usb 1-2: New USB device strings: Mfr=2, \
 Product=3, SerialNumber=1
[  861.686193] usb 1-2: Product: ASMT1051
[  861.686201] usb 1-2: Manufacturer: asmedia
[  861.686209] usb 1-2: SerialNumber: XXXXXXXXXXXX
[  861.692653] scsi3 : usb-storage 1-2:1.0
[  862.693148] scsi 3:0:0:0: Direct-Access     ASMT \
     2105             0    PQ: 0 ANSI: 6
[  862.698204] sd 3:0:0:0: Attached scsi generic sg3 type 0
[  866.978628] sd 3:0:0:0: [sdc] 977580033 512-byte \
 logical blocks: (500 GB/466 GiB)
[  866.979481] sd 3:0:0:0: [sdc] Write Protect is off
[  866.979493] sd 3:0:0:0: [sdc] Mode Sense: 43 00 00 00
[  866.983474] sd 3:0:0:0: [sdc] Write cache: enabled,\
 read cache: enabled, doesn't support DPO or FUA
[  867.045402]  sdc: sdc1 sdc2 sdc4 < sdc5 sdc6 >
[  867.049452] sd 3:0:0:0: [sdc] Attached SCSI disk

2016-10-10(Mon) なにもしないたいいくのひ

pfctl(8)

借りていたVPSにFreeBSDで少し遊んでいたが、 そろそろ消すか。
FreeBSDで本格運用はちょっと...

見様見真似のpf。最初の一行ですべてブロック、 最後の一行で、外向けのトラフィックと、 それに連なる内向けトラフィックを許可、らしい。
リスト、マクロ、テーブルで一応の通信はできてたはず。

$ cat /etc/pf.conf
block in all
 
pass inet proto icmp from any to any  keep state
pass in  from localhost to any  keep state
 
tcp_client = "{ssh, imaps, submission }"
tcp_serv = "{http, https, smtp}"
 
table <mynodes> const { $IP1, $IP2 }
table <myglobal> const { $IP/MASK1, $IP/MASK2 }
 
pass inet proto tcp from <mynodes> to port $tcp_client keep state
pass inet proto tcp from <mynodes> to port $tcp_serv keep state
 
pass inet proto tcp from <myglobal> to port $tcp_client keep state
 
pass inet proto tcp  from $IP to port smtp keep state
 
pass out all keep state

pf(1)と書いていたが、間違いだろう。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。