Newbie Question About System Update

Mars G. Miro marsgmiro at
Wed Apr 20 03:48:18 PDT 2005

>> Fact is, trying to update a running system could
result in silent failures.
>> The system can not replace programs that are in
use, so there's always the
>> chance that something or other won't get updated
(cron would be an excellent
>> example ... do you always shut cron off when you
update?  How about

>Actually, it can.  install goes to great lengths to
make sure that it
>carefully moves the executable out of the way before
replacing it.  It
>won't go away until the last process to be executing
out of it goes

>> That being said, I quite often do installworld on
running systems because I
>> have no way to go to single-user mode.  It almost
always works well enough
>> for my purposes, but I don't want anyone to think
that it's "OK" to do this,
>> as it's not guaranteed to work, and will most
likely result in some programs
>> not being updated (such as the examples in the
previous paragraphs).

>It usually works well enough most of the time.  I do
it all the time
>on my development machines.  The problem is "well
enough" and "most of
>the time."


I, for one, can attest to that.

To the OP, the thing to watch out for is that just
make sure that the machine isn't busy enough (stop all
daemons under /usr/local/etc/rc.d/, under /etc/rc.d,
just so that the machine's resources are being spent
on the upgrade process), then do the make world dance.

I've done it remotely a lot of times, the thing is you
just have to simulate the process locally(if you have
some spare resources, perhaps a VM?), to avoid
potential problems. Here's a snippet from my one of my
notes back in the 4.X days:


Upgrade path from 4.4Rp47 to 4.10R

       Issues to deal:

       1) SSH Daemon
       Create the user/group
       # pw groupadd -n sshd -g 22
       # pw useradd -n sshd -u 22 -g sshd -c "Secure
Shell Daemon"
-md /var/empty -s /sbin/nologin

       /var/empty must be:
       # ls -al /var/
       dr-xr-xr-x   2 root    wheel   schg  512 Oct 27
 2003 empty

       2) Sendmail
       a) Create the smmsp user/group
       # pw groupadd -n smmsp -g 25
       # pw useradd -n smmsp -u 25 -g smmsp -c
"Sendmail Submission
User" -md /var/spool/clientmqueue -s /sbin/nologin

       make sure that /var/spool/clientmqueue and
everyting under is
owned by smmsp:smmsp and rwx by this user/group
               root at beastman:/var/spool# dir
               rw-------   1 smmsp  smmsp  -  97 Jun
22 15:53
       If NOT:
       # chown -Rv smmsp:smmsp /var/spool/clientmqueue
       # chmod 770 /var/spool/clientmqueue

       b) Create the mailnull user/group
       # pw groupadd -n mailnull -g 26
       # pw useradd -n mailnull -u 26 -g mailnull -c
Default User" -md /var/spool/mqueue -s /sbin/nologin
               root at beastman:/var/spool# dir
               drwxr-xr-x   2 root   daemon  - 512 Jun
23 03:02 mqueue
               drwxr-xr-x   2 root   daemon  - 512 Jun
22 03:01
               drwx------   2 root   daemon  - 512 Oct
27  2003 opielocks
               drwxr-xr-x   3 root   daemon  - 512 Apr
30 01:06 output

       Aliases file (/etc/mail/aliases):
       Add these:
       mailnull: postmaster
       smmsp: postmaster
       sshd: root


Once the above issues where addressed, the
build/install world went fine.

This was when I was in a situation that I needed to
install a port and wouldn't install on a 4.4R ( name
of port escapes me ;-)

PS My first email via my gmail account was blocked:
This is an automatically generated Delivery Status

Delivery to the following recipient failed

    freebsd-stable at

Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 10): 554 Service
unavailable; Client host [] blocked
using; Blocked - see

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the freebsd-stable mailing list