ちょっと前から次の本を書いてます。 今回は高橋 (征) さんとゆうぞうさんと合同で…… というか、お二人が書いてるとこにぼくが追加で入りました。 『たのしいRuby』の続きみたいな感じで、Ruby のクックブックを書いてます。
題名はいまんとこ『おいしいRuby (仮称)』ということになってます。 ぼくは『Ruby で 194!』 (レシピが 194 個) が断然いいと推薦したのですが、あっさり蹴られました。くそう。 もっともレシピは 194 どころか 275 あるんですけどね。 『たのしい Ruby』サイズで入るのかなあ。
目次はいまのところこんな感じです。キャプションも未定。
来春発売予定。たぶん。
ひらめいた!
ということで Tru64UNIX がインストールできることになった。
ところで全然関係ないが Google で "alpha station" を検索すると 予想される単語:"alphastation" と言われたりする。
対象マシンは digital AlphaStation 500 5/400。 シリアルコンソールを使ってインストールする。
基礎データ
Digital AlphaStation 500/400 Console V6.9-5 built on Oct 10 1998 at 14:22:57 >>>show config Firmware SRM Console: V6.9-5 ARC Console: 4.57 PALcode: VMS PALcode V1.20-0, OSF PALcode V1.22-0 SROM Version: V2.05 Processor DECchip (tm) 21164A-1 Pass 1 400 MHz 96 KBytes SCache 2 MB BCache CIA ASIC Pass 3 MEMORY Memory Size = 256Mb Bank Size/Sets Base Addr Speed ------ ---------- --------- ----- 00 256Mb/2 000000000 Fast BCache Size = 2Mb Tested Memory = 33Mbytes PCI Bus Bus 00 Slot 06: DECchip 21040 Network Controller ewa0.0.0.6.0 00-00-F8-22-65-EB Bus 00 Slot 09: ISP1020 Scsi Controller pka0.7.0.9.0 SCSI Bus ID 7 dka100.1.0.9.0 RZ2DC-KA dka400.4.0.9.0 RRD45 Bus 00 Slot 10: Intel 8275EB PCI to Eisa Bridge >>>show device dka100.1.0.9.0 DKA100 RZ2DC-KA 5520 dka400.4.0.9.0 DKA400 RRD45 0436 dva0.0.0.0.1 DVA0 ewa0.0.0.6.0 EWA0 00-00-F8-22-65-EB pka0.7.0.9.0 PKA0 SCSI Bus ID 7 5.57
まず念のためにファームウェアの変数を設定しておく。
>>>set auto_action halt >>>set boot_osflags ""
特に boot_osflags はちゃんと空にしておかないとインストーラが止まる。
では、Operating System CD-ROM vol.1 (1 しかないけど) を入れて そこからブートする。デバイス名は show device で確かめておくこと。
>>>boot dka400
いろいろ聞いてきた。
いつもは最小 or カスタムでインストールするんだけど、 ディスクがちょっと大きめ (8GB) なので強気に出てみた。
時間かかるなあ。
うわっ! Netscape の 4.76 とか入れてるよ! またそんなバグバグなバージョンを……。 せっかくだから CSS バグを体験してみるか?
Java VM を入れてくれるのはいいが、1.3.1 って古いなあ。
Perl 5.8? こいつだけずいぶん新しいような。
I/O error (errno 5) for block(0x2230, 0x2230) on device 255,1
なんか気になるメッセージが出ている。 が、何事もなく終わったので大丈夫っぽい。
root でログインしたら何かメッセージが出てきた。 あーもう、いいかげんメニューはやめてくれないかあ。 シリアル接続だと遅くて遅くて……。
んーと、ライセンスを入力しろと言ってるな。めんどくせえ。 Solaris は何もしなくても全機能が使えたのにー。
む、(ライセンスの) checksum が違うと言われとる。 ライセンスシートに書いてある通りに入力してるんだけどな。
うう、UNIX-WORKSTATION ライセンスがないと言われて 一般ユーザでログインできない。なんだそれは。
/usr/sbin/setup のメニューで出てくる Custom Setup で OSF-BASE OSF-USR OSF-SRV OSF-DEV のライセンスをロードしたら うまくいった。やれやれ。やっぱ Linux にしても NetBSD にしても、 こういうのがないと気楽でいいなあ。 論理的に正しいかどうかだけ考えてりゃいいんだから。
おっ、ホームディレクトリが /usr/users/aamine だ。 でも /home も一応あるのな。
デフォルトシェルは当然というか何と言うか /bin/sh だ。 さすがに tcsh とか zsh は入ってないので、とりあえず ksh にしておこう。
何気なく help と叩いたらなんかメッセージが!
$ help The commands: man -k keyword lists commands relevant to a keyword man command prints out the manual pages for a command are helpful; other basic commands are: cat - concatenates files (and just prints them out) vi - text editor finger - user information lookup program ls - lists contents of directory mail - sends and receives mail passwd - changes login password sccshelp - views information on the Source Code Control System tset - sets terminal modes who - who is on the system write - writes to another user You could find programs about mail by the command: man -k mail and print out the man command documentation via: man mail You can log out by typing "exit". $ which help /bin/help
へー。
ちなみにデフォルトでプロセスはこんなもん。 フルインストールにしたせいかすごい数になってる。
$ ps -ef UID PID PPID C STIME TTY TIME CMD root 0 0 0.0 23:01:34 ?? 0:05.60 [kernel idle] root 1 0 0.0 23:01:34 ?? 0:00.25 /sbin/init -a root 23 1 0.0 23:01:37 ?? 0:01.67 vold -k -m boot root 29 1 0.0 23:01:39 ?? 0:00.52 /sbin/kloadsrv root 31 1 0.0 23:01:40 ?? 0:00.01 /sbin/hotswapd root 123 1 0.0 23:01:51 ?? 0:00.05 /usr/sbin/esmd root 134 1 0.0 23:01:52 ?? 0:00.01 /sbin/update root 259 1 0.0 23:01:56 ?? 0:00.66 /usr/sbin/evmd root 299 259 0.0 23:01:57 ?? 0:00.60 /usr/sbin/evmlogger - root 300 259 0.0 23:01:57 ?? 0:00.06 /usr/sbin/evmchmgr -l root 427 1 0.0 23:02:03 ?? 0:00.10 /usr/sbin/syslogd -e root 431 1 0.0 23:02:03 ?? 0:00.02 /usr/sbin/binlogd root 493 1 0.0 23:02:04 ?? 0:00.02 /usr/sbin/portmap root 653 1 0.0 23:02:09 ?? 0:00.12 /usr/sbin/sshd2 root 855 1 0.0 23:02:17 ?? 0:00.02 /usr/sbin/cpqthresh_m root 860 1 0.0 23:02:17 ?? 0:01.42 /usr/sbin/insightd root 885 1 0.0 23:02:24 ?? 0:01.06 /usr/sbin/config_hmmo root 887 1 0.0 23:02:24 ?? 0:00.77 /usr/sbin/advfsd root 890 1 0.0 23:02:26 ?? 0:00.45 /usr/sbin/sysman_hmmo root 912 1 0.0 23:02:30 ?? 0:00.02 /usr/sbin/cron root 936 1 0.0 23:02:31 ?? 0:00.03 /usr/sbin/volnotify - root 967 1 0.0 23:02:32 ?? 0:00.02 /usr/sbin/volwatch -m root 968 967 0.0 23:02:32 ?? 0:00.03 volnotify -p -f -w 15 root 982 1 0.0 23:02:33 ?? 0:00.02 /usr/lbin/lpd root 1127 1 0.0 23:02:35 ?? 0:00.01 /usr/sbin/utxd root 1143 1 0.0 23:02:36 ?? 0:00.01 /usr/dt/bin/dtlogin - root 1196 1 0.0 23:02:39 ?? 0:01.49 /usr/opt/java131/bin/ root 1231 1 0.0 23:02:43 ?? 0:02.43 /usr/sbin/smsd -d root 2096 1 0.0 23:38:14 ?? 0:00.01 /usr/sbin/mountd -i root 2098 1 0.0 23:38:14 ?? 0:00.01 /usr/sbin/nfsd -t8 -u root 2101 1 0.0 23:38:14 ?? 0:00.00 /usr/sbin/nfsiod 7 root 2104 1 0.0 23:38:14 ?? 0:00.02 /usr/sbin/rpc.statd root 2106 1 0.0 23:38:14 ?? 0:00.03 /usr/sbin/rpc.lockd root 2169 1 0.0 23:38:16 ?? 0:00.04 /usr/sbin/snmpd root 2171 1 0.2 23:38:16 ?? 0:00.05 sendmail: accept -bd root 2179 1 0.0 23:38:18 ?? 0:00.00 /usr/sbin/svrSystem_m root 2180 1 0.0 23:38:18 ?? 0:00.01 /usr/sbin/svrMgt_mib root 2181 1 0.0 23:38:18 ?? 0:00.08 /usr/sbin/pmgrd root 2182 1 0.0 23:38:18 ?? 0:00.03 /usr/sbin/os_mibs root 2211 1 0.0 23:38:18 ?? 0:00.00 /usr/sbin/inetd root 2212 2211 0.0 23:38:18 ?? 0:00.03 -child (inetd) root 2214 1 0.0 23:38:19 ?? 0:00.09 /usr/sbin/cpq_mibs root 2284 1 0.0 23:38:33 ?? 0:00.03 /usr/sbin/xntpd -g -c root 2513 653 0.3 23:56:15 ?? 0:00.27 /usr/sbin/sshd2 root 2541 1 0.0 00:08:03 console 0:00.02 /usr/sbin/getty conso aamine 2516 2513 0.1 23:56:19 pts/0 0:00.13 /usr/bin/ksh root 2545 2516 0.0 00:08:17 pts/0 0:00.03 ps -ef
これまで見た中では断突で最大だ。
メモリと HDD はどうなってるんだ。
$ free /usr/bin/ksh: free: not found $ vmstat Virtual Memory Statistics: (pagesize = 8192) procs memory pages intr cpu r w u act free wire fault cow zero react pin pout in sy cs us sy id 3 136 37 13K 12K 3793 195K 39K 59K 0 37K 0 34 212 280 1 1 98 $ df Filesystem 512-blocks Used Available Capacity Mounted on root_domain#root 786432 207610 566656 27% / /proc 0 0 0 100% /proc usr_domain#usr 4300800 1857562 2372208 44% /usr usr_domain#var 4300800 29592 2372208 2% /var $ df -m df: illegal option -- m usage: df [-hPeikn] [-t fstype] [file | file_system ...] $ df -h Filesystem Size Used Available Capacity Mounted on root_domain#root 384M 101M 277M 27% / /proc 0 0 0 100% /proc usr_domain#usr 2100M 907M 1158M 44% /usr usr_domain#var 2100M 14M 1158M 2% /var
おー、なんか df が見たことのないフォーマットになっている。
vmstat の見かたがよくわからん。 1.3MB ってことはないだろうから、130MB 使ってるのかな? ずいぶんでかいな。
あ、/proc がある。そりゃあるか。
uname
$ uname -a OSF1 as500.loveruby.net V5.1 2650 alpha
ぐわー、補完、補完がないと生きていけねえ! えーと、ksh の補完キーは…… set -o emacs してから ESC ESC か。 めんどくさいなあ。しかも候補のリストを表示するのが別のキーで ESC = か。 さっさと zsh 入れよう。
$ dmesg /usr/bin/ksh: dmesg: not found
え、ないの?
vi のバージョン
Revision: 4.3.23.2 $ $Date: 1996/07/25 12:35:46 $
/usr/ucb はっけん。
げ、Mozilla もあんのか?
$ ls /usr/opt FSF/ SYSCHECK126/ java131/ obsolete/ ultrix/ OpenGL/ alt/ netscape6/ s5/
いろいろあるようだ。
$ cc -V Compaq C V6.5-011 on Compaq Tru64 UNIX V5.1B (Rev. 2650) Compiler Driver V6.5-003 (sys) cc Driver
おおおおお、ccc ガっ! ccc が入ってる! 偉いっっっ!
$ cat hello.c #include <stdio.h> int main(int argc, char **argv) { puts("Hello, World!"); exit(0); } $ cc -ohello hello.c ld: -ohello: Unknown flag ld: Usage: ld [options] file [...] $ cc -o hello hello.c $ ls hello* hello.c $ ./hello Hello, World!
ところで、最近の more って逆スクロールできんのね。知らなかった。
ファイルツリーがごちゃごちゃでわけわからん。
$ ls -s /genvmunix 12480 /genvmunix*
だめだ、時間切れ。続きはまたこんどにしよう。
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
(仮称)もタイトルの一部でしょうか?
ruby に 474! で 474個。2474 で(略)。
全然知らないで書くと、13Kってのは13K pages、つまり13K * 8192 = 104MB だったりしませんかね。
... あんまりかわらん。
あ、そうか、ページ数かあ。なるほど。
言われてみると確かにそれっぽいというかそれ以外ない感じですね。
(鈍いなあ俺……)。vmstat(1) で確認しました。
Virtual memory information:
act Total number of pages on the active list, the inactive list (pages that
are allocated but are most likely to be used for paging), and UBC least
recently used (LRU) list.
free
Total number of pages that are clean and available for use.
wire
Total number of pages that are currently in use and cannot be used for
paging (not a real list).
ということで、ページ数だそうです。