[SOLVED] Upgrading multilib installation from 14.2 -> 15.0
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
So I upgraded my vanilla slack64 laptop from 14.2 -> 15.0 using the instructions found in the UPGRADE.txt file...no problems, just used all the commands/script straight from that.
Now I've got my mutlilib machine, which is more mission-critical. That same process won't work this time, right? Aren't there a whole bunch of 32-bit versions of the 64 bit libraries that won't be automatically upgraded?
Is there a known procedure, or is a 15.0 reinstall, then multilib conversion, just a better idea?
I would update to 15.0 and go multilib.
If you had already converted packages I would grab the list.
Alien Bob already refreshed his compat32 packages since release.
<snip>
Now I've got my mutlilib machine, which is more mission-critical. That same process won't work this time, right? Aren't there a whole bunch of 32-bit versions of the 64 bit libraries that won't be automatically upgraded?
Is there a known procedure, or is a 15.0 reinstall, then multilib conversion, just a better idea?
I would think it depends on which method of upgrade you are using. Example are you using slackpkg+, or slpkg, or using the UPGRADE.TXT method. In each case there will be steps you may need to modify from what is generally given in UPGRADE.TXT. For example with slackpgk, slackpkgplus and slpkg the blacklist of non-upgrade packages needs to be modified, because as the UPGRADE.TXT file states, you first ugprade gcc and glibc before any other packages. If using slackpkgplus you'll need to modify the repository statements.
For my multilib computer, without slackpkg+, I'll compare Eric's multilib packages list with those on the target PC to identify extra packages that will need conversion to compat32. Download the 15.0 multilib direcotry. modify the mirrors file, remove the restrictions in the blacklist, then follow the UPGRADE.TXT, and HINTS and TIPS.TXT. That will all be done in single user mode. Then I'll install the 15.0 multilib files per Eric's instructions and blacklist glibc, gcc, and compat32 again. This is pretty much the process used when upgrading from 14.1 to 14.2 and everything worked without trouble. Be aware this time there maybe some additional compat32 packages you created that need to be recreated with convertpkg from Slackware 15.0 32 bit repository, because the multilib files in Eric's repository are only those essential for a full default 15.0 install to have multilib services. NOTE: run ls /var/log/pakcages | grep compat32 and compare the results with Erics multilib packages before starting this process, to see what additional packages you may need to convert for your system.
Hope this helps. It is simple. Read the documents, then Eric's multilib instructions, write down the steps, and follow them. If you remove the slackpkg blacklist and upgrade per the official documents, the replacement 64 bit gcc and glibs will simply not recognize any 32 bit pieces and you should then be able to apply the multilibs as done previously. Remember multilib adds 32 packages in a compat32 mode and only the gcc and glibc are actually modified. Hope this helps. BrianA_MN
A backup then fresh install of 15.0 then multilib is a safe bet. but...
Since I haven't done a 14.2 > 15.0 upgrade I can only speculate on it. I would think its the same as what you did on the other machine with a few extra steps for multilib. If it were me once I was in single user mode before I began I would just remove all the compat32 packages with something like
Code:
removepkg $(ls /var/log/packages | grep compat32)
then proceed with the upgrade as normal. Once I confirmed it was successful then I would just reinstall multilib as per Alien Bob's instructions using the correct mirror for 15.0
Please note: I haven't done this, its just speculation, if it is a mission critical machine proceed with caution.
You should use slackpkg together with slackpkg+. The latter is an extension to make slackpkg capable of managing packages that are not in the core Distro. More specifically: it makes it very easy to manage a multilib computer.
For instance, I just ran:
Code:
slackpkg install multilib
on this Slackware 15.0 laptop, and I discovered that pipewire-compat32 was available and apparently I did not have it installed yet.
So now I am going to run
Fixed convertpkg-compat32 so that it removes /lib/udev from e2fsprogs,
libgphoto2, libinput, libwacom, pipewire, pulseaudio, sane, v4l-utils
and I think it is wise to re-install all the multilib packages just to be safe.
Two commands, that's all it took to ensure that my multilib is healthy.
So I upgraded my vanilla slack64 laptop from 14.2 -> 15.0 using the instructions found in the UPGRADE.txt file...no problems, just used all the commands/script straight from that.
Now I've got my mutlilib machine, which is more mission-critical. That same process won't work this time, right? Aren't there a whole bunch of 32-bit versions of the 64 bit libraries that won't be automatically upgraded?
Is there a known procedure, or is a 15.0 reinstall, then multilib conversion, just a better idea?
The only multilib packages which replace Slackware packages are:
So anywhere in UPGRADE.TXT it tells you to upgrade the Slackware package, upgrade the multilib package instead.
After you finish with UPGRADE.TXT, upgrade all the multilib compat32 packages in slackware64-compat32. Then check for old (removed) packages from 14.2. Easiest way to do that is list packages in /var/lib/pkgtools/packages/, sorted by time, grep for compat32. All the packages have been upgraded/rebuilt since 14.2, so the few remaining leftover compat32 packages that didn't get upgraded are old 14.2 packages.
Now actually, when I did my upgrade, I forgot to mirror the multilib repository. So when I followed UPGRADE.TXT the multilib packages listed above got replaced by the Slackware packages. After I finished and rebooted, I then mirrored the multilib repository and used upgradepkg to replace the Slackware packages by the multilib packages. That way worked just fine, too.
I would think it depends on which method of upgrade you are using. Example are you using slackpkg+, or slpkg, or using the UPGRADE.TXT method. In each case there will be steps you may need to modify from what is generally given in UPGRADE.TXT. For example with slackpgk, slackpkgplus and slpkg the blacklist of non-upgrade packages needs to be modified, because as the UPGRADE.TXT file states, you first ugprade gcc and glibc before any other packages. If using slackpkgplus you'll need to modify the repository statements.
For my multilib computer, without slackpkg+, I'll compare Eric's multilib packages list with those on the target PC to identify extra packages that will need conversion to compat32. Download the 15.0 multilib direcotry. modify the mirrors file, remove the restrictions in the blacklist, then follow the UPGRADE.TXT, and HINTS and TIPS.TXT. That will all be done in single user mode. Then I'll install the 15.0 multilib files per Eric's instructions and blacklist glibc, gcc, and compat32 again. This is pretty much the process used when upgrading from 14.1 to 14.2 and everything worked without trouble. Be aware this time there maybe some additional compat32 packages you created that need to be recreated with convertpkg from Slackware 15.0 32 bit repository, because the multilib files in Eric's repository are only those essential for a full default 15.0 install to have multilib services. NOTE: run ls /var/log/pakcages | grep compat32 and compare the results with Erics multilib packages before starting this process, to see what additional packages you may need to convert for your system.
Hope this helps. It is simple. Read the documents, then Eric's multilib instructions, write down the steps, and follow them. If you remove the slackpkg blacklist and upgrade per the official documents, the replacement 64 bit gcc and glibs will simply not recognize any 32 bit pieces and you should then be able to apply the multilibs as done previously. Remember multilib adds 32 packages in a compat32 mode and only the gcc and glibc are actually modified. Hope this helps. BrianA_MN
Very helpful with the details. I'm already using slackpkg, so I'll get going with slackpkg+ in 14.2 first, and then try basically this without the blacklisting. It sounds like from the other responses I can be a little more cavalier with slackpkg+, but I might as well be careful and do it step by step because I think I understand things fairly well. I'll get a process and report back.
and I think it is wise to re-install all the multilib packages just to be safe.
Two commands, that's all it took to ensure that my multilib is healthy.
I don't know if it's necessary to reinstall multilib, so long as you've got the new things. Rather, I didn't, and things still seem to be OK. I figure if I'm staying on current, those packages will be upgraded eventually, anyway.
$ uname -a
Linux Zonadar.home.org 5.15.19 #1 SMP PREEMPT Wed Feb 2 01:50:51 CST 2022 x86_64 Intel(R) Core(TM) i5 CPU 760 @ 2.80GHz GenuineIntel GNU/Linux
I'll actually paste in exactly what I did here - after going through it I'm sure many different ways are quite safe, but what I did worked.
1. Make sure slackpkg and slackpkg+ are installed and updated.
2. Get slackware tree with wget .....or maybe use DVDs, but slackware/ refers to the file tree in what follows.
3. Get multilib from AlienBob, multilib/ refers to that directory in what follows:
9. Remove the outdated packages, a la UPDATE.TXT (I deleted everything in that file but that command, chmod a+x it, dealt with the silly encoding issue, and ran it). Ok, I'm lying, I deleted all the new lines by hand instead of fixing the encoding....
10. Run the script with UPDATE.TXT for switch over the config files....but this time I Googled how to change the encoding from DOS to unix, and removed the ^M endlines....
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.