LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   how to move from stable 14.2 to newer slackware system such as -current (https://www.linuxquestions.org/questions/slackware-14/how-to-move-from-stable-14-2-to-newer-slackware-system-such-as-current-4175679041/)

John Lumby 07-20-2020 10:19 AM

how to move from stable 14.2 to newer slackware system such as -current
 
Preamble:

slackware 14.2 is the stable release and has been for the last 4 years. It is unclear if or when a newer stable release will
become available. Meanwhile some users need newer versions of at least some if not all of the packages. Experts have been doing this in a variety of ways but novices may have difficulty doing so. They need help.

Reference:

https://www.linuxquestions.org/quest...ml#post6147196

and other posts in that thread.

Disclaimer:

I am a novice myself and will probably not offer any advice myself. I am hoping this thread becomes a
useful source of actual, working, experience combined with how-to.

Note: questions about the future , in general or specifically about slackware, are not the purpose of this thread. Please stick to specifics and working methods.

kevmccor 07-20-2020 11:34 AM

This article discusses using slackpkg to upgrade your system, slackpkg, towards the bottom of the article. You will probably need to change your /etc/slackpkg/mirror selection to current. Once you have a working kernel, I recommend blacklisting the kernel per the sample /etc/slackpkg/blacklist file to avoid constant kernel upgrades.

Find a mirror, such as rackspace.com and review the ChangeLog.txt file, FYI.

Then you will probably need sbopkg configured for -current
configuring-the-current-repository-with-sbopkg and the program "sqg" which is included on sbopkg. Learn to make sbopkg queue files so you can add extra programs without too much effort.

captain_sensible 07-20-2020 12:07 PM

current is constantly changing along a time line ; it may be fair to say there are points in time where there is a "peak" in terms of stability and a very good experience troughs ? thats my simple interpretation.

I got current when the kernel was 5.4.12 it was a particularly good vintage and for now i'm sticking to it.

The way i upgraded from 14.2 to current was to go to https://mirrors.slackware.com/slackw...slackware64/a/ (my PC is 64 bit) if you shimmy down you will see :

kenel firmware txz
kernel generic .. txz
kenel modules txz
glibc-solibs txz


they have changed since i upgraded.

But basically get (download) all of the above. For glibc-solibs the reason i got latest is that on upgrading you will need to run # slackpkg upgrade glibc-solibs

if you get the latest glibc-solibs then you will have already done that bit.

Now then the article to follow "to the letter... did I say TO THE LETTER " is :
https://docs.slackware.com/howtos:sl...:systemupgrade its by Alien Bob


Before you start go to change logs and read up on PAM, deps and implications. PAM came after I need system upgrade.

As long as you read article a few times, do exactly what it tells you ; taking into account the new element of PAM you should be OK.

I upgraded from 14.2 to 5.4.12 and never looked backed.

enorbet 07-20-2020 12:19 PM

I prefer parallel installs that started "life" clean. Recently -Current from late June 2020 with Ktown has become my go to Main. Little by little I just migrated over whatever needs it from my still existing, still working 14.2 system. I can always just reboot to 14.2... easy and safe.

hitest 07-20-2020 12:21 PM

I have upgraded from 14.2 to Slackware64-current. This method is listed on Slackdocs.

https://docs.slackware.com/howtos:sl...:systemupgrade

In my opinion I think that the most painless way to upgrade to Slackware64-current is to back-up all of your files, pictures, docs, etc. and do a clean install of Slackware64-current. Then restore your back-ups on the clean install.

http://bear.alienbase.nl/mirrors/sla...4-current-iso/

Have fun! :)

captain_sensible 07-20-2020 12:58 PM

@hitest yes from 14.2 thats what i would call lateral thinking.

Now here is a question.it seems ALien Bob produces iso of current just about daily.

If somebody was on 14.2 and you look at the change logs for current, would your thinking be it really doesn't matter what day you decide to download an iso ..or with your knowledge you look at the change logs and think, that looks like it could be a problem i will wait a few days until that is fixed.

I'm on 5.4.12 and myabe just struck lucky; my upgrade went like a dream; all packages I want i have and all working in harmony.

I upgraded around January this year. I was thinking maybe i should upgrade then i saw integration of PAM and a few posts saying they were locked out. My thinking then turned to mm maybe I just wait for 15 and upgrade to that. Looking from my and others perspective with limited knowledge how would you explain to us in simple terms the pitfalls to look out for for choices in the time line of current. Most things in this world work in cycles and exhibit peaks and troughs. How do we identify a peak point and choice that day to get an iso from Alien mirror.

inman 07-20-2020 01:44 PM

After almost 4 years, I moved two weeks ago back to the current. I am not sure what other folks do to upgrade to current, but if it helps i did that the last few time like this:

I tar archive as always my / with exceptions of some folders like /dev /proc and etc. You may want so use -czpvf and --xattrs to have every right and attribute correctly. You also may need to do the same for /home if it is in a different partition.

Slackpkg is an amazing tool but doing the major upgrade I am a little reluctant to use anything than rsync. So I got a local copy of everything and did checksum. upgradepkg, installpkg commands are working always well, and I used to use them to upgrade, the last few times.

To clean the system I used pkg commands again in a small script, where I listed, all to be removed packages, using current changelog, packages in the local sync folder, and other packages, that I did not want to remove. If you want slackpkg can do that simpler, once you have the correct blacklist in the config file. Other obvious things like bootloader everyone knows.

If I destroy the installation in a magnitude that it does not boot up, which I did enough in my life, I do boot on a live USB/CD & do chroot, and try to save the installation. If I get bored or cant solve it, I use the tar I made earlier and extract it to / so that others can still use the labtop.

This time I had no issue, everything was smooth and clean. I had no multi-lib, nor ktown. For other packages, I ended up using ponce gits & my own local scripts. But if I remember correctly sbopkg can give you the option to use ponce, or even a local version of that if you like & upgrade other packages.

I hope it helps. ;)

hitest 07-20-2020 02:31 PM

Quote:

Originally Posted by captain_sensible (Post 6147347)
Looking from my and others perspective with limited knowledge how would you explain to us in simple terms the pitfalls to look out for for choices in the time line of current.

I would carefully read the -current changelog before running # slackpkg upgrade-all. Mr. Volkerding does an exceptional job of detailing potential gotchas in the changelog; he explains how to avoid issues.
I would carefully read changelog mission critical upgrades like kernel upgrades, Xorg, PAM, etc.
Also, if you see a changelog upgrade that makes you uneasy I suggest that you put off updating right away. There are a lot of Slackware64-current beta testers who regularly post here on LQ. If we encounter issues we'll post about them here. Mr. Volkerding fixes issues very quickly as they're discovered.

captain_sensible 07-21-2020 03:23 AM

@hitest thanks for reply , i will follow that advice

i'm very cautious by nature. As i said I'm running 5.4.12 circa January 2020 current which isn't giving me any issues, so really no prompt to change it

Quote:

There are a lot of Slackware64-current beta testers who regularly post here on LQ. If we encounter issues we'll post about them here.

That would be very helpful

chrisretusn 07-21-2020 12:17 PM

I have been using slackpkg to upgrade Slackware from one version to another (e.g., 13.1 to 13.37) and to -current from a versioned number to quite some time.

The steps to do this are much less that it used to be. Now it is pretty straight forward. This will only cover upgrading from Slackware64-14.2 to Slackware64-current using slackpkg. This is not for attempting other upgrades. i.e version to version or difference version to -current. Versions before 14.2 will need different steps.

It should go with out saying, you should have a complete backup of your system that you can restore.

This procedure assumes you installed Slackware64-14.2 with the recommended full install. This procedure assumes your Slackware64-14.2 installation is up to date. This procedure assumes you are familiar with using slackpkg. This procedure works with slackpkg+ installed.

This procedure does not do anything with third party packages! Some third party packages may still work, some may no longer work after the upgrade. For those that don't. If your using SBo builds, usually a rebuild is all that will be needed. If you are using already made packages, there might be a '-current' version available. Two examples of -current specific packages that come to mind are two popular packages from Alien Bob libreoffice and calibre.

READ this all the way through before attempting. If you are not comfortable in doing this... then don't do it.

The first step in upgrading from Slackware64-14.2 to Slackware64-current is to change the mirror in /etc/slackpkg/mirrors from a Slackware64-14.2 mirror to a Slackware64-current mirror. Once the mirror has been changed from Slackware64-14.2 to Slackware64-current you need to do the following from root in the order stated.

Note: I use a Local Directory for my mirror that has the Slackware64-current tree installed that is also accessible on my LAN as an NFS share. This mirror is updated daily via a crontab using Alien Bob's mirror-slackware-current.sh script. I use this mirror to keep all of my Slackware64-current installations updated via my LAN.

# slackpkg update gpg
# slackpkg update
# slackpkg install-new

After all the packages are installed you will see the "Some packages had new configuration files installed." prompt. I recommend you choose "(P)rompt K, O, R selection for every single file" and review each file. At this stage there isn't many to review. Unless you are sure you need to (M)erge changes, the recommended choice for each file is should be (O)verwrite. You should know what changes you have made to these files. If you have made none, then let slackpkg (O)verwrite it.

Now that the "Added." packages have been installed.

# slackpkg upgrade-all

There will be a long list of packages being downloaded. This process will end with upgrading slackpkg and this message:
Code:

slackpkg was upgraded - you will need to start the upgrade process again...
# slackpkg update

You will now get this prompt:
Code:

You have selected a mirror for Slackware -current in /etc/slackpkg/mirrors,
but Slackware version is 14.2 appears to be installed.

Slackware -current is the development (i.e. unstable) tree.

Is this really what you want?

To confirm your choice, press Y, else press N. Then, press Enter:

After Y and enter you will get this message:
Code:

Slackpkg will not show this warning again unless you remove the
/var/lib/slackpkg/current file.

Next you will get this prompt:
Code:

                No changes in ChangeLog.txt between your last update and now.
                Do you really want to download all other files (y/N)?

Do NOT accept the default of "N", you must answer with "Y" to recreate the package list. If you get "The package list ins missing after the next step, you didn't answer with "Y".

# slackpkg upgrade-all

Once again a lot of packages will scroll by with "already in cache - not downloading" once that is done, pkgtools, glibc-solibs, aaa_elflibs, readline and sed will be upgraded, then the you will see those "already in cache - not downloading" again, eventually the upgrading of the rest of the packages will start.

Once that is done, you will see, if you do not have kernel images blacklisted in /etc/slackpkg/blacklist.
Code:

Your kernel image was updated. Be sure to handle any needed updates to your bootloader (possibly as simple as running /sbin/lilo).

Press the "Enter" key to continue...

This is a only reminder, you image will not be updated by slackpkg.

After all the packages have been upgraded you will see the "Some packages had new configuration files installed." prompt again. I recommend you choose "(P)rompt K, O, R selection for every single file" and review each file. Unless you are sure you need to (M)erge changes, the recommended choice for each file is should be (O)verwrite. You should know what changes you have made to these files. If you have made none, then let slackpkg (O)verwrite it.

At this point you should "Be sure to handle the needed updates to you bootloader (possibly as simple as running /sbin/lilo)." I'm not going to detail this process as it can vary by situation.
If you have the kernel packages blacklisted, you should know what to do.

Once you have taken care of the bootloader then run:
# slackpkg clean-system
After all the obsolete package are removed. All that remains is to reboot your system.

IMPORTANT - Before you reboot, make sure you have done the "Be sure to handle the needed updates to you bootloader (possibly as simple as running /sbin/lilo)."

Once rebooted, your installation will be a Slackware64-current installation. No the additional fun starts with see what third party packages work, don't work.

Regnad Kcin 07-22-2020 01:26 AM

I am using a method highly similar to that of chrisretusn.
It is wise to -rtfm- (the notes) when upgrading.
Problems are few in -current and you are missing a *lot* if you are still using 14.2...

If you upgrade the kernel with the upgrades to -current you will have to reinstall the nvidia drivers
and any modules you may have added such as v4l2loopback, etc., and
keep your bootloader updated.

FlinchX 07-24-2020 11:28 AM

from the perspective of an unexperienced end user, any guide about upgrading latest stable to -current is incomplete, if it only covers slackpkg

due to the limitations of vanilla Slackware, most systems contain third party packages as well, so a howto that pretends to be practically useful for the end user, should at least contain instructions about upgrading sbopkg to use the -current repository as well

bassmadrigal 07-24-2020 12:55 PM

Quote:

Originally Posted by FlinchX (Post 6148877)
from the perspective of an unexperienced end user, any guide about upgrading latest stable to -current is incomplete, if it only covers slackpkg

I feel like the upgrade is pretty well handled with the UPGRADE.TXT on your favorite -current mirror. It may not always be exactly up-to-date, but it covers the basics and let's the user know what steps to take. And a quick search through the ChangeLog.txt will let you know what packages have been added and removed during this development cycle (either with Ctrl+F on a browser, or grep -e "Removed\\.$" -e "Added\\.$" ChangeLog.txt) (the CHANGES_AND_HINTS.TXT will get updated before 15.0 is released).

Quote:

Originally Posted by FlinchX (Post 6148877)
due to the limitations of vanilla Slackware, most systems contain third party packages as well, so a howto that pretends to be practically useful for the end user, should at least contain instructions about upgrading sbopkg to use the -current repository as well

ponce already has this covered on his github repo's wiki.

John Lumby 07-24-2020 01:03 PM

Thanks-you chrisretusn for your detailed instructions. I have followed those through to completing the second (final) slackpkg upgrade-all and all went fairly well. I have not yet completed updating my kernel and bootloader etc and rebooting, let alone testing my add-on packages, but thought I would add a few notes and questions while I remember them and while my new kernel is building.

1. The process took longer than I had anticipated - around 36 hours on and off - although with so much change maybe this was expected.
Also I had to run my root filesystem root-over-nfs which accounts for quite a lot of the time, but still. There were *far* more modified-by-me config files than I had remembered - and I do (try to) keep notes. I guess they just accumulate after 4 years.

2. I hit an awkward double-whammy gotcha -
first whammy - slackpkg upgrade-all runs some ncurses tool called dialog which apparently ignores terminfo. I like to run system maintenance commands in an emacs shell to keep a record of everything I do and everything the tool does, and emacs creates its own terminfo for an "emacs" terminal. But dialog barfed on that. It also barfed on TERM=dumb which ought to have told it to stay off vtxx control sequences.
second whammy - so I switched to xterm, where dialog was fine but then I discovered (please tell me I'm wrong) that slackpkg does not keep any log of what it has done. I can't quite believe that but if it does please tell me where because I could not find it. I could have used the -l option on xterm but I don't find that very noisy log very useful. So I have no record of what slackpkg upgrade-all did.
(I do see the final list of packages in /var/lib/pkgtools/packages but I would like a blow-by-blow log)

3. At the end of slackpkg install-new it spat out

==============================================================================
WARNING! WARNING! WARNING! WARNING! WARNING!
==============================================================================
One or more errors occurred while slackpkg was running:

.: gpg
.: gpg
.: gpg
.: gpg

==============================================================================

I don't know what that was telling me. No errors after that.

Other than that everything went smoothly (so far) and I am very grateful that thanks to your instructions I did not have to do any experimenting or trial-and-error into what the various slackpkg commands were doing.

chrisretusn 07-25-2020 03:50 AM

Quote:

Originally Posted by John Lumby (Post 6148917)
Thanks-you chrisretusn for your detailed instructions. I have followed those through to completing the second (final) slackpkg upgrade-all and all went fairly well. I have not yet completed updating my kernel and bootloader etc and rebooting, let alone testing my add-on packages, but thought I would add a few notes and questions while I remember them and while my new kernel is building.

You are welcome, sorry you had some hiccups.

Quote:

1. The process took longer than I had anticipated - around 36 hours on and off - although with so much change maybe this was expected.
Also I had to run my root filesystem root-over-nfs which accounts for quite a lot of the time, but still. There were *far* more modified-by-me config files than I had remembered - and I do (try to) keep notes. I guess they just accumulate after 4 years.
That's a long time. I'm guessing this was using an on-line mirror and a slow connection. One reason I keep a local mirror of Slackware on one of my computers. There is only one update from the internet when my cron job syncs with the mirror. I can then do updates across my LAN via NFS shares. Two of my test runs on this was over the LAN using my local mirror. Only took a couple of hours if that long.

Having a local mirror comes in handle when you have multiple systems. I currently have three mirrors that I keep up to date, Slackware64-14.2, Slackware-current, Slaclware64-current.

I always do an update like going from Slackware64-14.2 to Slackware64-current (or any major update with a lot pacakges being updated) from runlevel 3. Some say you should be at runlevel 1, I have never found that needed.

I do the update from the computer being updated with NFS shares to "/home/slackware/" and /home/non-slack/". Those are where my local Slackware mirrors and my third party repository live.

Yes indeed, you can accumulate a lot of modified-by-me configuration files over the years. When I converted this system to -current I think I might have been at Slackware64-14.0 or 14.1 because I want to started using ktown. This system has not have a "fresh" install since around 2004, just upgrades. I've got lots of modified-by-me configuration files. LOL

Quote:

2. I hit an awkward double-whammy gotcha -
first whammy - slackpkg upgrade-all runs some ncurses tool called dialog which apparently ignores terminfo. I like to run system maintenance commands in an emacs shell to keep a record of everything I do and everything the tool does, and emacs creates its own terminfo for an "emacs" terminal. But dialog barfed on that. It also barfed on TERM=dumb which ought to have told it to stay off vtxx control sequences.
second whammy - so I switched to xterm, where dialog was fine but then I discovered (please tell me I'm wrong) that slackpkg does not keep any log of what it has done. I can't quite believe that but if it does please tell me where because I could not find it. I could have used the -l option on xterm but I don't find that very noisy log very useful. So I have no record of what slackpkg upgrade-all did.
(I do see the final list of packages in /var/lib/pkgtools/packages but I would like a blow-by-blow log)
Well my instructions assumed that you would do this from the runlevel 3 CLI that Slackware defaults to. I assumed (not to fond of that word) you would know to use a standard terminal. I surely hope you did not try this from runlevel 4.

No slackpkg does not create a log. If you want a log you would have to "tee" off the output. It's a lot of stuff to log, never saw the point in it out side of a couple of "WARNING" messages about changed files and new files. I patched removepkg to log those.

Quote:

3. At the end of slackpkg install-new it spat out

==============================================================================
WARNING! WARNING! WARNING! WARNING! WARNING!
==============================================================================
One or more errors occurred while slackpkg was running:

.: gpg
.: gpg
.: gpg
.: gpg

==============================================================================

I don't know what that was telling me. No errors after that.
Did you run 'slackpkg gpg' as the first command after switching mirrors?

Which mirror did you use? I will give it a try here.

Quote:

Other than that everything went smoothly (so far) and I am very grateful that thanks to your instructions I did not have to do any experimenting or trial-and-error into what the various slackpkg commands were doing.
Wish it would have went perfectly.


All times are GMT -5. The time now is 10:18 PM.