Easy Way to Install and Maintain Multilibs with Slackware (Updated Way)

How to Install and Maintain Multilibs in Slackware with slackpkg+ 

(Easy Updated Way, Tested working in Slackware Current, it should work for Stable as well, just make sure to track the repos for stable for stable and current for current)

- Install Multilib in Slackware Current, and Keep the Multilib Enabled Slackware - Current up-to-date with slackpkg+:

1.) Install the latest binary package from slackpkg+
2.) Edit slackpkg.conf file with your desired editor, for examples emacs and nano are used:

# emacs -nw /etc/slackpkg/slackpkgplus.conf 

you can also use vim or nano for example:

# nano /etc/slackpkg/slackpkgplus.conf

add this line to the mirrorplus list:

MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/

3.) Then in REPOPLUS array add the entry - multilib , typically best right after slackpkgplus entry so it would look like this:

REPOPLUS=( slackpkgplus multilib restricted alienbob ktown mate )
#priority repo list: order of left priority, right less priority                           

4.) Save, then exit and run these commands in order, line after line:
# slackpkg update gpg
# slackpkg update
# slackpkg upgrade-all
# slackpkg install multilib


(Optionally: Another way is to install slackpkg+ then run this command to automatically setup everything that is to be done with the instructions above:

# /usr/doc/slackpkg+-*/setupmultilib.sh

To uninstall re-run the same command again)


To keep multilib up-to-date:
After that, you can keep multilib up-to-date by running these commands in order, line by line:
# slackpkg update
# slackpkg upgrade-all
# slackpkg install multilib


*To uninstall multilib, edit the slackpkgplus.conf file located in /etc/slackpkg/slackpkgplus.conf and remove 'multilib' from PKGS_PRIORITY and REPOPLUS arrays, but do NOT delete the related MIRRORPLUS line, then run the following commands:

# slackpkg update
# slackpkg remove multilib

Note: this does NOT remove the core multilib packages, because they affect the 64bit system. Remove these with the following commands:


# slackpkg upgrade-all

then delete or comment the related MIRRORPLUS line, then run:

# slackpkg update


NOTE: This is a very basic sample slackpkg+ config file could look like with multilib setup:

SLACKPKGPLUS=on
VERBOSE=1
ALLOW32BIT=off
USEBL=1
WGETOPTS="--timeout=20 --tries=2"
GREYLIST=on

PKGS_PRIORITY=( restricted alienbob ktown mate )
REPOPLUS=( slackpkgplus multilib restricted alienbob ktown mate ) #priority repo list: order of left priority, right less priority                           

MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/
MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/current/x86_64/
MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/
MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/
MIRRORPLUS['ktown']=http://bear.alienbase.nl/mirrors/alien-kde/current/latest/x86_64
MIRRORPLUS['mate']=http://slackware.uk/msb/current/1.15/x86_64/


NOTE: Using this method with slackpkg+ to Install and Keep Multilib up-to-date in Slackware Current, this is definitely easier than the old way, and you can do the initial setup manually or with /usr/doc/slackpkg+-*/setupmultilib.sh script in slackpkg+


Tips and a Fix for Troubleshooting Common Problems with slackpkg/slackpkg+:

- When errors happen first check the slackpkg+ config file, and the mirror list at /etc/slackpkg/mirrors and /etc/slackpkg/slackpkgplus.conf , make sure there are no typos or using of capital letters in the urls and make sure its all setup as mentioned above.
- Before installing and upgrading with slackpkg/slackpkg+, issue these commands first: 

# slackpkg update gpg
then
# slackpkg update
- Sometimes the urls in the mirrors are not up-to-date in this case you have to check and find the right urls that work
- To avoid problems use urls that are the same version as the system you use, so use urls with current when using current, or 14.2 with 14.2
- If you run into an error that says you have duplicate packages that are conflicting in /var/log/packages, what you have to do is check that directory of any packages that have either a duplicate of the same package or
essentially 1 package with double or multiple versions like foo_ver1.1 and foo_ver1.2 , all you have to do is remove the problematic package in this case  the older one, and it should work.

example issue duplicate slackpkg version conflict:

- When running slackpkg upgrade-all as below you come into contact with such an error:

# slackpkg upgrade-all

NOTE: Remember to re-run 'slackpkg update' after modifying slackpkgplus.conf

Checking local integrity... DONE
You have a broken /var/log/packages - with two versions of the same package.
The list of packages duplicated in your machine are shown below, but don't
worry about this list - when you select your action, slackpkg will show a
better list:

slackpkg-2.82.1-noarch-1

You can (B)lacklist, (R)emove, or (I)gnore these packages.
Select your action (B/R/I): 


- Issuing the command removepkg on slackpkg will not fix this issue, even if you reinstall slackpkg, instead issue this command: 
# ls /var/log/packages | grep slackpkg
- Fortunately the error gave the hint of the program that is causing the problem, so you get a list that looks something like this for example where you see the duplicate issue

slackpkg+-1.7.0-noarch-4mt
slackpkg-2.81.1-noarch-1
slackpkg-2.82.1-noarch-1

- So you just uninstall the older or problematic version with this command: 
# removepkg /var/log/packages/slackpkg-2.81.1-noarch-1
- Now things should be back to normal, run the # slackpkg upgrade command now and it should work

NOTE: Before installing STEAM and VirtualBox, Wine and PlayonLinux on Slackware make sure to setup and install multilib in slackware first

Reference Links:
- "http://slakfinder.org/slackpkg+.html"
- "http://alien.slackbook.org/blog/introducing-slackpkg-an-extension-to-slackpkg-for-3rd-party-repositories/"
- "http://docs.slackware.com/howtos:slackware_admin:systemupgrade"
- "http://docs.slackware.com/slackware:multilib"
- "http://slakfinder.org/slackpkg+/src/README"
- "https://www.youtube.com/watch?v=AtLM3sjLT7U" *Linux4UnMe Channel basically mentions he used slackpkg+ to install multilibs in his slackware linux system, but doesnt explain how he did it, anyways i have tried to explain how to do this in detail above 

0 comments:

Post a Comment