How to detect single user mode in FreeBSD ?

JD jd1008 at gmail.com
Thu Jun 14 00:48:22 UTC 2018



On 06/13/2018 06:29 PM, Manish Jain wrote:
> On 06/14/18 05:09, jungle Boogie wrote:
>> Describe the problem you want to solve, not how.
>
> The problem is this:
>
> I am writing a shell script which can run fsck on all UFS / ext2 /ext4 
> hard disk partitions listed in /etc/fstab.
>
> The script should be portable and be able to run no matter whether the 
> OS running is FreeBSD or Linux. The only thing that matters is that 
> the commands fsck_ufs / fsck.ext2 and fsck.ext4 are available.
>
> Ideally, the script should run only under single user mode, or else 
> bail out immediately.
>
> Linux has a clean way to find out whether the system is in single user 
> mode. I would think, no matter what others on this list have said, 
> sysctl under FreeBSD too should have a variable for indicating single 
> user mode. But there currently is not any.
>
> Tx and Regards
> Manish Jain
You need to realize that to run fsck on a filesystem, it has to be 
UNMOUNTED, unless
you provide the -n option to fsck (which means no write - so the mounted 
fs will not be
corrupted).
Lynux will not allow the unmounting of / and remounting as read only.
So,  you will not be able to fsck the device which provides the root fs, 
at least in lynux.
It used to be that FBSD could run in single user mode with / mounted as 
ro (read only),
but I have not booted my FBSD machine for quite some time, so I am not 
sure id
FBSD 10.x will let me do that.





More information about the freebsd-questions mailing list