From owner-FreeBSD-users-jp@jp.FreeBSD.org Mon Feb 27 17:31:16 2012
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id q1R8VGV66255;
	Mon, 27 Feb 2012 17:31:16 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from pis.elm.toba-cmt.ac.jp (pis.elm.toba-cmt.ac.jp [202.26.248.196])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id q1R8VEE66248
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 27 Feb 2012 17:31:14 +0900 (JST)
	(envelope-from kiri@pis.elm.toba-cmt.ac.jp)
Received: from kiri.pis.pis.elm.toba-cmt.ac.jp (kiri.pis [192.168.1.1] (may be forged))
	by pis.elm.toba-cmt.ac.jp (8.14.5/8.14.5) with ESMTP id q1R8V9Qq024467
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 27 Feb 2012 17:31:09 +0900 (JST)
	(envelope-from kiri@pis.elm.toba-cmt.ac.jp)
Message-Id: <201202270831.q1R8V9Qq024467@pis.elm.toba-cmt.ac.jp>
From: KIRIYAMA Kazuhiko <kiri@pis.elm.toba-cmt.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <20120227080348.FD49.60E52F2C@yahoo.co.jp>
References: <20120226165938.FD45.60E52F2C@yahoo.co.jp>
	<CAHHxN74x0eQpDRaw1k58WCmn=vdTSr2k_pJVaWU8TRNUoA+NqA@mail.gmail.com>
	<20120227080348.FD49.60E52F2C@yahoo.co.jp>
User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.9
 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.6 MULE XEmacs/21.4 (patch 22) (Instant
 Classic) (amd64--freebsd)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Mon, 27 Feb 2012 17:31:09 +0900
X-Sequence: FreeBSD-users-jp 93784
Subject: [FreeBSD-users-jp 93784] Re: rc.conf
 =?ISO-2022-JP?B?GyRCJE5AaCRHJE5AX0RqGyhC?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: kiri@pis.elm.toba-cmt.ac.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$B6M;3$G$9(B

At Mon, 27 Feb 2012 08:03:49 +0900,
$B$b$8$b$8(B wrote:
> 
> $B$*JV;v$"$j$,$H$&$4$6$$$^$9!#(B
> 
> $B3N$+$K(B initdiskless $B$b9M$($?$N$G$9$,!"$J$+$J$+;W$&$h$&$K(B
> $B9T$+$J$/$F!&!&!&(B(^^;
> 
> $B$b$&0lEY8!F$$7$F$_$^$9!#(B
> 
> Sun, 26 Feb 2012 22:41:40 +0900 $B$K!"(B
> Toshihiko ARAI <arai.toshihiko@gmail.com> $B$5$s$O=q$-$^$7$?(B:
> 
> > $B?70f$G$9!#(B
> > 
> > 2012$BG/(B2$B7n(B26$BF|(B16:59 $B$b$8$b$8(B <mojimoji528@yahoo.co.jp>:
> > > $B3'MM$*JV;v$"$j$,$H$&$4$6$$$^$7$?!#(B
> > >
> > > $B$d$O$j$G$-$J$$$N$G$9$M!&!&!&(B
> > >
> > > $B;v$NH/C<$O(B
> > > http://www.sanda.gr.jp/non/diskless.html
> > > $B$N(B
> > 
> > $B$Q$C$H8+$G$9$,8E$9$.$k$H;W$$$^$9!#(B
> > diskless(8) $B$HB?J,%O%s%I%V%C%/$"$?$j$K$b@bL@$"$k$H;W$&$s$G$9$,(B
> > 
> > > -----
> > > rc.conf$B$O(Bhostname, ifconfig$B$,LdBj$K$J$j$^$9$,!"(Bhostname$B$O(B
> > > BOOTP$B$G@_Dj$5$l$F$$$k$N$G!"(Brc.conf$B$r8+$J$$$h$&$G$9!#(B
> > > ifconfig$B$O!"(Brc.conf$B$G5-=R$7$J$$$N$,0l$D$N<j$G$9!#(B2$B$DL\$N(B
> > > $B%$%s%?!<%U%'!<%9(B $B$,$"$k>l9g$K$OLdBj$K$J$j$^$9!#(B keyboard
> > > $B$NG[Ns$d%^%&%9$N@\B3@h$bLdBj$K$J$j$=$&$G$9!#(B $B$=$3$G!"(B
> > > rc.conf$B$N:G8e$K!"(B
> > >
> > > if [ "`hostname -s`" ] ; then
> > >        if [ -f "/etc/rc.conf.`hostname -s`" ]; then
> > >                . /etc/rc.conf.`hostname -s`
> > >        fi
> > > fi
> > > $B$rDI2C$7$F!"(B/etc/rc.conf.hostname$B$r;H$($k$h$&$K$7$^$7$?!#(B
> > > $B$3$l$G(B rc.conf$B$O6&DL$N@_Dj(B($B%G%#%9%/$N$D$$$F$$$k%5!<%PMQ(B)$B!"(B
> > > $B%G%#%9%/%l%9%/%i%$%"%s%H(B1$BMQ$N@_Dj$O(B rc.conf.client1 $B$G>e(B
> > > $B=q$-$H(B $B$9$k$3$H$,=PMh$^$9!#(B
> > > -----
> > > $B$H$$$&5-=R$N$?$a$G$7$?!#(B
> > >
> > > $B:#!"J#?t$N(BFreeBSD$B$r%G%#%9%/%l%9$GN)$A>e$2$h$&$H$7$F$^$7(B
> > > $B$F!"$=$N%^%7%sFCM-$N@_Dj%U%!%$%k$@$1$rJLN)$F$K$7$h$&$H;W$C(B
> > > $B$F$*$j$^$9!#(B
> > >
> > > $B$G!">e5-$NJ}K!$r;W$$$D$$$?$N$G$9$,!"$^$!!">e5-$NJ}K!$b$&(B
> > > $B$^$/$O9T$-$^$;$s$G$7$?!J>P!K(B
> > > $B$=$N$?$a!"JL$NJ}K!$r<h$C$?$N$G$9$,!"$J$s$;5$;}$A0-$$$N$G(B
> > > rc.conf $B$+$iCM$@$1@_Dj$G$-$kB>$N%U%!%$%k$,;XDj$G$-$J$$$+(B
> > > $B$H;W$C$?$o$1$G$9!#!#!#!#(B
> > 
> > $B$$$^$I$&$J$C$F$$$F5$;}$A0-$$$N$+J,$+$s$J$$$G$9$,!"$=$3$^$GL5M}$;$:(B
> > /conf/ $BG[2<$K%/%i%$%"%s%HB&$N%U%!%$%k$r=`Hw$7$?$N$G$$$1$^$;$s$+!)(B
> > $B6&DL%U%!%$%k$O(B diskless_remount $B@_Dj$7$F$*$1$P$$$$$G$9$7!#(B

$B$&$A$G$O"-$N$h$&$K$7$F$^$9!%(B

admin@diskless:/conf[386]% ll
total 18
drwxr-xr-x    5 root  wheel   512 Apr 20  2011 .
drwxr-xr-x   28 root  wheel  1024 Feb 27 15:00 ..
drwxr-xr-x    4 root  wheel   512 Jun 25  2011 base
drwxr-xr-x    4 root  wheel   512 Mar 26  2010 default
drwxr-xr-x  112 root  wheel  3072 Mar  4  2011 ip
-rw-r--r--    1 root  wheel    35 Apr 20  2011 permanent_mount
-rw-r--r--    1 root  wheel    31 Apr 20  2011 permanent_mount.bak
-rw-r--r--    1 root  wheel    31 Apr 25  2010 permanent_mount.latest
admin@diskless:/conf[387]% ll base/
total 8
drwxr-xr-x   4 root  wheel  512 Jun 25  2011 .
drwxr-xr-x   5 root  wheel  512 Apr 20  2011 ..
drwxr-xr-x   2 root  wheel  512 Apr 23  2011 etc
drwxr-xr-x  22 root  wheel  512 May 18  2010 var
admin@diskless:/conf[388]% find base/etc -type f
base/etc/diskless_remount.bak
base/etc/diskless_remount
base/etc/md_size.bak
base/etc/md_size
admin@diskless:/conf[389]% cat base/etc/diskless_remount
/etc
admin@diskless:/conf[390]% cat base/etc/md_size
128000
admin@diskless:/conf[391]% ll base/var
total 46
drwxr-xr-x  22 root    wheel   512 May 18  2010 .
drwxr-xr-x   4 root    wheel   512 Jun 25  2011 ..
drwxr-xr-x   2 root    wheel   512 Dec 29  2009 account
drwxr-xr-x   4 root    wheel   512 Dec 29  2009 at
drwxr-x---   2 root    audit   512 Dec 29  2009 audit
drwxr-x---   2 root    wheel   512 Dec 30  2009 backups
drwxr-xr-x   3 root    wheel   512 Dec 29  2009 cache
drwxr-x---   2 root    wheel   512 Dec 29  2009 crash
drwxr-x---   3 root    wheel   512 Dec 29  2009 cron
drwxr-xr-x  13 root    wheel   512 Jan  8  2010 db
dr-xr-xr-x   2 root    wheel   512 Dec 29  2009 empty
drwxrwxr-x   2 root    games   512 Dec 29  2009 games
drwx------   2 root    wheel   512 Dec 29  2009 heimdal
drwxr-xr-x  10 root    wheel   512 Dec 29  2009 lib
drwxr-xr-x   3 root    wheel   512 May 18  2010 log
drwxrwxr-x   2 root    mail    512 Jan  8  2010 mail
-rw-r--r--   1 root    wheel     7 Mar 26  2010 md_size
drwxr-xr-x   2 daemon  wheel   512 Dec 29  2009 msgs
drwxr-xr-x   2 root    wheel   512 Dec 29  2009 preserve
drwxr-xr-x   8 root    wheel   512 Jan  8  2010 run
drwxrwxr-x   2 root    daemon  512 Dec 29  2009 rwho
drwxr-xr-x   8 root    wheel   512 Dec 29  2009 spool
drwxrwxrwt   2 root    wheel   512 Jan  8  2010 tmp
admin@diskless:/conf[392]% find default -type f
default/etc/X11/xorg.conf.bak
default/etc/X11/xorg.conf
default/etc/X11/xorg.conf.org
default/etc/X11/xorg.conf.NEC_PC-MY30YEZEH
default/etc/csh.cshrc
default/etc/amd.map
default/etc/csh.login.bak
default/etc/csh.login
default/etc/devfs.conf.bak
default/etc/csh.logout
default/etc/devfs.conf
default/etc/fstab.bak
default/etc/fstab
default/etc/master.passwd.bak
default/etc/printcap-1
default/etc/fstab.latest
default/etc/fstab.tmp
default/etc/group
default/etc/host.conf
default/etc/hosts
default/etc/hosts.allow
default/etc/localtime
default/etc/master.passwd
default/etc/rc.conf.default
default/etc/printcap-2
default/etc/pwd.db
default/etc/master.passwd.nis
default/etc/rc.conf.default.bak
default/etc/rc.local.org
default/etc/shells
default/etc/spwd.db
default/etc/ttys
default/etc/ttys.bak
default/etc/wall_cmos_clock
default/etc/rc.conf.default.nis
default/etc/group.nis
default/etc/group.org
default/etc/rc.conf.default.org
default/etc/master.passwd.new
default/etc/master.passwd.org
default/etc/hosts.bak
default/etc/host.conf.bak
default/etc/resolv.conf
default/etc/master.passwd.old
default/var/log/lastlog
default/var/log/wtmp
admin@diskless:/conf[393]% cat default/etc/rc.conf.default
#
# General
#
inetd_enable="YES"
#local_startup="NO"
#local_startup="/usr/local/kde4/etc/rc.d"

#
# Networking
#
#   fundamental
network_interfaces="lo0 em0"
defaultrouter="192.168.2.254"
#   DHCP
ifconfig_em0="DHCP"
#   NIS/NFS
#nisdomainname="cct2"
#nis_client_enable="YES"
nfs_client_enable="YES"
nfs_access_cache="8"
nfs_bufpackets="64"
#nfs_client_flags="-n 6"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
#   ssh
sshd_enable="YES"
#   usb
usbd_enable="YES"
#   amd
amd_enable="YES"
amd_flags="-l syslog /a /etc/amd.map"

# KDE
dbus_enable="YES"
#hald_enable="YES"
#console_kit_daemon_enable="YES"
#console_kit_daemon_flags="--debug"

#
# Time setting
#
ntpd_enable="YES"

#
# Accounting
#
accounting_enable="YES"

#
# Mail environment
#
sendmail_enable="NONE"

#
# Printing environment
#
lpd_enable="YES"

#
# Linux emulation
#
linux_enable="YES"

#
# Peripherals
#
#   keyboard
keymap="jp.106"

#   mouse
moused_enable="YES"
moused_flags="-t auto"
moused_port="/dev/psm0"

#   display
saver="logo"
blanktime="900"

#
# KDM
#
kdm4_enable="YES"
admin@diskless:/conf[394]% ll ip
total 226
drwxr-xr-x  112 root  wheel  3072 Mar  4  2011 .
drwxr-xr-x    5 root  wheel   512 Apr 20  2011 ..
drwxr-xr-x    3 root  wheel   512 Mar 28  2010 192.168.2.128
drwxr-xr-x    3 root  wheel   512 Mar 28  2010 192.168.2.129
(snip)
drwxr-xr-x    3 root  wheel   512 Mar 28  2010 192.168.2.236
drwxr-xr-x    3 root  wheel   512 Mar 28  2010 192.168.2.237
admin@diskless:/conf[395]% 
admin@diskless:/conf[395]% ll  ip/192.168.2.12
192.168.2.128/ 192.168.2.129/ 
admin@diskless:/conf[395]% ll  ip/192.168.2.128/
total 8
drwxr-xr-x    3 root  wheel   512 Mar 28  2010 .
drwxr-xr-x  112 root  wheel  3072 Mar  4  2011 ..
drwxr-xr-x    2 root  wheel   512 Mar  4  2011 etc
admin@diskless:/conf[396]% 
admin@diskless:/conf[396]% ll ip/192.168.2.128/etc/
total 10
drwxr-xr-x  2 root  wheel  512 Mar  4  2011 .
drwxr-xr-x  3 root  wheel  512 Mar 28  2010 ..
-rw-r--r--  1 root  wheel  650 Mar 28  2010 printcap
-rw-r--r--  1 root  wheel   55 Mar  4  2011 rc.conf
-rw-r--r--  1 root  wheel   55 Mar  4  2011 rc.conf-Ee
admin@diskless:/conf[397]% ll ip/192.168.2.128/etc/rc.conf
-rw-r--r--  1 root  wheel  55 Mar  4  2011 ip/192.168.2.128/etc/rc.conf
admin@diskless:/conf[398]% cat ip/192.168.2.128/etc/rc.conf
. /etc/rc.conf.default

swapfile="/swap/192.168.2.128"
admin@diskless:/conf[399]% 

$B$H$$$&$3$H$G!$4pK\E*$K(B /conf/ip/xxxx.xxxx.xxxx.xxxx/etc/rc.conf $B$K%/%i%$%"%s(B
$B%H8GM-$N@_Dj$r=q$$$F%/%i%$%"%s%H$K6&DL$J$b$N$O(B
/conf/default/etc/rc.conf.default $B$K=q$$$F$=$l$r%$%s%/%k!<%I$9$l$PNI$$$H$$$&(B
$B$3$H$G$9!%$J$*!$;d$N$H$3$m$G8GM-$J@_Dj$O(B swapfile="/swap/xxxx.xxxx.xxxx.xxxx"
$B$rM-8z$K$9$k$?$aM=$a(B /swap $B$r%^%&%s%H$7$F$*$/(B permanent_mount $B$J$k$b$N(B($B"-(B)

admin@diskless:/conf[401]% cat permanent_mount
192.168.2.254:/swap /swap -o async
admin@diskless:/conf[402]% 

$B$rDI2C$7$F$$$k$3$H$0$i$$$G$9$+$M!%$3$l$O$H$j$"$($:"-$N%Q%C%A$GM-8z$H$J$j$^$9!%(B

admin@diskless:/conf[402]% diff -u /etc/rc.initdiskless.org
/etc/rc.initdiskless
--- /etc/rc.initdiskless.org    2010-03-25 18:04:30.000000000 +0900
+++ /etc/rc.initdiskless        2011-05-28 17:22:31.000000000 +0900
@@ -195,6 +195,19 @@
     to_umount="$b ${to_umount}"
 }
 
+mount_permanent() { # $1 = mount point
+    local nfspt mountopts b
+    b=$1
+    log mount_permanent $1
+    [ -d $b -a -f $b/permanent_mount ] || return
+    read nfspt mountpt mountopts < $b/permanent_mount
+    log "nfspt ${nfspt} mountopts ${mountopts} mountpt ${mountpt}"
+    [ -d $mountpt ] || return
+    [ `expr "$nfspt" : '\(.\)'` = "/" ] && nfspt="${nfsroot}${nfspt}"
+    mount_nfs $mountopts $nfspt $mountpt
+    chkerr $? "mount_nfs $nfspt ${mountpt}"
+}
+
 # Create a generic memory disk
 #
 mount_md() {
@@ -204,6 +217,7 @@
 # Create the memory filesystem if it has not already been created
 #
 create_md() {
+       local real_path=`echo ${1}|tr '_' '/'`
        [ "x`eval echo \\$md_created_$1`" = "x" ] || return # only once
        if [ "x`eval echo \\$md_size_$1`" = "x" ]; then
            md_size=10240
@@ -211,8 +225,8 @@
            md_size=`eval echo \\$md_size_$1`
        fi
        log create_md $1 with size $md_size
-       mount_md $md_size /$1
-       /bin/chmod 755 /$1
+       mount_md $md_size /${real_path}
+       /bin/chmod 755 /${real_path}
        eval md_created_$1=created
 }
 
@@ -352,9 +366,13 @@
 for i in ${templates} ; do
     for j in /conf/$i/* ; do
        subdir=${j##*/}
+       real_subdir=`echo ${subdir}|tr '_' '/'`
        if [ -d $j -a ! -f $j.cpio.gz  ]; then
            create_md $subdir
-           cp -Rp $j/ /$subdir
+           log copy $j to /${real_subdir}
+           log mount status "`mount`"
+           log df status "`df -h`"
+           cp -Rp $j/ /${real_subdir}
        fi
     done
     for j in /conf/$i/*.cpio.gz ; do
@@ -379,3 +397,6 @@
 
 # umount partitions used to fill the memory filesystems
 [ -n "${to_umount}" ] && umount $to_umount
+
+# mount permanent if /conf/permanent_mount exists
+mount_permanent /conf
admin@diskless:/conf[403]% 

$B!t(B $B$^$!:G6a$N%^%7%s$G$O%9%o%C%W$OI,MW$J$$$G$9$,(B...
