| CPU | UltraSparc 200MHz x2 |
| メモリ | 768M |
| HDD | 36.4GB |
| CD-ROM | - |
| Floppy | - |
などなど.
% tar zxvf rp-pppoe-3.3.tar.gz % cd rp-pppoe-3.3/src % env ECHO=/usr/ucb/echo ./configure HAVE_NET_BPF_H が誤検出されるので,手で undefする. % vi config.h 74 /* Define if you have theheader file. */ 75 /* #define HAVE_NET_BPF_H 1 */ 76 #undef HAVE_NET_BPF_H % make # make install # touch /etc/ppp/options # vi /etc/ppp/pppoe.conf ETH=/dev/hme1 USER='opaopa-test@plala.or.jp' DNSTYPE=NOCHANGE USEPEERDNS=no DEFAULTROUTE=no /etc/ppp/pppoe.confはadsl-setupで設定する方がいいです
% tar zxvf dhcp-3.0.1rc9.tar.gz % cd dhcp-3.0.1rc9 % vi siet.conf INSTALL=/usr/ucb/install MANINSTALL=/usr/ucb/install LIBS = -lresolv -lsocket -lnsl -lgen CC=gcc COPTS = $(BINDDEF) -Wall -Wno-unused -Wno-implicit -Wno-comment \ -Wno-uninitialized -Wno-char-subscripts -Wno-switch -Werror \ -DSOLARIS_MAJOR=$(MAJORVERSION) -DSOLARIS_MINOR=$(MINORVERSION) \ $(CC_OPTIONS) CF = cf/sunos5-5.h ADMMANDIR = /usr/share/man/man1m ADMMANEXT = .1m FFMANDIR = /usr/share/man/man4 FFMANEXT = .4 LIBMANDIR = /usr/share/man/man3 LIBMANEXT = .3 USRMANDIR = /usr/share/man/man1 USRMANEXT = .1 MANCAT = man VARRUN = /etc VARDB = /etc SCRIPT=solaris % make # make install
あとは,こんなものを/etc/rc2.d/ 以下に置いておきます.# resolv.confの設定 option domain-name "opaopa.org"; option domain-name-servers 10.0.0.1, 130.54.?.?; ddns-update-style none; default-lease-time 600; max-lease-time 7200; log-facility local7; # 一般用 subnet 10.0.0.0 netmask 255.0.0.0 { range 10.0.0.10 10.0.0.20; option routers 10.0.0.1; } # 有線LAN用 host sakana { hardware ethernet 00:80:45:12:?:?; fixed-address sakana; option host-name "sakana"; } # 無線LAN用 host sakana-wireless { hardware ethernet 00:02:2D:3D:?:?; fixed-address sakana; option host-name "sakana"; }
プラベートには,p.opaopa.org (10.0.0.0/8) という名前を ふりました.正引き,逆引きができるようにしました.% tar zxvf bind-9.2.0.tar.gz % cd bind-9.2.0/ % ./configure --enable-libbind % make # make install
その他の設定ファイルも置いておきます.// named.conf acl local-machines { 10.0.0.0/8; 127.0.0.1/32; }; options { directory "/etc/bind/"; datasize 80M; allow-query { local-machines; }; // allow-transfer { none; }; allow-transfer { local-machines; }; }; controls {}; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; notify no; }; zone "p.opaopa.org" { type master; file "p.opaopa.org"; notify no; }; zone "0.0.10.in-addr.arpa" { type master; file "10.rev"; notify no; }; zone "." { type hint; file "named.root"; };
# pkgrm SUNWsndmu # pkgrm SUNWsndmr
あとは,saslpasswd -u home kokada とかして /etc/sasldb を作っておきます.% tar zxvf cyrus-sasl-1.5.27.tar.gz % cd cyrus-sasl-1.5.27 % export LDFLAGS='-L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.3.3/lib -R/usr/local/BerkeleyDB.3.3/lib' % export CPPFLAGS='-I/usr/local/BerkeleyDB.3.3/include' % ./configure --disable-gssapi --disable-krb4 --enable-login \ --with-dblib=berkeley --with-des=/usr/local/ssl % vi config.h /dev/random でなく /dev/urandom を使う. /dev/random を使うと認証時に妙に待たされます. #ifndef DEV_RANDOM #define DEV_RANDOM "/dev/urandom" #endif # make install # (cd utils;make install) # ln -s ../local/lib/sasl /usr/lib
のように設定します.pwcheck_method: pam
% tar zxvf zxvf sendmail.8.12.5.tar.gz % cd sendmail-8.12.5 % vi devtools/OS/SunOS.5.9 define(`confMAPDEF', `-DNEWDB -DMAP_REGEX') define(`confENVDEF', `-DSOLARIS=20900 -DSASL -DSTARTTLS') define(`confSM_OS_HEADER', `sm_os_sunos') define(`confLIBDIRS', `-R/usr/local/lib -L/usr/local/lib/sasl -R/usr/local/lib/sasl -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.3.3/lib -R/usr/local/BerkeleyDB.3.3/lib') define(`confINCDIRS', `-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.3.3/include') define(`confLIBS', `-lsocket -lnsl -lssl -lcrypto -lsasl') define(`confMANROOT', `/usr/local/man/man') define(`confMANROOTMAN', `/usr/local/man/man') % make # groupadd -g 25 smmsp # useradd -u 25 smmsp # make install # mkdir /var/spool/mqueue # /usr/local/ssl/bin/openssl req -new -x509 -nodes -out sendmail.pem -days 366 -keyout sendmail.pem # cp sendmail.perm /usr/local/ssl/certs/sendmail.pem # chmod 600 /usr/local/ssl/certs/sendmail.pem
します.% m4 cf/m4/cf.m4 sendmail.mc > sendmail.cf # cp sendmail.cf /etc/mail # cp cf/cf/submit.cf /etc/mail
DOMAIN(general)を入れると,EXPOSED_USER(root) がついてくるので,はずす.divert(-1) divert(0)dnl VERSIONID(`$Id: home.opaopa.org.mc $') OSTYPE(`solaris2')dnl # cf/domain/general.m4 の代り define(`confFORWARD_PATH', `$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward')dnl define(`confMAX_HEADERS_LENGTH', `32768')dnl FEATURE(`redirect')dnl FEATURE(`use_cw_file')dnl # From envelope MASQUERADE_AS(`h.opaopa.org') FEATURE(`allmasquerade') # envelope from なども h.opaopa.org にする FEATURE(`masquerade_envelope') # RELAYを許すホストの設定などは,access_dbでやります FEATURE(`access_db')dnl # h.opaopa.orgという MX を設定して,受けとれるようにしておきます. # To header $j define(`confDOMAIN_NAME', `h.opaopa.org')dnl define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy') FEATURE(`no_default_msa')dnl # SMTP AUTHの設定 define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 PLAIN LOGIN ANONYMOUS')dnl define(`confAUTH_OPTIONS', `A')dnl define(`confRAND_FILE', `/dev/urandom')dnl # DIGEST-MD5 CRAM-MD5 の認証のみ信用する(RELAYを許可する) TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5')dnl # SSL 関連の設定 define(`confCACERT_PATH', `/usr/local/ssl/certs/')dnl define(`confCACERT', `/usr/local/ssl/certs/sendmail.pem')dnl define(`confSERVER_CERT', `/usr/local/ssl/certs/sendmail.pem')dnl define(`confSERVER_KEY', `/usr/local/ssl/certs/sendmail.pem')dnl define(`confCLIENT_CERT', `/usr/local/ssl/certs/sendmail.pem')dnl define(`confCLIENT_KEY', `/usr/local/ssl/certs/sendmail.pem')dnl # ヘッダの変更 (別にしなくていいです) define(`confRECEIVED_HEADER', `_REC_HDR_ $.$?{auth_type}(authenticated as ${auth_authen} $?{auth_author}for ${auth_author} $.with ${auth_type}) _REC_BY_ (using ${tls_version} with cipher ${cipher} (${cipher_bits}bits)) _REC_END_')dnl MAILER(local)dnl MAILER(smtp)dnl
h.opaopa.org sushi.p.opaopa.org home.opaopa.org home.d.opaopa.org
/etc/mail/access を更新したら, /etc/mail/access.db も更新する必要があります./etc/mail/access: 10.0.0.1 RELAY 10.0.0.2 RELAY 10.0.0.3 RELAY
NATの設定は,global 側のアドレスを指定する必要があるので, adsl-updateから setipnatを呼んで設定するように しています.% tar zxvf ip_fil3.4.23.tar.gz % cd ip_fil3.4.23 % make solaris % cd SunOS5 # pkgrm ipf # make pakcage # vi /etc/opt/ipf/ipf.conf # vi /etc/syslog.conf local0.info /var/adm/ipf # touch /var/adm/ipf # kill -HUP
## pptp gre pass in quick proto gre from any to any group 100 pass in quick proto tcp from any port = 1723 to any group 100 pass out quick proto gre from any to any group 150 pass out quick proto tcp from any to any port = 1723 group 150
"dynamic.opaopa.org"は,なんでもいいのですが, 以下のようにTTLを短かめにしておきます.zone "d.opaopa.org" { type master; file "dynamic.opaopa.org"; allow-update { localhost; }; };
$ORIGIN . $TTL 3600 ; 1 hour d.opaopa.org IN SOA d.opaopa.org. postmaster.d.opaopa.org. ( 2002021600 ; serial 1800 ; refresh (30 minutes) 900 ; retry (15 minutes) 86400 ; expire (1 day) 3600 ; minimum (1 hour) ) NS ??.opaopa.org. $ORIGIN d.opaopa.org. hoge A ?.?.?.?
Stop + a は,シリアルから Break 信号を送信することで実現できます. minicom なら C-z f で Break 信号を送ることができます.pr port /dev/ttyS0 pu baudrate 9600 pu minit ^M pu mreset pu mdialpre
あとは,/dev/ttyUSB0 がなければ作ってください.pr port /dev/ttyUSB0 pu baudrate 9600 pu minit ^M pu mreset pu mdialpre
みたいな感じで.パーミッションなどは適当に.# mknod /dev/ttyUSB0 c 188 0 # mknod /dev/ttyUSB1 c 188 1 # chown root:dialout /dev/ttyUSB* # chmod 660 /dev/ttyUSB*
として,/etc/apache/httpd.conf を下のように変更しただけです.ln -s ../init.d/apache /etc/rc2.d/S96apache
超手抜き…MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 10 #Loadmodule jserv_module libexec/mod_jserv.so #AddModule mod_jserv.c ServerAdmin webmaster@opaopa.org Servername home.opaopa.org
% tar zxvf webalizer-2.01-09-src.tar.gz % cd webalizer-2.01-09 % ./configure --enable-dns --with-language=japanese % make # make install # cp /etc/webalizer.conf.sample /etc/webalizer.conf # vi /etc/webalizer.conf OutputDir /var/apache/htdocs/stats/ LogFile /var/apache/logs/access_log HostName home.opaopa.org Incremental yes
や# /etc/init.d/samba-ja start
とかします.# /etc/init.d/samba-ja stop
% tar zxvf samba-2.2.2-ja-1.0.tar.gz % cd samba-2.2.2-ja-1.0/source % ./configure % make # make install # /usr/local/samba/bin/smbpasswd -a kokada
念のため,ip_filter でも,外部からアクセスできないように しておきます.# workgroup の変更 workgroup = 適当に # プラーベート側からのみ参照できるようする hosts allow = 10.0.0. # 無線LANのドライバを取れるようにする [drivers] path = /usr/local/samba/share/drivers public = yes writable = no
sample-configurations/basic.conf を元に /usr/local/etc/proftpd.conf を設定します.% tar zxvf proftpd-1.2.5rc1.tar.gz % cd proftpd-1.2.5rc1 % tar zxvf ../proftpd-site_index-0.1.tar.gz % ./configure --with-modules=mod_site_index % make # make install # groupadd ftp # useradd -g ftp ftp
ほとんど,そのままで,site index 関連の設定を追加しただけです.ServerName "ProFTPD opaopa.org" AllowSiteIndex on SiteIndexFile /00ls_archive MaxSiteIndexLines 30
#!/bin/sh ftphome=/usr/ftp lsfile=$ftphome/00ls_archive tmpfile=/tmp/00ls_archive /usr/local/bin/ls_archive \ -p /pub/ \ $ftphome/pub > $tmpfile 2> /dev/null if [ -f $lsfile ] ; then /bin/mv $lsfile $lsfile.old fi /bin/cp $tmpfile $lsfile ; /bin/rm -f $tmpfile /bin/chmod 444 $lsfile
broadcastclient yes driftfile /etc/ntp.drift server ntp.sut.ac.jp broadcast 10.255.255.255
SSH-1.99-Sun_SSH_1.0というやつのようです.
pid_file は一つだけ書けとありますが,サイズでrotateしたいので, とりあえずは無視.% gtar zxvf newsyslog-1.0.103.tar.gz % cd newsyslog-1.0.103 % ./configure --with-gzip --with-syslogd_pid=/var/run/syslog.pid --with-newsyslog_conf=/etc/newsyslog.conf % make SOELIM=gsoelim TBL=gtbl NROFF=gnroff % touch newsyslog.conf.5.html % touch newsyslog.8.html % make SOELIM=gsoelim TBL=gtbl NROFF=gnroff # make install # crontab -e #10 3 * * 0 /usr/lib/newsyslog 0 * * * * /usr/local/bin/newsyslog -i 60 # vi /etc/newsyslog.conf # # sample configuration file for newsyslog # # log_filename [owner:group] mode count kb hrs/at [flgs][/pid_file][sig] # | | | | | | | #/var/log/mail 644 30 * W0D0 Z0 #/var/log/mail.notice 644 30 * W0D0 Z0 /var/log/mail 644 30 100 * Z0 /var/log/mail.notice 644 30 100 * Z0 /var/adm/messages 644 30 100 * Z0 /var/adm/ipf 644 10 100 * Z0 /var/adm/pop 644 10 100 * Z0 /var/adm/dhcp 644 10 100 * Z0 /var/adm/adsl 644 10 100 * Z0 /var/adm/sudo 644 10 100 * Z0 /var/adm/kernel 644 10 100 * Z0 #/var/adm/cron 644 10 100 * Z0 #/var/cron/log 600 10 100 * Z0 /var/apache/logs/access_log 644 10 200 * Z0 /var/run/httpd.pid /var/apache/logs/error_log 644 10 200 * Z0 /var/run/httpd.pid /var/apache/logs/worm_log 644 10 200 * Z0 /var/run/httpd.pid
BK500 にはケーブルが附属しているのですが,DB9 - DB9 な物なので, DB9 - DB25 なケーブルを自作しました.結線は apcupsd-?/doc/README.cable を 参考にして,下記のようにしました.% gtar zxvf apcupsd-3.8.5.tar.gz % cd apcupsd-3.8.5 % ./configure --with-serial-dev=/dev/ttyb % make # make install % vi /etc/opt/apcupsd/apcupsd.conf # ケーブルは自作します UPSCABLE simple # BK500 は backups UPSTYPE backups # /dev/ttya は シリアルコンソール用なので,ttyb を使う DEVICE /dev/ttyb # BK500 は MINUTES は使えません MINUTES -1 # MINUTES の代り.商用電源が落ちてから 300秒で shutdown TIMEOUT 300 # 一台しかつながないので off NETSERVER off # /etc/rc2.d/S89apcupsd start
PC UPS DB25 DB9 4 ------- 1 (黄) 7 ------- 4 (緑) 8 ------- 2 (青) frame ------- 9 (銀)色はごく個人的なメモなので気にしないでください.
とかやってください. もし面倒なら,rebootする前にboot -r
としておくといいです.touch /reconfigure
余談
ノートパソコンが シリアルのないものになったので,
シリアルコンソールなしで作業していました.reconfigureしたら
boot diskを認識できなくなって,帰ってこなくなってあせりました.
そうこうしていると,
パーティションテーブルが壊れて,一時,
どうしようもない状態になりました.
ごちょごちょやって,なんとか復活しましたが,
その間,一日半ぐらいはかなり欝でした….
余談
はじめ,Software RAID化することを検討したんですが,
パーティションの切りなおしがどうにも面倒そうだったので,やめました.
Softwaer RAIDやりたい人は,
とりあえず,
ここ
や
ここが
参考になると思います.
とりあえずマウントしてみると,大まかなブロック数が わかります.ただし,この値は 1ブロップ 1024byteとした ときのものなので,注意が必要です.# format partition label quit quit
ブロクサイズは prtvtocで調べます. 1 block = 512 byteなので, /dev/dsk/c0t0d0s0 のブロック数は985800ぐらいとなります.# mount /dev/dsk/c0t0d0s0 /mnt % df -k /mnt Filesystem 1k-blocks Used Available Use% Mounted on /dev/dsk/c0t0d0s0 492900 95565 348045 22% /
492900*1024/512 = 985800 blocks普通シリンダ数単位でパーティションサイズを指定するので, この数字をシリンダ数になおします.
985800 / 2685 = 367.15 cylinder実際には,もうちょっと大きい値になるので,368をスタートに 順番に探っていきます.
c.f. man newfs の -m のところ
start=368 end=400 device=/devices/sbus\@1f,0/SUNW,fas\@e,8800000/sd\@0,0\:a,raw partition=/dev/dsk/c0t0d0s4を適当に修正して,root で実行してください.
# prtvtoc /dev/dsk/c0t0d0s0
* /dev/dsk/c0t0d0s0 partition map
*
* Dimensions:
* 512 bytes/sector <--- ブロックサイズ
* 537 sectors/track
* 5 tracks/cylinder
* 2685 sectors/cylinder
* 26866 cylinders
* 26864 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 69791205 2338635 72129839
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 0 1049835 1049834 /mnt
1 7 00 1049835 2099670 3149504 /mnt/var
2 5 01 0 72129840 72129839
3 4 00 3149505 20996700 24146204 /mnt/usr
4 8 00 24146205 45645000 69791204
Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 390 512.61MB (391/0/0) 1049835 1 var wm 391 - 1172 1.00GB (782/0/0) 2099670 2 backup wu 0 - 26863 34.39GB (26864/0/0) 72129840 3 usr wm 1173 - 8992 10.01GB (7820/0/0) 20996700 4 home wm 8993 - 25992 21.77GB (17000/0/0) 45645000
sol-9-br-sparc-v1-a.zip sol-9-br-sparc-v1-b.zip sol-9-br-sparc-v1-c.zip sol-9-br-sparc-v2.zip sol-9-lang-br-sparc.zip mkimages以下のようにすると,
*.isoができます.sh ./mkimages
sol-9-br-sparc-v1.iso sol-9-br-sparc-v2.iso sol-9-lang-br-sparc.isoあとは,xcdroastなりなんなりで,CD-Rに焼きます.
/var/sadm/system/logs/upgrade_log /var/sadm/system/data/upgrade_cleanupを確認しろというメッセージと2枚目のCDを入れて, リブートするように指示されます. ここで,eject cdrom とかやってもCDを取り出せないので, 少しあせりますが,とりあえず1枚目のCDを入れたままでリブートします. ブート途中で,
{0} eject cdrom
{0} boot
して,CDを入れ換えます.2枚目のCDはbootableではないので,
アップグレードした OS の方をそのまま起動します.
--- 25% ------ 50%とか出て,100%になると,Language CDを入れるように言われます. なしでもいいでしょう.
SunOS sushi 5.9 Beta sun4u sparc SUNW,Ultra-2が
SunOS sushi 5.9 Beta_Refresh sun4u sparc SUNW,Ultra-2になりました.
ncftp ggrep gtar glib-config gtk-config tclsh8.3 smb* wgetなど入っています.
止めるサービス /etc/rc2.d/S80lp /etc/rc2.d/S85power /etc/rc2.d/S90wbem /etc/rc2.d/S94Wnn6 /etc/rc2.d/S95IIim /etc/rc2.d/S99dtlogin /etc/rc3.d/S76snmpdx /etc/rc3.d/S77dmi/etc/inetd.conf は,ほぼ全て止めています.
を追加しておきました.sshd: ALL
生成された result-* を見てください.% gunzip -c patch.tar.gz | tar xvf - % make % less result-*
INSTALLED でも,Installed Revision が Latest Revision よりも古い場合は, 新しい Revision のものを ここ から取ってきて,入れましょう.INSTALLED PATCHES Patch Installed Latest Synopsis ID Revision Revision ------ --------- -------- ------------------------------------------------------------ 112233 02 CURRENT SunOS 5.9: Kernel Patch 112617 01 CURRENT CDE 1.5: rpc.cmsd patch 112785 05 06 X11 6.6.1: Xsun patch 112808 02 03 OpenWindows 3.6.3: Tooltalk patch
とかやってみてください.route add -host 1.1.1.1 eth0