Upgrading to TLD Linux 2016.01

Note: only upgrade from TLD Linux 2015.01 is supported. If you are running TLD Linux 2013.01 please use this howto. If you are running TLD Linux 2010.01 or PLD Titanium you will need to reinstall from scratch.

Getting started


Please backup at least entire system configuration before proceeding! If possible backup entire host or take snapshot of its current state if it is a virtual machine.

First of all update your poldek indexes:

poldek --upa

Now get rid of all *.rpmnew files from /etc to be sure you will have newest default configurations for all packages for which old one cannot be adjusted or updated.

Upgrading


Lets perform acutal system upgrade:

poldek -v --nohold --upgrade-dist

If you'll run into some unresolved dependencies you may try following things:

1. Remove problematic package. If it hauls half of your system use

rpm -e --nodeps pakcage

2. Do forced upgrade of problematic package via poldek command line:

> upgrade --force package

Add –nodeps if necessary.

Finishing


When your upgrade-dist will finish you must check/modify/recreate your system configuration. It is strongly recommended to go through all *.rpmnew files in your /etc and modify them to fit your needs. Using old configuration files may cause problems for some packages or they may not run at all.

After double or even triple checking everything you are ready to reboot :-)

Notes for some packages


PostgreSQL

PostgreSQL database version has changed from 9.4 to 9.5. As usual when major version changes it is strongly recommended to do upgrade using dump/restore method. Before upgrade dump all contents of your databases and copy them to some safe location. You can dump everything to single sql file with this command run locally on your server:

pg_dumpall -U postgres -W > sql_full_backup.sql

or dump just globals with:

pg_dumpall -g -U postgres -W > sql_globals.sql

and then each database separately with:

pg_dump -b -U postgres -W databaseX > sql_databaseX.sql

After system upgrade please move away your old database data:

mv /var/lib/pgsql /var/lib/pgsql.bak

Initialize clean PostgreSQL 9.5 database structure

service postgresql init

Follow on screen instructions to set database passwords. Later go to /var/lib/pgsql/postgresql.conf and edit database configuration to fit your needs. Restore your database contents with something like this (if you dumped everything to single file):

psql -U postgres -W < sql_full_backup.sql 1>sql_restore_log.txt 2>&1

or with something like this (if you dumped globals and each database separately):

  psql -U postgres -W < sql_globals.sql 1>sql_globals_restore_log.txt 2>&1
  psql -U postgres -W < sql_databaseX.sql 1>sql_databaseX_restore_log.txt 2>&1
  psql -U postgres -W < sql_databaseY.sql 1>sql_databaseY_restore_log.txt 2>&1
  ...

When finished check sql*_restore_log.txt files for any errors, warnings or other abnormal things. Some structures or functions may have failed to restore due to changes in PostgreSQL made between version 9.3 and 9.4. If you'll hit such problem your only solution is to manually recreate failed structures/functions later or make modification to SQL statements directly in dump files and retry restore from the beginning.

PHP

Default PHP version has been changed from 5.6 to 7.0. Be sure to update your PHP applications and/or web pages. Check link below for more details about possible incompatibility issues:

PHP 7.0 backward incompatible changes

There is also PHP 5.6, 5.5 and 5.4 available as php56, php55 and php54. You may choose it over 7.0 or run in parallel, ie. as CGI or FCGI.

© TLD Linux