![]() |
|
|
This is the current version of a saga that goes back decades. Gradually it's taking shape, but this page is laid out just barely sufficiently for me to understand it. Older versions include newsystem-newest.php, dated 25 December 2012.
The steps:
/var is special. Some subdirectories remain on the root file system, others (related to the local system) are in /home/var:
=== grog@eureka (/dev/pts/26) ~ 2 -> ls -l /var
Work out how to find driver.
This is only (and barely) of historical interest. I'm keeping it here as a source of text blocks.
start again with VM
install system
mount /eureka, /eureka/home, /eureka/src -> /src
=== root@eureka (/dev/pts/6) /home/Sysconfig/scripts 29 -> cd /home
=== root@eureka (/dev/pts/6) /home 30 -> ls -l
=== root@eureka (/dev/pts/6) /home 31 -> pd /src/Sysconfig/
=== root@eureka (/dev/pts/6) /src/Sysconfig 32 -> l
=== root@eureka (/dev/pts/6) /src/Sysconfig 33 -> mkdir stable-amd64
=== root@eureka (/dev/pts/6) /src/Sysconfig 33 -> mkdir stable-amd64
=== root@eureka (/dev/pts/6) /src/Sysconfig 34 -> cd eureka
=== root@eureka (/dev/pts/6) /src/Sysconfig/eureka 35 -> tar cf - .|(cd ../stable-amd64/ && tar xvf
This will take a long time. Meanwhile:
Add users. Check etc/master.passwd and /etc/group:
=== root@eureka (/dev/pts/13) /etc 115 -> mv group group.orig
=== root@eureka (/dev/pts/13) /etc 115 -> mv master.passwd master.passwd.orig
=== root@eureka (/dev/pts/13) /etc 115 -> co -d group master.passwd
cd /etc rcsdiff -wu master.passwd group>/dev/null | less
pwd_mkdb -p /etc /etc/master.passwd newaliases
cd /etc rcsdiff -wu RCS/* 2>/dev/null | lessFix any conflicts, in particular /etc/group and /etc/master.passwd. If you change /etc/master.passwd, note that you'll have to regenerate /etc/passwd after rebooting to the new system.
Check out any files missing in /etc:
rcsdiff -wu RCS/* 2>&1 >/dev/null | grep "No such file"|sed 's/rcsdiff:/co -M /; s/:.*//'|sh
For each file, decide what to do.
Create a new partition on a new disk and install the latest and greatest version on it:
Boot from new system.
Create /etc/resolv.conf:
Update /etc/fstab:
Mount NFS file systems:
Build ports:
This target fetches all the ports, one after the other. It doesn't stop if one fails, so you might still run into trouble later
This target does configuration. Maybe it should run before ports-fetch, but I'm not sure that works. It's painful, and it changes all the time. Here a couple of things to look out for:
gimp doesn't install the documentation (gimp-help) by default. Set it. That's not enough: you then need to tell the braindead gimp-help port that you don't want every language under the sun (total download size about 600 MB). Instead,
Select the languages you want.
ports-try tries to build the ports and continues if one fails. ports goes through again and stops on any errors. Ideally it should do nothing.
/home/Sysconfig/scripts/ciRCS check in RCS files (on old system)
Then, on the new system, first move some writeable installed files out of the way:
cd /usr/local/etc/postfix mv master.cf master.cf.orig mv main.cf main.cf.orig mv /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.orig mv /usr/local/share/emacs/site-lisp/subdirs.el /usr/local/share/emacs/site-lisp/subdirs.el.orig mv /usr/local/share/ispell/american.hash /usr/local/share/ispell/american.hash.orig
Then check out:
/home/Sysconfig/scripts/installRCS -f create new RCS hierarchy cd /root mv .profile .profile-old /home/Sysconfig/scripts/coRCS 2>&1 > /tmp/colog and check them out cd /usr /home/Sysconfig/scripts/coRCS 2>&1 >> /tmp/colog and check them out
This looks good, but it seems that co writes error messages to /dev/tty.
Look through /tmp/colog and resolve any failures.
cd /etc rcsdiff -wu RCS/* 2>/dev/null | lessFix any conflicts, in particular /etc/group and /etc/master.passwd. If you change /etc/master.passwd, note that you'll have to regenerate /etc/passwd after rebooting to the new system.
Update databases:
pwd_mkdb -p /etc /etc/master.passwd newaliases
Check out any files missing in /etc:
rcsdiff -wu RCS/* 2>&1 >/dev/null | grep "No such file"|sed 's/rcsdiff:/co -M /; s/:.*//'|sh
For each file, decide what to do.
This is a part of the new system HOWTO pages. It relates to upgrading an existing machine by installing a new system on a new disk. See the main page for other options. This is very much the way I do things, and certain aspects are not useful elsewhere.
Create a new partition on a new disk and install the latest and greatest version on it:
mkdir /src mount dereel:/src /src ln -s /src/CVS/FreeBSD/ncvs /home export CVSROOT=/home/ncvs mv /usr/ports /usr/ports.orig # or remove them mkdir /home/ports cd /usr ln -s /home/ports cvs co ports ln -s /src/FreeBSD/ports/distfiles /usr/ports
Boot from new system.
Create /etc/resolv.conf:
Update /etc/fstab:
Mount NFS file systems:
Build ports:
This target fetches all the ports, one after the other. It doesn't stop if one fails, so you might still run into trouble later
This target does configuration. Maybe it should run before ports-fetch, but I'm not sure that works. It's painful, and it changes all the time. Here a couple of things to look out for:
gimp doesn't install the documentation (gimp-help) by default. Set it. That's not enough: you then need to tell the braindead gimp-help port that you don't want every language under the sun (total download size about 600 MB). Instead,
Select the languages you want.
ports-try tries to build the ports and continues if one fails. ports goes through again and stops on any errors. Ideally it should do nothing.
/home/Sysconfig/scripts/ciRCS check in RCS files (on old system)
Then, on the new system, first move some writeable installed files out of the way:
cd /usr/local/etc/postfix mv master.cf master.cf.orig mv main.cf main.cf.orig mv /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.orig mv /usr/local/share/emacs/site-lisp/subdirs.el /usr/local/share/emacs/site-lisp/subdirs.el.orig mv /usr/local/share/ispell/american.hash /usr/local/share/ispell/american.hash.orig
Then check out:
/home/Sysconfig/scripts/installRCS -f create new RCS hierarchy cd /root mv .profile .profile-old /home/Sysconfig/scripts/coRCS 2>&1 > /tmp/colog and check them out cd /usr /home/Sysconfig/scripts/coRCS 2>&1 >> /tmp/colog and check them out
This looks good, but it seems that co writes error messages to /dev/tty.
Look through /tmp/colog and resolve any failures.
cd /etc rcsdiff -wu RCS/* 2>/dev/null | lessFix any conflicts, in particular /etc/group and /etc/master.passwd. If you change /etc/master.passwd, note that you'll have to regenerate /etc/passwd after rebooting to the new system.
Update databases:
pwd_mkdb -p /etc /etc/master.passwd newaliases
Check out any files missing in /etc:
rcsdiff -wu RCS/* 2>&1 >/dev/null | grep "No such file"|sed 's/rcsdiff:/co -M /; s/:.*//'|sh
For each file, decide what to do.
See also newsystem-scraps
Greg's home page | Greg's diary | Greg's photos | Copyright |