Upgrade to NST 20

From NST Wiki
Jump to: navigation, search

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.png 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.