Upgrade to NST 20
Overview
We often receive questions along the lines of "How do I upgrade from NST 18 to NST 20?". We typically answer this question with "You don't, in order to move to a new major release, you will need to install NST 20."
While we still recommend performing a clean install when upgrading from NST 18 to NST 20, it may now be possible to perform an upgrade using the fedup utility (https://fedoraproject.org/wiki/FedUp).
Disclaimer
Using the fedup utility has not been thoroughly investigated. The procedure outlined here has been tried a couple of times and appears to work. However, the state of our test NST 18 systems will be different than the state of your NST 18 systems, so your mileage my vary.
Requirements
Check list of items before upgrading a system to NST 20.
- You have NST 18 installed
cat /etc/nst-release
- You have registered your NST system with the NST Pro service and have access to a fully up to date NST 18 and NST 20 yum repository (alternatively, you can build your own NST 18 and NST 20 yum repository and set up a yum server or look for an alternative provider).
- You have at least 5GB of free disk space on your root (/) partition (a lot of files will be downloaded and extracted).
- It is OK if all of the files on the current system are lost if the upgrade fails (in other words: you have backed up the important files on the system).
- You have reviewed the fedup utility instructions at: https://fedoraproject.org/wiki/FedUp.
- You are able to download large amounts of data (think 3GB) without problem from the Internet.
- You are aware that upgrading a system will probably take significantly longer than installing from scratch.
Performing The Upgrade
Removing Some Packages
For some reason, the ostinato and bind-chroot packages cause some issues during the upgrade process. Go ahead and remove them now. This will trigger the removal of some other packages as well, that is OK as we will put them back later.
yum remove ostinato bind-chroot
If you have Google Chrome installed on your system, you will need to remove it now as well and then re-install it after the upgrade:
yum remove "google-chrome-*"
Bring the System Up To Date
Make sure all of the packages on your system are up to date. Run the following command and make sure it runs cleanly:
yum update
Reboot Your System
Make sure you are running the newest kernel by comparing the output of uname with the list of available kernels.
uname -a rpm -q kernel
If you are not currently running the latest kernel, then reboot your system and load it.
reboot
Installing and Running the fedup Utility
WARNING: We do not think it is possible to use the fedup utility without having access to fully updated NST yum repositories (both NST 18 and NST 20). If you are a NST Pro subscriber and have registered your NST 18 system with the NST Pro site, you should be OK. Otherwise you will need to build your own NST 18 and NST 20 yum servers or find an alternate 3rd party provider.
Install the fedup utility:
yum install fedup
Run the fedup utility:
fedup --network 20 --nogpgcheck
The fedup utility may provide some warning messages indicating that no upgrades are available for certain packages (that is OK). However, if it gives you any error messages about missing packages, it is unlikely that you will be able to successfully upgrade your system.
Rebooting
At this point you will need to reboot. When you reboot, a new boot option that performs the upgrade should run automatically and cleanly.
Rebuild RPM DB and Sync
After the upgrade finishes, run the following commands to rebuild your RPM database and sync your NST 20 distribution:
rpm --rebuilddb yum distro-sync --setopt=deltarpm=0
Rebuild NST Boot Menu
First check to see if an RPM new NST Grub2 Defaults file: "/etc/nst/grub2/nst_grub2_defaults.rpmnew" exists. If it does, make any custom NST Grub2 settings to this file and then rename it to: "/etc/nst/grub2/nst_grub2_defaults".
mv "/etc/nst/grub2/nst_grub2_defaults.rpmnew" "/etc/nst/grub2/nst_grub2_defaults";
Next run the following command to regenerate your NST boot options:
nstboot --grub2 -v;
Installing Packages
Once you are able to log back in, you can install the packages we had to removed earlier. If you would like to have the MATE desktop as a option (which we recommend), use the following:
yum install nst-live nst-desktop-mate yum install @MATE
If you prefer to keep just the GNOME desktop option, then run:
yum install nst-live nst-desktop-gnome
Reviewing Modified Configuration Files
If there were significant changes in system configuration files, your old modified configuration files will be renamed and the new default configuration files will be installed. It is a good idea to identify and review these configuration changes (especially if you need to put something back). Use the following command to find your system configuration files that have been modified:
find /etc -name "*.rpmsave"
Subversion/Apache Configuration Updates
If you have used the NST WUI to set up a Subversion server, you may need to make the following modifications by hand in order to start the web server and access your Subversion repositories and Trac wikis:
- Edit each of the /etc/httpd/conf.d/svn-*.conf configuration files and replace "+Include" with "Include".
[root@probe ~]# sed -i -e 's,\+Include,Include,' /etc/httpd/conf.d/svn-*.conf
- Run the following to upgrade the Trac wiki:
[root@probe ~]# for d in /var/nst/svn/*/trac; do trac-admin ${d} upgrade; track-admin ${d} wiki upgrade; done
- Give read privileges to the trac.ini file for that repo, like this:
[root@probe ~]# chmod +r /var/nst/svn/*/trac/conf/trac.ini
- If Trac is unable to read the Subversion repositories and Trac displays the message: Unsupported version control system "svn", it means that you switched to a newer version of Trac which now supports multiple revision control systems and you need to update your /var/nst/svn/*/trac/conf/trac.ini with these two additional lines:
[components] tracopt.versioncontrol.svn.* = enabled
- Refresh the Trac page(s) in your browser and you should be good to go.