make installworld and securelevel
FLEURIOT Damien
ml at my.gd
Fri Jun 5 23:39:11 UTC 2009
On Fri, Jun 05, 2009 at 06:41:13PM -0400 or thereabouts, Lowell Gilbert wrote:
> Bruce Cran <bruce at cran.org.uk> writes:
>
> > On Fri, 5 Jun 2009 17:45:50 +0200
> > FLEURIOT Damien <ml at my.gd> wrote:
> >
> >>
> >> Hello list,
> >>
> >>
> >> I apologize if this issue has been raised already but I couldn't
> >> find it anywhere.
> >>
> >>
> >> Find below a snip from my installworld:
> >>
> >> --------------------------------------------------------------
> >> >>> Installing everything
> >> --------------------------------------------------------------
> >> cd /usr/src; make -f Makefile.inc1 install
> >> ===> share/info (install)
> >> ===> lib (install)
> >> ===> lib/csu/i386-elf (install)
> >> install -o root -g wheel -m 444 crt1.o crti.o crtn.o gcrt1.o
> >> /usr/lib
> >> ===> lib/libc (install)
> >> install -C -o root -g wheel -m 444 libc.a /usr/lib
> >> install -C -o root -g wheel -m 444 libc_p.a /usr/lib
> >> install -s -o root -g wheel -m 444 -fschg -S libc.so.7 /lib
> >> ^C
> >>
> >>
> >> My concern is with the last line which installs libc.so.7 and
> >> chflags it.
> >>
> >> I was running with securelevel 1 and got denied.
> >> I had to revert to the old kernel, change my securelevel, reinstall
> >> the new 7.2 kernel, then run my installworld.
> >>
> >> This hasn't caused me any other issue, but what will happen the day
> >> the libc.a or libc_p.a which are installed in the early steps of
> >> installworld become incompatible with the old kernel (if this is at
> >> all possible) ?
> >>
> >> I wouldn't have been able to boot anymore (this is a remote host).
> >> The server has a rescue system, but I think a lot of trouble could
> >> be saved by interrupting "make installworld" if we're running above
> >> securelevel 0.
> >
> > Although it's often safe to run installworld in multi user mode, it's
> > recommended to run it in single user mode to avoid issues like this.
> > From /usr/src/UPDATING:
> >
> > <make sure you have good level 0 dumps>
> > make buildworld
> > make kernel KERNCONF=YOUR_KERNEL_HERE
> > [1]
> > <reboot in single user> [3]
> > mergemaster -p [5]
> > make installworld
> > make delete-old
> > mergemaster [4]
> > <reboot>
>
> Still, I don't really see any obvious downsides to the suggestion.
> Maybe it could cause problems with jail updates? That's the only
> issue I've been able to think of...
Well, I'm afraid running single user isn't an option for me, hosted
server.
I've always skipped the single user boot, I just go multi-user and
follow the other steps.
Never done "make delete-old" though, it's not in the Handbook.
Is it really important ? It might be worth adding to the Handbook.
Regarding jails, seeing the securelevel can't be lowered, just
disable chflag'ing during installworld within one ?
--
Damien
More information about the freebsd-stable
mailing list