LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-31-2017, 11:41 AM   #1
laleksic
LQ Newbie
 
Registered: Aug 2017
Posts: 2

Rep: Reputation: Disabled
Is Slackware right for me?


Hello everyone :-),

I'm not a Slackware user, though I am considering it for various reasons. I'd like to get first hand opinions from Slack users on some things to see if it's right for me before I make the leap.

I would like to maintain a clean and strict separation between a full install of Slackware-stable and programs I install myself. I would also like to store all my additional programs in my user's home directory (along with any dependancies they have that are not part of the base Slack install). Therefore creating a new user and deleting the old user and his home would effectively revert the whole system to the base install. Also I will probably at some point require the ability to have multiple versions of the same program and/or lib, with say one set programs linking to one version of the lib, and another set to another version. Would the Slackware package management system (with Slackbuilds) accomodate me here, or would I have to use some other tool to manage this kind of setup, and if so, do you have any recommendations (0install seems pretty good for this, though I've never used it)?

In most cases, I will not be interested in using existing Slackware/Slackbuild packages. One of the things that led me to interest about Slackware is general disappointment with package management systems on other distros. I frequently require something that isn't packaged, or a newer version than are packaged, or an older version, or some specific compile time option, so I'm not looking for a drop-in replacement for such package managers and fully intend to compile most programs from source and create my own tailored Slackbuild/0install/whatever packages for private use to automate the work in case of a fresh install.

Once I make this setup I do not intend to do much updating (and even if I require something a new version offers, I would opt for installing the new version separately from the old -- just in case), as I am an extreme case of the conservative "Don't fix it if it ain't broke" guy.

Any thoughts? Would Slack suit me for this kind of thing?

As for the base install itself, I use Xfce so I was glad to see its included by default, though I avoid Gtk3 like the plague, so I ask, are the Xfce (and possibly other included Gtk) programs that can use both Gtk2 and 3, compiled with 2 or 3? Also my experiences with KDE have included so far only KDE5 which was quite unusable (at best, and at worst actually became unresponsive and forced me to force shutdown my computer, several times), though playing with Slax live I was surprised to see that KDE4 was just as fast as Xfce, so I might give it a try, and I ask, does the full install of Slack include the whole suite of KDE4 programs (which are for me the main attraction of KDE)? And is the base install in general capable of standard desktop work, with a GUI desktop, out-of-the-box (This isn't very important to me, as I'll probably setup and use my own preffered programs anyway, but it's nice to know that most things work out-of-the-box)?

Thanks for your time
 
Old 08-31-2017, 11:53 AM   #2
hitest
LQ Guru
 
Registered: Mar 2004
Location: Prince Rupert, B.C., Canada
Distribution: Slackware, OpenBSD
Posts: 5,184

Rep: Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177Reputation: 1177
Quote:
Originally Posted by laleksic View Post
And is the base install in general capable of standard desktop work, with a GUI desktop, out-of-the-box (This isn't very important to me, as I'll probably setup and use my own preffered programs anyway, but it's nice to know that most things work out-of-the-box)?

Thanks for your time
A full install of Slackware works out of the box with all dependencies met. We recommend that new Slackware users do a full install. If you customize your installation your user experience will vary. You can compile and install your own programs on Slackware. The good people at slackbuilds.org provide a wide variety of build scripts for programs not included in a full install of Slackware. Have fun!
 
Old 08-31-2017, 11:56 AM   #3
laleksic
LQ Newbie
 
Registered: Aug 2017
Posts: 2

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by hitest View Post
A full install of Slackware works out of the box with all dependencies met. We recommend that new Slackware users do a full install. If you customize your installation your user experience will vary. You can compile and install your own programs on Slackware. The good people at slackbuilds.org provide a wide variety of build scripts for programs not included in a full install of Slackware. Have fun!
Thanks :-). Anything on the other questions I have?
 
Old 08-31-2017, 12:02 PM   #4
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,114
Blog Entries: 4

Rep: Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524
Quote:
Originally Posted by laleksic View Post
I would like to maintain a clean and strict separation between a full install of Slackware-stable and programs I install myself. I would also like to store all my additional programs in my user's home directory (along with any dependancies they have that are not part of the base Slack install). Therefore creating a new user and deleting the old user and his home would effectively revert the whole system to the base install. Would the Slackware package management system (with Slackbuilds) accomodate me here, or would I have to use some other tool to manage this kind of setup
You're going to have to do that for yourself. On that basis, you could do that with any distro.

Quote:
Originally Posted by laleksic View Post
Also I will probably at some point require the ability to have multiple versions of the same program and/or lib, with say one set programs linking to one version of the lib, and another set to another version.
Again, you're going to have to do that for yourself.
 
Old 08-31-2017, 12:16 PM   #5
montagdude
Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 645

Rep: Reputation: 487Reputation: 487Reputation: 487Reputation: 487Reputation: 487
Quote:
Originally Posted by laleksic View Post
I would like to maintain a clean and strict separation between a full install of Slackware-stable and programs I install myself. I would also like to store all my additional programs in my user's home directory (along with any dependancies they have that are not part of the base Slack install). Therefore creating a new user and deleting the old user and his home would effectively revert the whole system to the base install.
You can do that, but it will be a lot of work because the SlackBuild scripts (that you find with the Slackware source or at SlackBuilds.org) are primarily intended to install things in the system directories. You can modify the scripts to install things in /home and set up environment variables appropriately for your user, but I can tell you from experience that it can sometimes be difficult to get your build tools to find libraries that way. (I install some things like this at work where I don't have root access.) A better approach would be to use the available SlackBuilds without editing the install location, but simply add a unique tag at the end of the package name that will make it easy to identify and remove or replace them later.

Quote:
Originally Posted by laleksic View Post
Also I will probably at some point require the ability to have multiple versions of the same program and/or lib, with say one set programs linking to one version of the lib, and another set to another version. Would the Slackware package management system (with Slackbuilds) accomodate me here, or would I have to use some other tool to manage this kind of setup, and if so, do you have any recommendations (0install seems pretty good for this, though I've never used it)?
That probably depends on the program and/or library in question, but in theory it should normally be possible by installing one in a different location and/or with a different name. Again, it will require work and testing on your part to make it happen.

Quote:
Originally Posted by laleksic View Post
In most cases, I will not be interested in using existing Slackware/Slackbuild packages. One of the things that led me to interest about Slackware is general disappointment with package management systems on other distros. I frequently require something that isn't packaged, or a newer version than are packaged, or an older version, or some specific compile time option, so I'm not looking for a drop-in replacement for such package managers and fully intend to compile most programs from source and create my own tailored Slackbuild/0install/whatever packages for private use to automate the work in case of a fresh install.
You can certainly do that with Slackware, since all the SlackBuild scripts are available and you can modify them to your heart's content and rebuild things. However, be aware of this:

Quote:
Originally Posted by volkerdi
We give you the exact sources that were used to compile the packages. There's no guarantee (nor GPL requirement) that these sources will compile under any arbitrary development environment (including any particular version of Slackware).
 
Old 08-31-2017, 12:31 PM   #6
un1x
Member
 
Registered: Oct 2015
Posts: 547

Rep: Reputation: Disabled
https://www.linuxquestions.org/quest...nt-4175438609/
 
2 members found this post helpful.
Old 08-31-2017, 01:02 PM   #7
svim
LQ Newbie
 
Registered: Feb 2015
Distribution: Slackware 14.2-64bit
Posts: 7

Rep: Reputation: Disabled
Slackware will give you a base OS that's stable and clean. Reading through your conditional requirements, maybe an option like Docker will suit your needs?
https://slackbuilds.org/repository/14.2/system/docker/
 
Old 08-31-2017, 02:05 PM   #8
ttk
Member
 
Registered: May 2012
Location: Sebastopol, CA
Distribution: Slackware
Posts: 561
Blog Entries: 23

Rep: Reputation: 588Reputation: 588Reputation: 588Reputation: 588Reputation: 588Reputation: 588
The sbopkg package management tool (and probably sbotools too) gives you the option of downloading a package source and .SlackBuild, patches, etc without building them for you. You could then edit it to set your own install target path (like a user's home directory, as you have described) and run the .SlackBuild to build and install it.
 
Old 09-01-2017, 05:12 AM   #9
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware has beern Main OpSys for decades while testing others to keep up
Posts: 1,463

Rep: Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399Reputation: 1399
What do you see as the advantage in installing all new apps to $HOME? Is it possible "/usr/local" could fill those needs/desires? It seems to me that could make things easier. Also, wouldn't setting permissions after install on the executable to restrict access to one user or group be a useful tool for you?

If package management tools have disappointed you (they have me as well) do you realize that problem has mainly to do with auto-dependency resolution? At it's most basic Slaxckware is the most friendly source building environment I've ever known. It is exactly what brought me to it and kept me using it as my main always since ~2001. The only downside of "./configure&&make&&make install" is that that build won't be listed in /var/log/packages and complicated to uninstall if ever desired. It is however possible to omit the last step and substitute making a slackpack and installing that which is what almost all Slackbuilds do. It is still possible to alter the build script to suit specific needs.

I'm not sure Slackware can easily meet all your desires but you may find some are just not needed in such a human readable, admin controlled, clean environment. My boxen have all been multi-boot since ~1994 and I can't count the number of alternate systems I have used in those 23 years, but by 2001 Slackware won the preeminent position and nothing has succeeded in a coup. I think you would do best to start using Slackware as it is, with all of the possibilities for customization within that mode, and see for yourself what you may really need and what is superfluous or unnecessarily convoluted.
 
Old 09-01-2017, 08:32 AM   #10
aragorn2101
Member
 
Registered: Dec 2012
Location: Mauritius
Distribution: Slackware
Posts: 492

Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
Originally Posted by laleksic View Post
... I am an extreme case of the conservative "Don't fix it if it ain't broke" guy.
That alone is enough to conclude that you will definitely fall in love with Slackware.

While there is a package management system on Slackware, you can choose not to use it. What I usually do is I download the source and make a package using a SlackBuild script (if SlackBuilds.org does not have it, I write my own SlackBuild script), then install it using the installpkg command from pkgtools. If I need to upgrade it, I similar build an updated package and use the upgradepkg command. If I want to remove it, I use the removepkg command or pkgtool command. This is all I use the package manager for.

Now, SlackBuilds gives you the power to do anything with software. You can modify the script to install the software wherever you want and link with libraries in particular places. So, you can manipulate the system and install in /opt or your home or have different versions of the same library.

I also don't make much updates. Slackware maintainers regularly post updates (you can check this out in the ChangeLogs) but I choose to install only the security patches (Security Advisories). You can download these manually and install, or use slackpkg (an advanced package manager). But once again, it is very simple to setup and it will not break your system. Trust me, I also prefer a stable rock-solid system than a bleeding-edge one.

Slackware will certainly suit you. But I will advise you to try it first. Make a full install, learn the system, learn Bash scripting and get used to the Slackware way.

Check the links in my signature below and these additional links:
- Bash guides:
http://www.tldp.org/guides.html
- SlackBuilds:
https://slackbuilds.org/
https://docs.slackware.com/slackware:slackbuild_scripts

All the best.
 
1 members found this post helpful.
Old 09-01-2017, 10:35 AM   #11
Nate_KS
LQ Newbie
 
Registered: Mar 2017
Location: Bremen, KS
Distribution: Slackware14.2 & Current, Devuan 1.0
Posts: 21

Rep: Reputation: 32
Not to dissuade you from Slackware, perhaps GUIX might offer what you're looking for. Last I checked (a few years ago) it offered the ability to install packages on a per user basis and allowed rollbacks of packages to earlier versions, if need be.

It is a project of the Free Software Foundation, so that means that certain software considered non-free by the FSF is not included. That may be a consideration depending on your hardware.
 
1 members found this post helpful.
Old 09-01-2017, 01:38 PM   #12
qweasd
Member
 
Registered: May 2010
Posts: 594

Rep: Reputation: Disabled
Quote:
I would like to maintain a clean and strict separation between a full install of Slackware-stable and programs I install myself. I would also like to store all my additional programs in my user's home directory (along with any dependancies they have that are not part of the base Slack install). Therefore creating a new user and deleting the old user and his home would effectively revert the whole system to the base install. Also I will probably at some point require the ability to have multiple versions of the same program and/or lib, with say one set programs linking to one version of the lib, and another set to another version. Would the Slackware package management system (with Slackbuilds) accomodate me here, or would I have to use some other tool to manage this kind of setup, and if so, do you have any recommendations (0install seems pretty good for this, though I've never used it)?
To expand a bit on montagdude's reply, Slackware's packaging apps (pkgtools & slackpkg) will be completely useless. Even the build scripts at slackbuilds will be useless as a turn-key solution. You will certainly have to achieve this kind of install by building EVERYTHING beyond the base install from source, with very custom ./configure flags, so that your auxiliary packages can find your auxiliary libraries and stuff. slackbuilds scripts may be useful at this point as a reference.

Good news is, you will probably find the full install of Slackware (or its libre derivative produced by yours truly) well suited for this. The development stack we got here is top-notch.
 
Old 09-06-2017, 09:33 AM   #13
Qury
Member
 
Registered: Feb 2004
Location: Dublin
Distribution: Slackware
Posts: 93

Rep: Reputation: 63
Quote:
Originally Posted by laleksic View Post
I would like to maintain a clean and strict separation between a full install of Slackware-stable and programs I install myself. I would also like to store all my additional programs in my user's home directory (along with any dependancies they have that are not part of the base Slack install). Therefore creating a new user and deleting the old user and his home would effectively revert the whole system to the base install. Also I will probably at some point require the ability to have multiple versions of the same program and/or lib, with say one set programs linking to one version of the lib, and another set to another version.
This could be accomplished if you set the ROOT variable before installing the packages using installpkg/upgradepk
 
1 members found this post helpful.
Old 09-06-2017, 05:12 PM   #14
qweasd
Member
 
Registered: May 2010
Posts: 594

Rep: Reputation: Disabled
^^^ While some packages may work like that, there's no guarantee. Some softwares are sensitive to their install path, and cannot be moved, so they would have to be specially configured and/or built with a custom script or a modified SBo script. This situation becomes even more convoluted if a package depends on a library which is installed into a custom place. The package build script and/or OS itself would have to be configured to look for shared libraries in a custom place both during the build and during the execution. Alternatively, universal binaries can be assembled, whereas a shared library is bundled with each package which requires it. Naively installing such packages with custom ROOT is pointless: they won't work.
 
5 members found this post helpful.
Old 09-09-2017, 01:20 AM   #15
hoodlum7
LQ Newbie
 
Registered: May 2016
Posts: 14

Rep: Reputation: Disabled
Laleksic,

you can certainly do what you want on any Linux system. However, it will be work. Most often you can run a configure statement like so "./configure --prefix=$HOME/appnam". This would install a separate tree structure (/, /bin,/sbin,/usr) underneath appnam in your homedirectory. If you are to link older libraries of those which reside on the system you will definitely have to play around with your ordering of library search paths. Your final step in getting the application to run correctly is to create "startup" scripts setting the LD_LIRBRARY_PATH variable to point to your libraries in $HOMEDIR/appnam folder structure first and then include any system library paths last.

What I have described is the basic outline of how to do this. You would not be touching the system ld.so.conf file. All the library pathing lookup is with the old LD_LIBRARY_PATH environment variable. Making it easy to clean out the user with out having to go clean up ld.so.conf.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 04:38 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration