Category Archives: FreeBSD - Page 3

FreeBSDでport / socketの一覧を確認


FreeBSDでどのプロセスがどのポート(socket)をlistenしているか確認したいことはよくある。
で、

# sockstat -4l

とかすると

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
nobody httpd 94727 38 tcp4 *:443 *:*
nobody httpd 94727 39 tcp4 *:80 *:*

こんな具合に一覧を表示してくれるのだが、コマンドを忘れがちなのでメモしておく。

Disk高負荷時のFreeBSDとLinuxの違い


Diskが忙しい時や、プロセスが無限ループで上げられている時のFreeBSDとLinuxの
実装の違いについてのスレッドがFreeBSD-users-jpのこのスレッドで流れていて面白い。
あんま興味ない人はつつかないでください。CGI大変そうなので。↑
やぱしLinuxは好かんです。
だいたい、Linuxのサポート、ちっとも親切じゃないし。金払う価値あるんかね。

sparcでacdと格闘


Netra X1が手元に転がっていて勿体無かったので、FreeBSDを入れることにした。
で、5.2.1-RELEASEが入っていたのだが、古いので5.4-RC3を入れようと挌闘したのだが、

acd0: DVDR  at ata3-master UDMA33
acd0: TIMEOUT - READ_BIG retrying (2 retries left)
acd0: FAILURE - READ_BIG timed out

と出てうまく掴めない。で、いろいろ調べたところ、

Hit [Enter] to boot immediately, or any other key for command prompt.
OK set hw.ata.atapi_dma=0
OK boot

といった具合にDMAを切ってやるとうまくいきました。
んで、install後のdmesgはこんな感じ。

Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.4-RC3 #0: Sun Apr 17 22:09:27 UTC 2005
root@binkley.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
Timecounter "tick" frequency 400000000 Hz quality 1000
real memory  = 134217728 (128 MB)
avail memory = 115744768 (110 MB)
cpu0: Sun Microsystems UltraSparc-IIe Processor (400.00 MHz CPU)
nexus0: 
pcib0:  on nexus0
pcib0: Sabre, impl 0, version 0, ign 0x7c0, bus A
pcib0 dvma: DVMA map: 0x60000000 to 0x63ffffff
pci0:  on pcib0
isab0:  at device 7.0 on pci0
isa0:  on isab0
pci0:  at device 3.0 (no driver attached)
pci0:  at device 3.0 (no driver attached)
dc0:  port 0x10000-0x100ff at device 12.0 on pci0
miibus0:  on dc0
ukphy0:  on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc0: Ethernet address: 00:03:ba:06:2f:ce
dc0: if_start running deferred for Giant
dc1:  port 0x10100-0x101ff mem 0x2000-0x20ff at device 5.0 on pci0
miibus1:  on dc1
ukphy1:  on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: Ethernet address: 00:03:ba:06:2f:ce
dc1: if_start running deferred for Giant
pci0:  at device 10.0 (no driver attached)
atapci0:  port 0x10220-0x1022f,0x10208-0x1020b,0x10210-0x10217,0x10218-0x1021b,0x10200-0x10207 at device 13.0 on pci0
ata2: channel #0 on atapci0
ata3: channel #1 on atapci0
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 on isa0
uart0: console (9600,n,8,1)
uart1: <16550 or compatible> at port 0x2e8-0x2ef irq 4 on isa0
rtc0:  at port 0x70-0x71 on isa0
Timecounters tick every 10.000 msec
ad0: 19092MB  [38792/16/63] at ata2-master UDMA66
Mounting root from ufs:/dev/ad0a

Serial Console


追加したサーバにシリアルから乗れるようにしようとして、ここにメモしてなかったことに気づいたので書いておく。
FreeBSD ハンドブック 16.6 シリアルコンソールの設定を見ると書いてあるのだが……
1. boot時のメッセージをserialにも吐くようにする。
/boot.configにパラメータを書いてやる。
-Dh
とか書いておくと、キーボードが刺さっていてもいなくても、CRTとCOM:1にでろでろとメッセージが出てきて幸せ。
2. serialからloginできるようにする。
/etc/ttysを下記のように書き換えてやる。

ttyd0   "/usr/libexec/getty std.9600"   vt100   on  secure

と、シリアルからログインプロンプトが出てきます。

5.3-RELEASE-p9とp10が出た。


5.3-RELEASE-p9とp10が出てます。
最近また多いですね。

20050422:       p10     FreeBSD-SA-05:05.cvs
Correct several vulnerabilities in CVS.
20050414:       p9      FreeBSD-SA-05:04.ifconf
Zero a buffer in ifconf() in order to avoid accidental
disclosure of kernel memory to userland.

ifconf()とCVSまわりです。