Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Sep 2005 11:38:32 +1000 (EST)
From:      Maurice Castro <maurice@sphinx.clari.net.au>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   conf/85819: Script allowing multiuser mode in spite of fsck errors
Message-ID:  <200509070138.j871cWA8069729@sphinx.clari.net.au>
Resent-Message-ID: <200509070140.j871eEnD098517@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         85819
>Category:       conf
>Synopsis:       Script allowing multiuser mode in spite of fsck errors
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 07 01:40:13 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Maurice Castro
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
Clarinet Internet Solutions
>Environment:
System: FreeBSD sphinx.clari.net.au 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Mon Aug 15 14:39:49 EST 2005 maurice@sphinx.clari.net.au:/work/src/sys/i386/compile/sphinx i386


	
>Description:
	
>How-To-Repeat:
	
>Fix:


#!/bin/sh
#

# PROVIDE: mountdeflocal
# REQUIRE: root mountcritlocal
# BEFORE: var tmp
# KEYWORD: nojail

. /etc/rc.subr

name="mountdeflocal"
stop_cmd=":"
start_cmd="mountdeflocal_start"

# Author: Maurice Castro
# Date: Mon Jul 25 09:16:28 EST 2005
# This script is used to get a machine into multiuser mode inspite of failed
# fscks. This script is useful for remote machines with only ethernet 
# connectivity
#
# How to use:
#
# To use this script make / and /usr readonly. Make all the other 
# filesystems noauto and no fsck in the the fstab file and add them to the 
# deferred_mount variable in /etc/rc.conf. A trap for young players is that 
# some ilbehaved programs need to write into /usr/local; so separating it
# from /usr is a good idea.
#
# What it does:
# 
# fsck each of the local disks that are to be deferred mounted if any of the 
# fail then don't mount any of them if they all succeed mount the lot

mountdeflocal_start()
{
	# Mount nfs filesystems.
	#
	echo -n 'Fsck local deferred mount file systems:'
	for i in $deferred_mount
	do 
		/sbin/fsck -p $i
		if [ $? != 0 ]
		then 
			exit 0
		fi
	done
	echo '.'

	echo -n 'Mount local deferred mount file systems:'
	for i in $deferred_mount
	do 
		/sbin/mount $i
	done
	echo '.'
}

load_rc_config $name
run_rc_command "$1"

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509070138.j871cWA8069729>