Remote Installworld

Yar Tikhiy yar at
Thu Mar 2 23:09:04 UTC 2006

On Thu, Mar 02, 2006 at 01:28:34AM -0800, Nick Price wrote:
> > > 
> > >    I'm currently administering a machine about 1500mi from me with nobody
> > >    local to the machine to assist me.  Anyways, my only access to this
> > >    machine is via SSH, no remote serial console or anything.
> > >    When I try to do a "make installworld" I end up with
> > >    install: rename: /lib/INS at aTxk to /lib/ Operation not
> > >    permitted
> > >    very shortly thereafter.  I cannot boot into single user mode because
> > >    I am far, far away from the machine.  What can I do to finish the
> > >    installworld?
> > 
> > It's probably because there schg flag set for this file. Try to
> > # chflags noschg /lib/
> > if your securelevel allows it. Afterward try installworld one more time.
> The securelevel wouldn't allow me to change the flag.

You'll have to reboot the machine in order to decrease its securelevel.
This part is rather obvious: edit /etc/rc.conf, save, cross your
fingers, reboot.  In rc.conf, look for kern_securelevel_enable or
kern_securelevel.  Consult rc.conf(5) manpage for details.

The question is whether that machine will succeed in booting to
multi-user then, given that "make installworld" has already changed
some system files.  The library gets installed rather
early, so there's a good chance that your machine will book OK using
old userland programs and libraries.  Just make sure you haven't
forgot to install the new kernel with "make installkernel" before
the reboot.  Assuming here that you haven't done a complete run of
mergemaster(8): new files in /etc might confuse old programs.

If still in doubt, try to reproduce the case locally on a test
machine and see what happens.

Apropos, clearing the schg flag on old system files is generally
not needed before installworld because install(1) can deal with it
if allowed to by the securelevel setting.


More information about the freebsd-stable mailing list