OpenBSD, fstab, mounten

ZerBEruZ

Well-Known Member
hoi leute,

ich komm da grad beim basteln net weiter. FreeBSD aufm soekris is kein problem, nur wenn ich OpenBSD ro-mounten will (schreibvorgänge aufm flash) hab ich grade keinen durchblick mehr.

meine /etc/fstab
Code:
/dev/wd0a       /       ffs     ro,noatime,rdonly                       0 0

swap    /tmp    mfs     rw,nodev,nosuid,noexec                          0 0
swap    /var    mfs     rw,-P=/proto/var,noexec,nosuid,nodev            0 0
swap    /dev    mfs     rw,-P=/proto/dev,-s=1200,-i=128,noexec,nosuid   0 0

das ergebnis
Code:
/dev/wd0a on / type ffs (local, noatime)
mfs:27367 on /tmp type mfs (asynchronous, local, nodev, noexec, nosuid, size=16384 512-blocks)
mfs:24952 on /var type mfs (asynchronous, local, nodev, noexec, nosuid, size=16384 512-blocks)
mfs:1671 on /dev type mfs (asynchronous, local, noexec, nosuid, size=1200 512-blocks)
mfs:710 on /var type mfs (asynchronous, local, nodev, noexec, nosuid, size=16384 512-blocks)

1. wieso ist / nicht ro ?
2. wieso mountet der mir /var zweimal ?

wenn mir jemand einen tipp zum denkfehler geben könnte wäre ich ganz doll glücklich :D

wir lesen uns
ZbZ
 
ZerBEruZ schrieb:
1. wieso ist / nicht ro ?
/ wird in /etc/tc zwangsweise writable gemounted. Wenn Du das nicht willst, musst Du leider /etc/rc anpassen.

2. wieso mountet der mir /var zweimal ?
Das ist in CURRENT inzwischen behoben:

3.9:
Code:
$ grep ^mount /etc/rc
mount -a -t nonfs
mount -uw /             # root on nfs requires this, others aren't hurt
mount /usr >/dev/null 2>&1
mount /var >/dev/null 2>&1
mount -a -t nfs

4.0 beta (CURRENT):
Code:
$ grep ^mount /etc/rc
mount -a -t nonfs
mount -uw /             # root on nfs requires this, others aren't hurt
mount -s /usr >/dev/null 2>&1
mount -s /var >/dev/null 2>&1
mount -a

wenn mir jemand einen tipp zum denkfehler geben könnte wäre ich ganz doll glücklich :D

Ich habe auf meinem Soekris alles rw gemounted, befuelle aber /tmp (ein mfs) mit einer Hierarchie der zu schreibenden Verzeichnisse, auf die ich in /var passende Symlinks zeigen lasse.

Code:
$ cat /etc/fstab
/dev/wd0a / ffs rw,noatime,softdep 1 1
swap /tmp mfs rw,nodev,nosuid,-s65536,-P/tmp.proto 0 0
$ find /tmp.proto
/tmp.proto
/tmp.proto/rwho
/tmp.proto/log
/tmp.proto/log/rdist
/tmp.proto/log/wtmp
/tmp.proto/run
/tmp.proto/spool
/tmp.proto/spool/mqueue
/tmp.proto/spool/ftp
/tmp.proto/spool/ftp/bin
/tmp.proto/spool/ftp/etc
/tmp.proto/spool/ftp/hidden
/tmp.proto/spool/lock
/tmp.proto/spool/clientmqueue
/tmp.proto/spool/output
/tmp.proto/spool/uucp
/tmp.proto/spool/uucppublic
/tmp.proto/db
/tmp.proto/db/locate.database
$ find /var -type l -ls
   160    0 lrwxr-xr-x    1 root     wheel           8 Jul 28 15:05 /var/log -> /tmp/log
  1379    0 lrwxr-xr-x    1 root     wheel           8 Jul 28 14:39 /var/run -> /tmp/run
   713    0 lrwxr-xr-x    1 root     wheel           9 Jul 28 14:40 /var/rwho -> /tmp/rwho
   412    0 lrwxr-xr-x    1 root     wheel          23 Jul 28 14:41 /var/spool/clientmqueue -> /tmp/spool/clientmqueue
   505    0 lrwxr-xr-x    1 root     wheel          14 Jul 28 14:41 /var/spool/ftp -> /tmp/spool/ftp
  1654    0 lrwxr-xr-x    1 root     wheel          15 Jul 28 14:41 /var/spool/lock -> /tmp/spool/lock
  1655    0 lrwxr-xr-x    1 root     wheel          17 Jul 28 14:41 /var/spool/mqueue -> /tmp/spool/mqueue
  1656    0 lrwxr-xr-x    1 root     wheel          17 Jul 28 14:41 /var/spool/output -> /tmp/spool/output
  1657    0 lrwxr-xr-x    1 root     wheel          15 Jul 28 14:41 /var/spool/uucp -> /tmp/spool/uucp
  1658    0 lrwxr-xr-x    1 root     wheel          21 Jul 28 14:41 /var/spool/uucppublic -> /tmp/spool/uucppublic

Pferdefuss dabei: auch hier ist eine Anpassung von /etc/rc noetig:

Code:
# echo clearing /tmp

# prune quickly with one rm, then use find to clean up /tmp/[lq]*
# (not needed with mfs /tmp, but doesn't hurt there...)
# (cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
#     find . ! -name . ! -name lost+found ! -name quota.user \
#       ! -name quota.group -execdir rm -rf -- {} \; -type d -prune)

Ansonsten wuerde das frisch aufgebaute /tmp gleich wieder geleert werden.

Man koennte natuerlich das Zeugs woanders mounten (z.B. /var/tmp).

Noch ein kleines Problem dabei: /etc/security meckert taeglich, weil diverse Files und Directories unter /var ja ploetzlich keine Files und Directories, sondern Symlinks sind. Abhilfe schafft eine entsprechende Anpassung von /etc/mtree/4.4BSD.dist, aber dazu bin ich bis jetzt zu faul gewesen.

Nachtrag: obige Liste ist moeglicherweise nicht vollstaendig, es kann sein, dass trotzdem noch hier und da auf die CF-Karte geschrieben wird. Ist mir aber Wurscht, weil so eine Karte nicht die Welt kostet, und immerhin laeuft das Teil inzwischen seit etwa einem Jahr 24/7. Um /tmp nicht vollzukuebeln, logge ich uebrigens remote auf einen separaten Rechner (mit richtiger Festplatte).
 
Zuletzt bearbeitet:
Zurück
Oben