version 1.6, 2006/11/29 16:45:33 |
version 1.11, 2015/10/12 00:35:14 |
|
|
This is a collection of scripts to make upgrading OpenBSD easier. It |
This is a shell script to make upgrading OpenBSD easier. It supports |
supports upgrading to a new version as well as just upgrading to a newer |
upgrading to a new version as well as just upgrading to a newer version of the |
version of the same release. |
same release. I use it to easily update between snapshots. |
|
|
Now, you can just use "install". If you are moving between versions it |
Generally, you just need to run update_openbsd. However, you probably want to |
will install the new kernel. You then need to reboot, and run it again |
create a config file to set the mirror you would like to use (ftp or http) as |
and it will run mergeslave after extracting available sets. This will |
well. See update_openbsdrc.example |
mean you are running it on the same version kernel as the available sets |
|
and it will install a new kernel (just in case it needs to be updated) |
|
and then extract the available sets. |
|
|
|
The proper way use these scripts manually would be to do the following: |
If you do not set a MIRROR in update_openbsdrc or exported in your environment, |
get_sets |
you will need to have the sets available in another way. By default it looks |
install_kernel |
for them in a "version" directory, for example if you are running OpenBSD 5.4, |
reboot |
it will look for a 5.5, then a 5.4 directory relative to the current directory. |
install_sets |
You can also set RELEASEDIR to point to the path that contains the sets, again |
upgrade /etc. I still need to test mergeslave to see how that works. |
either in update_openbsdrc or exported into the current environment. |
pkg_add -ui -F update -F updatedepends |
|
reboot |
|
|
|
The files in the collection are as follows: |
The script will initially download the new sets if you don't have them, |
|
then extract them and install new kernels. |
|
|
install |
If you are moving between kernels after installing sets and the new kernel and |
This calls get_sets if there are no sets, then call |
it will ask you to reboot. After you reboot, you will need to run |
install_kernel, then, if the version of the kernel we are booted |
update_openbsd again. |
off is the same as the sets, it installs the sets, and if it was |
|
an upgrade between versions (there was an etcXX.tgz from the |
|
previous version downloaded) install mergeslave, then it will |
|
tell you to reboot. |
|
|
|
get_sets |
If running with the same boot kernel as the update, often on the second run, it |
This downloads the latest kernels and sets from mp3s.hewus.com. |
will run sysmerge and finally update installed packages. |
It uses installed_sets to only download the kernels and sets |
|
that are currently installed on the box you are running it on. |
|
|
|
install_kernel |
Also included is a copy of release.sh |
Copies the new kernels from the file set above. Should only be |
|
run AFTER running get_sets. You should reboot after running |
|
this |
|
|
|
install_sets |
|
Extracts the new sets to the correct directories. Most of them |
|
to /, but it extracts etc??.tgz to /tmp. You should upgrade |
|
/etc after you have run this, as well as upgrading packages with |
|
pkg_add -ui then reboot. |
|
|
|
mergeslave |
|
This is a modified version of mergeslave. You should only use |
|
it if upgrading between versions, not -stable upgrades. |
|
http://www.xs4all.nl/~hanb/software/OpenBSD-binary-upgrade/ |
|
|
|
installed_sets |
|
This is a helper script that returns a list of the sets that are |
|
currently installed on the box you are running it on. |
|
|
|
release.sh |
|
This is the OpenBSD - Release Building Shell Script |
This is the OpenBSD - Release Building Shell Script |
from FenderQ.com - Internet Security Solutions |
from FenderQ.com - Internet Security Solutions |
http://www.fenderq.com/release.sh |
http://www.fenderq.com/release.sh |
|
|
Slightly modified to make it do what I want. |
Slightly modified to make it do what I want. |
|
|
I run it like this: |
I run release.sh like this: |
$ sudo release.sh clean update system release clean |
$ doas release.sh update full-release |
|
|
$RedRiver: README.TXT,v 1.5 2006/10/31 23:13:59 andrew Exp $ |
$AFresh1: README.TXT,v 1.10 2014/02/01 18:39:06 andrew Exp $ |