LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Have I been approaching Slackware wrong? (https://www.linuxquestions.org/questions/slackware-14/have-i-been-approaching-slackware-wrong-4175477943/)

fwuxi 09-20-2013 08:59 PM

Have I been approaching Slackware wrong?
 
Hello Slackers!

I have an interesting case on my hands. I've played around with Arch linux when I decided after the umteenth time the Arch web server broke its self, that I should find a more stable linux distribution, that is similar in Arch's approach, that would work as both a desktop and a server.
I decided to look into Slackware; I followed the documentation, and right off the CD I had an working KDE environment. I thought that was a little nice, but I notice it also came with all of the fun SSH, FTP, HTTPd, MySQL, and all that fun stuff that I really wouldn't want on a desktop. So after discovering tagfiles, I decided I'd try to write my own "minimal" Slackware install.
I'm not sure if that was a good idea; I've been driven to insanity trying to resolve as many dependencies as I can for a working X system, and then realizing that I would have to edit the existing tagfiles to remove all those dependencies, to create server tagfiles... And today it just dawned on me... Have I been approaching this all wrong?

I know Slackware was probably more or less intended to be made for servers, and just happens to work well as a desktop as well. I think though, I've been approaching Slackware with the idea that it has to be "exactly" as I want it, which is something I guess Arch linux instilled in me. After reading "Slackware" one more time, I think I kind of realize Slackware is an enlightened distro of sorts in it's own way...

So now I have to ask, is the reason Slackware has no dependency resolution, and recommends beginners to install everything and the kitchen sink. To get new people to Slackware, to literally be lazy when it comes to their machine? Is the whole point of Slackware, to be "minimal" in a lazy fashion? As in, if you don't want FTP and HTTPD installed from the get go, just install the system without marking the N series and install DHCPCD/NetworkManager later? If you want Mate instead of XFCE or KDE, just install the X series, unmark KDE and XFCE and then download and compile Mate from source? And as for the dependency resolution bit, isn't that why the entire L and D series exists? To give you all the dependencies you MAY need when installing things, since only a few are actually applications that run or could have vulnerabilities from a server standpoint, it's literally okay to install them just in case you MAY need them?
Basically put... Am I right to assume that Slackware shouldn't be approached with an, "it has to have only what I install/want on it" outlook, but rather a much lazier "slacker" outlook of, "meh, I only really needed this and this, but having all those libraries there just in case I need it is kind of nice I suppose. *sits back with a mug of joe in his t-shirt and sandals.*" ???

willysr 09-20-2013 09:17 PM

Slackware is a general purpose Linux distribution. You can use it as a server or desktop OS. I used it both.

Yes, for all Slackware users, it's recommended to use a full installation to make sure nothing is broken or missing dependencies. They could remove the unneeded apps/library later or during installation if they know that it won't be needed by other applications. The full installation of Slackware is not more than 8 GB and if you remove KDE or XFCE, you can reduce it even less than that.

Personally, i always perform a custom installation by picking "expert" menu during installation which enables me to select which packages should be installed on the system. Of course, you need to understand the purpose of each packages and also dependencies for that package.

As for MATE, i'm working with Chess Griffin to provide binary packages for Slackware releases which can be obtained here: http://mateslackbuilds.github.io/

jprzybylski 09-20-2013 09:35 PM

I played with the packages for a while, and I found that the easiest way is to just install everything. If you are looking to trim, XFCE and KDE (as well as its internationalization libraries) are optional, and everything still works if they are not present (YMMV).

So yes, I don't exactly need something like Seyon, gkrellm, Pan or x3270 everyday, but they stay out of my way if I don't need them, and if I do, I don't have to take the time to set them up and configure them to play nice with everything - they already do. It makes it very easy for me to be lazy, which is something I very much appreciate.

hitest 09-20-2013 09:35 PM

Quote:

Originally Posted by fwuxi (Post 5031757)
So now I have to ask, is the reason Slackware has no dependency resolution, and recommends beginners to install everything and the kitchen sink. To get new people to Slackware, to literally be lazy when it comes to their machine? Is the whole point of Slackware, to be "minimal" in a lazy fashion?

Not at all. The lack of dependency resolution in Slackware is a strength, not a deficit. Slackware assumes that you can read and understand the thorough support documentation provided. A full installation of Slackware will work out of the box for most users. Experienced users can customize their installation as needed. We will happily provide support for full installations of Slackware.

STDOUBT 09-20-2013 09:47 PM

Quote:

Originally Posted by fwuxi (Post 5031757)
Basically put... Am I right to assume that Slackware shouldn't be approached with an, "it has to have only what I install/want on it" outlook, but rather a much lazier "slacker" outlook of, "meh, I only really needed this and this, but having all those libraries there just in case I need it is kind of nice I suppose. *sits back with a mug of joe in his t-shirt and sandals.*" ???

I think it depends on one's definition of "bloat". IMO, only when software unduly taxes the system's resources does bloat occur. It's trivial to control what runs and what doesn't run. The fact that I can "change the mode" of a script, run it, and start serving FTP is just "handy", not bloat.

A ton could be said about "Minimalism". But my definition in terms of operating systems is simple:
Maximum control, minimal effort (though I admit to extensive configging ;-)
As for dependencies, anything I want to install has it's dependencies listed somewhere. Having to rarely go through the "config, make, make install" routine is cake in contrast to "fixing" or "working around" an automatic-dependecy-resolver-thingey gone haywire.
If you care to install super-shiny layer 7 softwares, you're going want a full compliment of libs and all the other "desktop class" bells-n-whistles anyway.
For my own desktop systems I omit KDE and XFCE, and go Full Install from there. In total so far, I have installed about 65 "out of tree" programs mainly from slackbuilds.org

[car analogy incoming:]
I can see tricking out the UI of a fine automobile, but why on earth would you
prune what's under the hood?

JWJones 09-20-2013 11:27 PM

When I first began installing Slackware, I installed everything. Later, I would install, omitting the DEs/WMs that I did not want (KDE, twm, BlackBox, fvwm), along with apps I do not use (Seamonkey and such). For the most part I leave the libraries alone.

Some might consider it bloat, but I find that even when I install most everything except KDE, I still end up with a faster, more stable system than any other distro I have ever used, and still not have any dependency resolution issues when installing the various SlackBuilds that I use.

zrdc28 09-20-2013 11:56 PM

If you go to slackbuilds.org and find a package you like 95% of the time it will list the dependencies needed,just download and install those before you download/install it. Another thing you can do is go to some of the links similar to the two listed below and just download the package and install it. Pkgtool will let you get rid of bloat or unneeded/unwanted packages.


http://www.slackware.com/~alien/slackbuilds/
http://ponce.cc/slackware/slackware-current/packages/

jtsn 09-21-2013 12:35 AM

Quote:

Originally Posted by fwuxi (Post 5031757)
So now I have to ask, is the reason Slackware has no dependency resolution, and recommends beginners to install everything and the kitchen sink. To get new people to Slackware, to literally be lazy when it comes to their machine? Is the whole point of Slackware, to be "minimal" in a lazy fashion?

Slackware's approach is that of a standard commercial operating system (because Slackware is one): There is a well-defined base, on which third party developers can build on.

The Linux ecosystem is not only fragmented, because there are so many distributions. Even with the same distribution, no installation looks like another. (Try writing a portable shell script!) Which is a nightmare for testing and one the reasons why Linux is failing so hard on the desktop. The other reason is, that it is really hard to install real third party software on most distributions. Distributors want to be gate-keepers and have developers go through their packaging process (to discriminate on unwanted licenses). Or if the software is popular, distributors modify and package it on their own, but burden the support on upstream.

Slackware has a more sensible approach in my opinion. Packaging software for Slackware is easy. You include everything your software needs (and isn't part of Slackware) in the version you know that works. No 50 lines "dependency" list. This is how delivering software to every other professional operating system is handled too.

And the Slackware full install is a requirement to make this work.

ruario 09-21-2013 02:05 AM

My own take on dependency management and full installs (skip to Why dependency management doesn't have to be difficult).

ruario 09-21-2013 02:07 AM

Quote:

Originally Posted by fwuxi (Post 5031757)
Basically put... Am I right to assume that Slackware shouldn't be approached with an, "it has to have only what I install/want on it" outlook, but rather a much lazier "slacker" outlook of, "meh, I only really needed this and this, but having all those libraries there just in case I need it is kind of nice I suppose. *sits back with a mug of joe in his t-shirt and sandals.*" ???

Sounds reasonable to me.

kikinovak 09-21-2013 03:28 AM

Quote:

Originally Posted by fwuxi (Post 5031757)
I know Slackware was probably more or less intended to be made for servers, and just happens to work well as a desktop as well. I think though, I've been approaching Slackware with the idea that it has to be "exactly" as I want it, which is something I guess Arch linux instilled in me. After reading "Slackware" one more time, I think I kind of realize Slackware is an enlightened distro of sorts in it's own way...

So now I have to ask, is the reason Slackware has no dependency resolution, and recommends beginners to install everything and the kitchen sink. To get new people to Slackware, to literally be lazy when it comes to their machine? Is the whole point of Slackware, to be "minimal" in a lazy fashion? As in, if you don't want FTP and HTTPD installed from the get go, just install the system without marking the N series and install DHCPCD/NetworkManager later?

I understand your question, because I've gone down that path before. I've used distributions like Debian, Arch, CentOS, Crux and Gentoo before, and with these, the approach was always more or less:
  1. Install minimal system (kernel, libc, shell)
  2. Install needed services (NTP, DHCP, DNS, whatever)
  3. On a server, install services (LAMP stack, Postfix, etc.)
  4. On a desktop, install and configure X
  5. Install desktop environment (KDE, Xfce, GNOME)
  6. Install applications, one per task

With Slackware the recommended (and sane) approach is a little different. On a server, for example, I only leave out E, KDE, KDEI, XAP and XFCE. On a KDE desktop, I only leave out XFCE, whereas on an XFCE desktop, I leave out KDE and KDEI. The rest is the sane base you build upon.

I know the Arch guys would consider this a "kitchen sink" install, and in their perspective, you can't argue with this. I remember from the last time I used Arch, they even left out the manpages to be more lightweight, which seemed completely anal to me, like ripping off a bumper sticker of a sports car to gain weight. Nowadays I don't care, and my LAN servers have the same base profile as my public root servers. I'd rather have one unneeded package than have some app refusing to build because of some weird dependency. An example for this: for a streaming audio server, you need Icecast and MPD, which in turn need ffmpeg, which in turn needs tetex to build.

I know the Arch approach seems more elegant, their documentation is excellent, yadda yadda, but in the end I got tired of my system exploding in my face at regular intervals. So I moved to Slackware, and I sleep well now.

Cheers,

Niki

polpak 09-21-2013 04:12 AM

kikinovak does this explain why my installation has me at terminal, wondering what had done wrong, what to do next ?-)


Thanks to notes at http://docs.slackware.com/slackware:beginners_guide


managed to add myself as a user... need learn how can-do edit file /etc/slackpkg/mirrors


At least understand copied various packages onto the machine, perhaps now to be installed...






As NON-technical, find assumed knowledge absent from my feeble memory, when attempting installation so things trifle Confucian in terms of "interesting times" :-)


BTW happy to have arrived at this point, sad must go off to other tasks for a while :-)

JWJones 09-21-2013 09:33 AM

Quote:

Originally Posted by ruario (Post 5031873)
My own take on dependency management and full installs (skip to Why dependency management doesn't have to be difficult).

Excellent article, ruario.

polpak 09-21-2013 04:16 PM

Thanks appreciate link to Ruarí Ødegaard's article,


Appears well describe my (suspected) current position...


Quote:

The result of all this is that unless you enabled a service during the Slackware install, or later manually, most of the software installed just sits on your disk doing nothing other than taking up space and hence has no affect on the speed of your running system at all.
-- Ruarí Ødegaard http://my.opera.com/ruario/blog/2011...ncy-management


Managed to create my user self and /home/username which certainly looks empty, according to http://docs.slackware.com/slackbook:users



Assume, as everything appears to be installed here, need learn how to start applications/things to either edit file /etc/slackpkg/mirrors or at least start a browser to read here as find my way around from the same computer...



IF by chance my misunderstanding is correct :-)

fwuxi 09-21-2013 08:27 PM

Thank you everyone who responded, I'm glad I'm getting so much input. Though I should clarify, that I'm not really against or for automatic dependency resolution, whether it's there or not doesn't matter to me, I only was starting to wish I had it when I was trying to make Slackware "minimal" I'm as well not sure if I got my point and question across clearly, it was pretty late there, and I did have a hectic day, so my apologies.

What I was trying to ask is.... The entire philosophy of Slackware, isn't to be minimal is it? And after reading what STDOUBT and Ruario said (as well as the linked page.) It seems I really was approaching Slackware with Arch's philosophy, where that just wouldn't work. As both of you pretty much said, it really depends what you want to label 'bloat', and when it comes to Slackware the system doesn't assume the intentions of the user. So you may, on a full install have a whole bunch of services and applications you may not need, but right off the install you choose which ones start on boot, and from a security stand-point, this is okay, though lazy (because I could imagine if you you weren't careful with your code and such, one could upload a php script to turn on SSH, which because it wasn't exactly configured could lead to further vulnerability.) And as far as I can tell from the Slackware install, it's not supposed to be Arch minimal, the expert/menu install is there to remove the packages you know you don't want, like if you prefer nginx as apposed to apache, you would just remove the httpd package, and install nginx once rebooted, same thing with MySQL and MariaDB.

So what I was trying to get to, was Arch linux takes to the philosophy of, "We're going to give you enough to boot, and after that you're on your own. Wait you want a desktop right off install? No, just, ew." As to where Slackware isn't about being 'minimal' and follows a more friendly and relaxed philosophy, kind of "Hey man, I heard you wanted a desktop, but you know, just in case you WANT to run a webserver, it's there for you." In a sense, what I mean about this is Slackware and Arch take different approaches to being 'modular.' Arch linux is about installing things you want when you need it, and nothing else. Where as Slackware, is about installing the things you want, and them some, so that way if you find out there was something else you wanted, it may already be there. So you may not inherently need X KDE KDEi XFCE and so forth when installing a server, but Alsa, Alsa-oss, Alsa-libs, is all there, and I'm sure you can grab ICEcast from some where, so if you had a webserver, and you decide you want to run music through it, you don't have to go grab alsa, it's already there for you to use. Though my guess is one would probably want to stream music using JACK but even then, it's just a matter of installing it. And if you really hate Alsa and know you want a stream server, you just go into expert mode, unmark all that is Alsa, and install JACK on boot. So like I said, the tagfiles and basically the whole installation it's self, was not meant to make a system "minimal" it was just to slack off and remove the few packages you know you didn't want, and then use a slackbuild.template file on first boot to install the ones you DID want in place. Am I right or am I still gauging this all wrong? Basically, if I'm wrong, what is Slacks philosophy? And on a more interesting note, what is your 'guidelines' for installing a secure server, a desktop, and/or a system where space is limited by for example 16 gb? As those things are easily achieved with Funtoo/Arch, but I would imagine with Slackware, there are some interesting quirks that one might have to get past to make a server deemed "secure" to some corporate guy, a desktop probably could just be a full install, and for the limited space example, I'm not exactly sure what I'd do, I mean if the full install is only 8GB big, and if you were to remove the few things you didn't want, such as apache, php, mysql, vsftp, and so forth, I would imagine you could get it down to a smaller size removing applications and such (but not libraries and typical dependencies.) Also I'm glad to know that there are people working on bringing MATE into Slackware, I saw in X that you package compiz along with everything, and MATE using Compiz has been one of my favorite setups since the people whom worked on Gnome deprecated Gnome2 basically.


All times are GMT -5. The time now is 05:34 AM.