Linode Forum
Linode Community Forums
 FAQFAQ    SearchSearch    MembersMembers      Register Register 
 LoginLogin 

Post new topic Reply to topic
Author Message
PostPosted: Wed Nov 28, 2012 9:32 am 
Offline

Joined: Wed Nov 28, 2012 9:30 am
Posts: 1
Is there anyone experienced in upgrading to Slackware 14? I will be very grateful if anyone helps me about this situation.

Sincerely
Mustafa


Top
 Profile  
 
PostPosted: Wed Apr 03, 2013 2:34 pm 
Offline
Newbie

Joined: Tue Apr 02, 2013 12:50 pm
Posts: 4
I might be a bit late but I'll answer nonetheless.

Most people use slackpkg to do the upgrade and that is certainly the easiest way. To do so yourself read the system upgrade page on SlackDocs. You can ignore most of the kernel stuff because Linode provides their own kernel by default. When you come to the point where you issue the 'slackpkg install-new' command you will need to consider which of the new packages to add. To help you decide which are appropriate for your setup, use the descriptions in PACKAGES.TXT along with the occasional comments found in ChangeLog.txt.

Alternatively if you want you can fetch the relevant updated packages and then follow the official instructions in UPGRADE.TXT. This is slightly more complex as that guide assumes you want to do a full install. Whilst this is often a good idea, on a VPS with limited space it will leave you with little to work with.

Here is one possible method to work out which packages are actually needed when upgrading a minimal install.

Firstly switch to an empty directory and fetch the following text files:

Code:
wget http://mirrors.slackware.com/slackware/slackware-14.0/CHECKSUMS.md5 \
     http://mirrors.slackware.com/slackware/slackware-14.0/ChangeLog.txt \
     http://mirrors.slackware.com/slackware/slackware-14.0/UPGRADE.TXT \
     http://mirrors.slackware.com/slackware/slackware-14.0/CHANGES_AND_HINTS.TXT \
     http://mirrors.slackware.com/slackware/slackware-14.0/PACKAGES.TXT


Next make a list of packages that are currently installed in your 13.37 setup:

Code:
( cd /var/log/packages/; /bin/ls ) > installed-packages.txt


Then use that list to make a grep filter so that you can find the equivalent Slackware 14.0 packages:

Code:
sed -nr 's#^([[:graph:]]+)(-[[:alnum:]\.\+_]+){3}$#/\1(-[[:alnum:]\\.\\+_]+){3}\\.t.z$#p' installed-packages.txt > installed-packages.grep


Now use the filter against CHECKSUMS.md5 to find the exact names of the 14.0 packages:

Code:
grep -Ef installed-packages.grep CHECKSUMS.md5 | grep -v "/extra/\|/pasture/\|/testing/" | sed -r "s#[[:alnum:]]{32}  \.##" > 14.0-packages.txt


Remember that between Slackware releases some packages are not upgraded and hence are exactly the same as the version found in 13.37. We should remove these and create a new list of only the updated packages, so that when we download the packages later on we don't waste time grabbing stuff that is already installed:

Code:
grep -Fvf installed-packages.txt 14.0-packages.txt > updated-packages.txt


With each Slackware release there are always some new, additional packages. We may want some of these because they are dependencies of the updated packages or simply because they are useful in their own right. To get the raw list of new packages do the following:

Code:
sed -nr 's#(.*([[:graph:]]+)(-[[:alnum:]\.\+_]+){3}\.t.z):  Added\.$#/slackware/\1#p' ChangeLog.txt | grep -v "/extra/\|/pasture/\|/testing/" | sort -u > added-packages.txt


Now manually edit added-packages.txt in your text editor of choice and remove any of the newly introduced packages that you do not require. Obvious candidates to removal from the list on a minimal server install would be anything from the kde, kdei, x, xap and xfce series. To help you decide on the rest, use the descriptions in PACKAGES.TXT along with the occasional comments found in ChangeLog.txt. Don't be surprised if you strip the file back to just a few of the new packages, since these VPS installs tend to be fairly spartan (personally I left only kmod, icu4c, libffi, nettle and p11-kit because they seemed to be needed, plus htop and iftop because they looked useful).

Once you have finished removing undeeded packages from added-packages.txt combine it with updated-packages.txt:

Code:
cat updated-packages.txt added-packages.txt > packages-to-install.txt


Then download all the new and updated packages and their corresponding signature files:

Code:
for f in $(cat packages-to-install.txt)
do
  wget -P .$(dirname $f) http://mirrors.slackware.com/slackware/slackware-14.0$f http://mirrors.slackware.com/slackware/slackware-14.0$f.asc
done


Before you install any of these you will probably want to check the signatures to verify that the packages have not been tampered with (and also to ensure they downloaded completely). To do so you will need to check them against the the Slackware gpg key. If you have purchased an official Slackware CD or DVD you can get the file from there and copy it over to your VPS via scp or sftp. If not you will have to fetch it from one of the mirrors which is hardly ideal. If you have to do this I would at least take it from one that serves it via https, e.g.:

Code:
wget https://mirrors1.kernel.org/slackware/slackware-14.0/GPG-KEY


You may also want to fetch it from several mirrors and diff them just to be sure they are all the same. Once you have satisfied yourself that you have the real key, import it as follows:

Code:
gpg --import GPG-KEY


Now you can check the signatures:

Code:
for sig in $(find . -name "*.asc"); do
  if gpg --verify $sig 2>/dev/null; then
    echo ${sig%.*}: OK
  else
    echo ${sig%.*}: FAILED
    break
  fi
done


If all the files verified OK, you should have everything you need to perform the upgrade. Now you can follow the official steps in UPGRADE.TXT using the packages you downloaded. After you install the packages remember to spend some time reviewing the *.new files by diffing with the old versions. You can move the *.new files on top of their old counterparts if you have incorporated the changes and tweaks that Linode (and perhaps you) have made. If you are unsure, I'd suggest you keep the old versions.

Once you have upgraded to Slackware 14.0, install any security updates as follows, then reboot.

Code:
upgradepkg ./patches/packages/*.t?z


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic


Who is online

Users browsing this forum: ingber and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
RSS
Powered by phpBB® Forum Software © phpBB Group

Home | Manager | Contact Us | Jobs | Terms of Service | Privacy Policy | ™ © 2003-2012 Linode, LLC. All rights reserved.