How to Upgrade Salix 14.2 to 15.0
Preparing for the upgrade
You first need to change the default repositories to the ones for Slackware and Salix 15.0. Open file /etc/slapt-get/slapt-getrc and change all “14.2” instances to “15.0”. Also make sure the Slackware repositories have an OFFICIAL priority. Example setups are shown below:
i486 architecture
SOURCE=http://slackware.uk/salix/i486/slackware-15.0/:OFFICIAL
SOURCE=http://slackware.uk/salix/i486/slackware-15.0/extra/:OFFICIAL
SOURCE=http://slackware.uk/salix/i486/15.0/:PREFERRED
SOURCE=http://slackware.uk/salix/i486/extra-15.0/:OFFICIALx86_64 architecture
SOURCE=http://slackware.uk/salix/x86_64/slackware-15.0/:OFFICIAL
SOURCE=http://slackware.uk/salix/x86_64/slackware-15.0/extra/:OFFICIAL
SOURCE=http://slackware.uk/salix/x86_64/15.0/:PREFERRED
SOURCE=http://slackware.uk/salix/x86_64/extra-15.0/:OFFICIALslapt-srcrc
Also edit your /etc/slapt-get/slapt-srcrc file to point to 15.0 instead of 14.2:
BUILDDIR=/usr/src/slapt-src
PKGEXT=txz
SOURCE=http://slackware.uk/salix/slkbuild/15.0/
SOURCE=http://slackware.uk/salix/sbo/15.0/Switch to root user
Every command listed below should be executed with root privileges. So run:
sudo suor alternatively, if you have the root user enabled:
suto open a root terminal.
Changing your mirrors
Feel free to try other [[Repository mirrors|repositoriy mirrors]] that might be faster for you. N.B: It is perfectly safe to stop the process while a package is in the process of being downloaded. On resume/restart, the download starts off where it last left. But, do not stop the process, if a package is in the process of being installed.
After you make the changes, run:
slapt-get -uslapt-src
Although slapt-src has nothing to do with the upgrade process itself, better make sure its repos are pointing to 15.0 so that they work correctly after the installation. Open your /etc/slapt-get/slapt-srcrc and change the SOURCE lines to these ones:
SOURCE=http://slackware.uk/salix/slkbuild/15.0/
SOURCE=http://slackware.uk/salix/sbo/15.0/Upgrade base package manager tools
Upgrade pkgtools and spkg first as a newer version is needed for proper installation of several packages:
slapt-get -i pkgtools spkg aaa_baseUpgrading packages
Open a root terminal again first:
sudo suNow you need to upgrade glibc and related packages:
slapt-get -i glibc glibc-zoneinfo glibc-i18n aaa_glibc-solibsThen upgrade slapt-get itself (along with its dependencies):
slapt-get -i aaa_libraries openssl curl libunistring slapt-getFix some missing symlinks. On 64 bit systems run:
ln -sf /lib64/libssl.so.1.1 /lib64/libssl.so.1
ln -sf /lib64/libcrypto.so.1.1 /lib64/libcrypto.so.1
ln -sf /usr/lib64/libldap-2.4.so.2.11.7 /usr/lib64/libldap-2.4.so.2
ln -sf /usr/lib64/liblber-2.4.so.2.11.7 /usr/lib64/liblber-2.4.so.2and on 32-bit systems run:
ln -sf /lib/libssl.so.1.1 /lib/libssl.so.1
ln -sf /lib/libcrypto.so.1.1 /lib/libcrypto.so.1
ln -sf /usr/lib/libldap-2.4.so.2.11.7 /usr/lib/libldap-2.4.so.2
ln -sf /usr/lib/liblber-2.4.so.2.11.7 /usr/lib/liblber-2.4.so.2Install basic system packages. On 64-bit systems, run:
slapt-get --install-set slackware64/aand on 32-bit systems, run:
slapt-get --install-set slackware/aYou’ll need to create some symlink again… On 64-bit systems:
ln -sf /lib64/libssl.so.1.1 /lib64/libssl.so.1
ln -sf /lib64/libcrypto.so.1.1 /lib64/libcrypto.so.1and on 32-bit systems:
ln -sf /lib/libssl.so.1.1 /lib/libssl.so.1
ln -sf /lib/libcrypto.so.1.1 /lib/libcrypto.so.1GDM has been replaced by lightdm in the default installation, so if you want to do that, run:
slapt-get -i lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
spkg -d gdmotherwise gdm will be upgraded later and pull almost all of GNOME with it…
Install some necessary packages that have been renamed:
slapt-get -i man-db python2And some that are required for the system to be working properly:
slapt-get -i salix-polkit-settings polkit-gnome mozjs78And then upgrade all other packages to their new versions:
slapt-get --upgradeDO NOT use:
slapt-get --dist-upgradein any case. Although it might seem to be the best option for upgrading to a newer release, it really isn’t.
Upgrading the kernel
Lets upgrade the kernel packages next.
Run:
ls /var/log/packages/kernel*to see which kernel packages you have installed and do a slapt-get -i for each one of them. (Do not include the package version in ).
You will also need to upgrade your lilo, elilo or grub packages at this point. So, for example:
slapt-get -i eliloIf you have switched to the kernel-generic package instead of the default kernel-huge package, don’t forget to recreate the initrd.gz file which will be needed for booting you upgraded system. If you’re still using the default kernel-huge package, an initrd is not needed anyway and you needn’t be concerned about it.
After upgrading the packages, don’t forget to edit your /etc/lilo.conf file accordingly and run:
lilo -vto inform the bootloader about the kernel upgrade. If there is no /etc/lilo.conf file, just run:
liloconfigOn similar note, users running multi-boot systems on GRUB2 must log into the distro that controls the bootloader and re-run
update-grubto inform the bootloader about the kernel upgrade.
For those using elilo, you need to simply run
eliloconfigIf you are using the generic kernel, also copy the initrd to appropriate directory in the ESP, for example:
cp /boot/vmlinuz /boot/efi/EFI/Salix-Xfce-14.2/vmlinuz
cp /boot/initrd.gz /boot/efi/EFI/Salix-Xfce-14.2/initrdObsolete packages
Some packages have been obsoleted and should be removed. Some have been replaced by new packages. You can remove all obsolete packages automatically with:
slapt-get --remove-obsolete --removeCareful, because this will also remove all personal packages that you might have installed, if any. It will also remove any packages that used to be part of the Slackware or Salix repos in 14.2, but are not anymore in 15.0. Take a careful look at the list of packages to be removed and if you recognise anything that you want to keep, make a note. It might have been renamed to something slightly different. And it’s never a bad idea to have a look at the Slackware CHANGES_AND_HINTS.TXT file:
Update caches
You’ll also need to run this command:
update-allThis updates icon caches, font indexes, desktop and mime databases, pango files, glib schemas etc. You’ll need to run this, or you’ll probably won’t be able to start a graphical environment and even if you do, you’ll probably see garbage instead of readable characters.
Configuration files
After doing all the upgrades, run:
dotnewto accept or reject new configuration files. Make sure that you DO NOT replace your /etc/passwd, /etc/shadow or /etc/group files. If you do, you will lose all users/groups/passwords you have in your system. However, even if you do, you can get the old files back, they will be kept in the same locations, with an .orig suffix.
If you are starting your system in init 3 (console), instead of init 4 (graphics) and you start the GUI by running ‘startx’, you’d better refresh the xinitrc file in your home directory by running (while in init 3):
xwmconfigand selecting your preferred Desktop Environment.
Edit /etc/slackware-version file to fill in:
Slackware 15.0This is not required but this is used by some apps to show your version (for example grub).
Optional packages
There are several new packages in 15.0 that you might care about or not.
You may want to use flatpak for some of your software needs:
slapt-get -i flatpak flatpak-toolsAnd if you want your system to look like the default in 15.0:
slapt-get -i qogir-icon-theme salix-gtk-theme salix-xfwm4-theme(and change the respective settings in Xfce)
And if you want to get rid of annoying Client Side Decorations in GTK+3 applications:
slapt-get -i gtk3-nocsd