Interview w/Slackware Developer David Cantrell
keskoy writes: "David Cantrell is a core team member for the Slackware [?] Linux Project. In this interview you will learn how David got his start working on Slackware linux, what his role as a Slackware developer is, he will explain to us about his two new applications protopkg and autoslack, plus other various topics of interest are touched on."
grep (keyword)
-- $SIGNATURE
"Difficult" would be more clearly stated as "unfamiliar"... If you are accustomed to more pure SysV systems, such as Solaris or AIX, Slack is quite different and unfamiliar. However, if you come from a BSD environment, Slackware feels like FreeBSD (or OpenBSD if you like to keep Slack clean) with pretty directory colors. The reason why you say "difficult" is because it is unfamiliar due to its architectural difference in this respect.
:)
I felt the same way when I was spontaneously stuck fixing a RedHat machine for the first time, or when I first ran Debian. I didn't end up becoming accustomed to the SysV way of handling things until running Solaris. Now, I have no problem with those design differences when using RedHat or Debian, and although I prefer using Slack (Praise Bob!), it's due to other reasons other than unfamiliarity.
Lack of personal knowledge of a system does not make a system difficult - it makes the user uninformed. Don't be afraid to RTFM
.... um, i lost you after "0110100001101001".
It's not a production system...yet...:) Anyways, thanks for the info. I appreciate it.
But that's forcing the linux newbie to skip linux-user status and go straight to linux-admin status. I think that's one reason more people don't use linux. Most people don't want to be an administrator; they want to be a user and get their work done. Should we stop using automatic transmissions so that drivers better understand how the car works? ( I know it's not a perfect analogy; just making an illustration. Let's not start a flame war )
Note that these tweaks are to make the packages work with the SuSE "layout," and may not work with other distributions...
The stable release, as typically released on CDs, takes the conservative approach of only releasing what they know already works well.
Note that none of this has anything to do with licenses, only with the respective design choices. And some of those choices are downright incompatible.
I would argue that the notion of the "best uberdistribution" is a contradiction in terms and thus an inherent impossibility.
As for the "licensing thing," one part of constructing a distribution is indeed in assessing the respective licenses of the components and how that fits with what you plan to release. If you can't cope with the legalities there, you're probably not legally prepared to release any kind of collection of this sort of thing...
If you're not part of the solution, you're part of the precipitate.
apt-cache search stuff check it out
/*
*Not a Sermon, Just a Thought
*/
*Not a Sermon, Just a Thought
*/
So what's the alternative? Surely not Debian, Redhat or SuSE. Using common defaults works well for the user who fits those defaults, but screws up everyone else. And throwing a flashy GUI over the adminstration doesn't make it any easier.
I have found, like the other poster, that Slackware is TRULY easier than the other distributions I have tried. The installation is a snap. Administration is easy. That's because Slackware is laid out sensibly. It does require that you be willing to learn, however.
Taking the car analogy, everyone who can drive a stick can drive an auto, but the reverse is not true. Once you know Slackware you know Linux, but once you know Redhat all you know is Redhat.
A Government Is a Body of People, Usually Notably Ungoverned
What's with all that whining about GPL not beeing free?
In fact, the BSD license is even less free than GPL is!
The so-called "restrictions" in the GPL are made to ensure freedom instead of take it away.
Is it really that hard to DISTRIBUTE SOURCE CODE WITH THE BINARIES?
Is it really that hard to release the source code of decended work?
The BSD license is *more viral* than the GPL is!
Look at it: you can do whatever you want.
That's right, you can even relicense the software with GPL!
Now, if you think the GPL is not free, how come a license that allows you to take away others' freedom IS free?
[RANT]
GPL stands for protection of freedom!
BSD stands for slavery, because "you have the freedom to make slaves"!
<B>AND IF YOU DON'T MAKE OTHERS INTO YOUR SLAVERS, OTHERS WILL!</B>
[/RANT]
I must agree. I had messed briefly with Slackware ages and ages ago, but never really gotten into linux per se. Recently I acquired a laptop at the best cost (free) and decided to install linux on it. I snagged Debian, having heard lots of good things about it, and proceeded to be amazed by how much linux had changed. More than this, though, I discovered (being a newbie) that a lot of stuff was moved around, and that dselect made it hard to find stuff that I installed. So I remembered good 'ole slackware, got it, never went back. I learned an incredible amount about Linux in a very short timeframe. I credit this 100% to slackware's do-it-yourself mindset.
Of course, I think everyone who wants to understand Windows should spend 2+ years working in DOS first, too.
End of lesson. You may press the button.
Slackware rarely has to be reinstalled. You can upgrade packages for a long time without reinstalling. Occasionally (due to shared library upgrades) you might have to boot a minimal system from boot/rescue floppy to fix up some things, but a complete reinstall is not needed.
FreeBSD, having the same tradition like Slackware in taking a simple but solid approach, is even better. I have gradually upgraded my FreeBSD system since 1994, without a single reinstall (only upgrades via cvsup/ctm and then a 'make world' in /usr/src).
FreeBSD is more conservative, and everyhing in /sbin and /bin (not /usr/bin) is statically linked, greatly diminishing the chance for disasters when playing with your shared libraries.
Btw, the FreeBSD ports collection has precisely what you want: in /usr/ports there is an index file (an overall, plus also one per category of ported software) containing one line descriptions of all 4000 ports, in a fixed format so tools can read it. Example
inn-2.3.0|/usr/ports/news/inn|/usr/local|InterNetN ews -- the Internet meets Netnews|/usr/ports/news/inn/pkg-descr|des@FreeBSD. org|news|gettext-0.10.35 gmake-3.79.1||http://www.isc.org/products/INN/
Err, How about some facts to back up your assertions?
Contrary to popular mis-information, Slackware packages are not just archives. They do contain rules for installation, version information, and meta-information. This is why Slackware users know that you just cannot 'unzip and untar' a Slackware package -- you need to run 'installpkg' to install something correctly. (BTW - You can use installpkg to install 'simple tarballs', but these do not contain the additional package information used by the Slackware package system).
In the UserLocal interview, they discuss that 'autopkg' and 'protopkg' are the next generation of tools for the Slackware packaging system. For example, here's what the UserLocal interviewer wrote about 'protopkg':
I don't know whether protopkg is revolutionary, but it is certainly not primative.
Later
"Fat, drunk, and stupid is no way to go through life."
"You're gonna need a bigger boat." - Chief Brody
Err, How about some facts to back up your assertions?
How about reading the post you're responding to?
In which I maintain that dependencies are an integral part of any packaging system. Your link doesn't refute that. Yes, Slackware archives have some meta information, but do not meet the other requirements listed above to be classified as a package management system.
I like Slackware. There, I admitted it :)
/etc/rc.d rather than the SysV-style mess'o'symlinks. Easy to reconfigure with `vi`, and very similar to Slowlaris and FreeBSD boxen. No need for linuxconf.
AFAIK it is the only distro that uses a BSD-style
My two points (mangled the HTML) 1. There is more than one way to define a package system. 2. There is more than one way to define a dependancy.
"Fat, drunk, and stupid is no way to go through life."
"You're gonna need a bigger boat." - Chief Brody
I don't care what the logic is, I just want to keep using Slack when I move over to Alpha hardware!
Seriously, what are the motivating factors for Open Source developers? Many times, it's just scratching an itch of thier own that gets people started. Seeing that there's others who need/want/will help with packages, and....
Anonymous Cowards need not reply.
When you live in a sick society, just about everything you do is wrong.
How do you define what is in a package system?
How do you define what is/should be flagged as a 'dependancy'?
I define it differently from you. That's fair enough, but my main point is that every other system which labels itself as a package management system defines it similarly to my definition, and Slackware users are generally the only persons who share the other view.
It would seem that this means Slackware's package system is at least effective enough for me to do such things as upgrade a major part of my system, no?
Just because you can upgrade a major chunk of your system with a tool does not prove that tool is a packaging system. I just upgraded some major components of a Windows 2000 machine using Windows Update [yes, I use and prefer Linux]. That doesn't mean Windows Update is a package management system.
Clearly, you would not want your package system to remove all dependancies. In this example, your system would be useless without the glibc libraries.
When you remove a package, a packaging system may prompt to remove all packages dependent on that package. Not all packages that package is dependent on. You seem a little confused about this.
My point is that there is more than one way to define a package and its uses. Slackware is slightly different,
Agreed on both points. Slackware's definition of a packaging system is a very rare and unusual one. It doesn't match the definition of `packaging systems' that AFAIK all other packaging systems use. That's Sun's, Red Hat's, Debian's, Microsoft SMS's, and others.
Finally, if packages were so simple and definable, why are there so many package systems available?
I agree. Just because soemthing is a packaging system, it doesn't mean its god. Many OSs get along fine without packaging systems. Slackware might be a great OS, it just doesn't have a packaging system but any defiition of `packaging system' other than that of Slackware users.
I totally agree with you. Slackware was the first real linux distribution I started using and everything I know I can attribute to that. Slackware forces you to know all the nitty gritty things that other distributions just GUI and package off to be easily point and click configured by the user. I'm well aware that they're a lot of people who don't care about the nitty gritty... but for anyone who's even remotely like me... they want total immersion into what they're doing. Thats what Slackware offered me and I'm glad I started off my linux days with it. These days I use Debian.. but only cause it saves me a little bit of time and cause I tended to make things a bit messy back in the Slackware days.. but it was all worth it.. there's nothing better than that feeling you get after making a fresh slackware install seem so robust. Just the way you like it.
Nice to see Slackware on /. Of course, CmdrTaco didn't post it, because he uses Debian...
How to contact me - http://www.pervalidus.net/contact.html
Actually you can get a port of slack for the power PC, Slackentosh, MacOS is for dummies
I love this distro! I get so much work done with it, and I always know what is happening and where. >I think Slackware is very easy to look "under the >hood" of, a very simple distro, and yet very >useful. Simple , stable and useable . >Unfortunately, I am probably the only Slackware >user in Nokia. That sucks. Fight it, :-)
Our company only develops in Slack. ,but we have to test in redh*t :-(
And that's all I have to say about that.
See you in hell,
Bill Fuckin' Gates®.
See you in hell,
Bill Fuckin' Gates®.
(This post is ©2001 Microsoft(TM) Corporation.)
As far as I know, Debian will continue to support all platforms...
All three need to be recognized and applauded for their efforts and commitment to the community.
Go not unto/. for advice, for you will be told both yea and nay (but have nothing to do with the question)
Of course, debian doesn't have dselect anymore...the new pool thing has broken it. It no longer workes for me, and I am sad. Of course, I am lying. I won't miss dselect. Aptitude is dselect for apt, and on crack.
-------------
HAL 7000, fewer features than the HAL 9000, but just as homicidal!
If you want to make an uber-distro like this, it would certainly make sense to start with Debian and add in the features from Slackware as you see fit (The .tgz packages are too easy to install [cd /;tar -zxf path/to/file.tgz])... You can use the Debian or slackware RPM package as a core for adding your redhat-supported features without a whole helluva lot of trouble.
As far as retaining a safe package base that interacts properly with most administrative programs, Debian would certainly be the best. RedHat makes many major modifications to administrative tools that makes their tools a bit sketchy. Slackware deviates from the GNU core quite a bit too, to retain the BSD-like feel.
If you're feeling lazy and brave all at once, you could look at taking VectorLinux (sorry, I'm too lazy to find their URL), which is a stripped-down and all-in-one version of Slack and use that for a base. I definitely wouldn't put this choice above going with Debian base plus outside packages, though.
.... um, i lost you after "0110100001101001".
Wait a minute... that's not a Slackware module. THAT'S NOT A SLACKWARE MODULE!!!!!!!!!
Ditto! I started teaching myself UNIX administration on a Slackware Box. The fact that "I" had to do everything on my own taught me more than reading the man pages and HOWTO's. The Slackware approach leads you to the Linux "Do it yourself" philosophy.
Indeed, and rightly so. Like it or not, but Linux still isn't far enough to be run by a pure "user" without having an expert at hand.
b.t.w., neither is windows; superficially it may look like it, but the problems simple users get with windows "administration" are even worse.
The only things that come close for non-experts without any external help are (IMO) machines with operating system in ROM (such as the old home computers, gameconsoles, palmpilots) and maybe the Macintosh (closed hardware and strict software certification diminishes the chance for conflicts and driver problems).
I love this distro! I get so much work done with it, and I always know what is happening and where.
I think Slackware is very easy to look "under the hood" of, a very simple distro, and yet very useful.
Unfortunately, I am probably the only Slackware user in Nokia. That sucks.
Sigged!
Worth every hour of effort to a newbie.
LFS
signal, noise, to me it's all the same.
HA! You are so dumb! MacOS has to be the most dumbed down OS ever!
MacOS Developer #1: "Damn! Our users are having trouble with this feature."
MacOS Developer #2: "Okay, let's take away that icon. See, no more problem."
MacOS is for pusses!
Your thin skin doesn't make me a troll
A agree. To tell the truth, Slack is probably the best way to go, because the newbie distros actually make things harder. For example, Mandrake 7.2 includes an asnine set of wrapper scripts over the normal SysV scripts. Since these things are only documented in the Mandrake docs (which are fairly sparse) it makes it more confusing for the new user that is reading from a HOWTO that assumes SysV. In comparison, Slack uses the BSD scripts, which are quite well documented. I found that Slack tends to have much fewer idiocies than other distros of Linux. Rarely as I used Slack did the HOWTO I was following differ from what was going on. When I used RedHat, I could never follow the HOWTOs because RH messed around with things and put them in different places. And I recently deleted the stupid linkes that Mandrake put in the /etc directory (to the rc.d directories) and the system would't boot anymore!
A deep unwavering belief is a sure sign you're missing something...
I was looking for something to put on my mac other than Debian.
Although they really ought to call it iSlack...
I'd like to also say that I've seen very few major-distribution developers that are as personable with their users as David is, even in some less-than-fortunate circumstances. I just wanted to thank David publicly for being such a great example of a community-friendly Linux Distribution developer. It's good to see him get a well-deserved interview!
.... um, i lost you after "0110100001101001".
boy was my life hell ;-)
http://Lenny.com
No, I meant the binary TGZ packages. They're never up to date. The only thing in the /tgz directory is source code.
A deep unwavering belief is a sure sign you're missing something...
Let me clear that up again. I'm not talking about the Slackware tgz's, but the general, distro-independent Linux i386 binaries.
A deep unwavering belief is a sure sign you're missing something...
Hi Brian!
And further complicated again by the fact that I (david@cantrell.org.uk) am a Slack advocate. Oh dear.
If you are a control-freak, Slackware is definitely the way to go. The administration tools are kept to a minimum. If you want to make things fancy, you need to set that up yourself. The result is that you slowly move towards gurudom.
However, if you are making money, slackware packages are fairly primitive. To the best of my knowledge, they don't support dependencies. You don't have a neat dselect type app. But you have the direct power. And that is the price of power - efficiency. I used to compile all my stuff on slackware. However, I must admit that I love apt-get and dselect. It has cut my workload severely.
That being said, I still use slackware on my production server. But my workstation is a debian woody.
Stop the brainwash
Now, Slackware is finally coming out with platform ports just as everyone else is dumping support on other platforms. I don't get the logic.
Click here or here.
"autoslack will look at your machine and a distribution tree of your choice and tell you what packages can be removed, upgrade, or new ones that can be installed. Optionally it can download those packages and/or perform the actual package operation."
I remember when slack was one of the most difficult distributions to setup and maintain, I think it was a very good idea for them to become a more accessible distribution and appeal to more people, without losing their original customer-base. AutoSlack will help in that process but is not necessary to run Slack.
"The secret of success is to know something nobody else knows." -Aristotle Onassis
it sure would be nice if there was a bit more uniformity amongst the tools for the various Distro's. I suppose that they are all variations on a theme but they *do* work differently (especially from end-user perspective). From a hobbiest point of view I guess it isn't a big deal but from a commercial perspective it might be. I've been using RH on my intel boxes and a friend gave me a Sparc 10 to fool around with. No RH7 distro for that so off to debian or some other....files located in different places, apt-get and other oddities when compared to RH distro. It drives me nuts.
Every time I see this name, I assume people are talking about British Perl Monger David Cantrell, instead of American Linux Hacker David Cantrell. Obviously the open source world needs better naming conventions... :)
DO NOT LEAVE IT IS NOT REAL
A. Well, I would think that explicating the derivative mechanisms for the kernel's command-line implementation could render my speech patterns to emulate the errors received when booting our prototype distribution on a Pentium 4! [laughs] But really, I've written my framework prototype file. The variables in my speech are exemplified in the brain.cortex.left functions I will try to hash out and personify using prontofkdfd.
I extract the source jargon from the perl makefile, as ironically I simplify the misunderstanding process by avoiding the use of Fortran-esque statements. Now I take that makefile and go dylexify my prototype file. Like this:
IGNOREPATH=/mnt:/home:/dev:/opt:/root:/export
PATER@SLASHDOT.ORG=CowboyNeal
STRIPLIB=yNot
STRIPBIN=y?b/cWeLikeU
VERSION=2.04x10^-34
PROGNAME=Yfixelsyd
DESC="Yfixelsyd confuses the hell out of those JonKatz advocating, Windows novices."
BUILD=1
ARCH=i386
WASH=rinse
MAINTAINER="David Cantrell "
SOURCE=http://poocs.net/babbling/53/
PKGNAME=confusification-$VERSION-$ARCH-$BUILD
compile() {
tar xvzf $CWD/confusification-2.04x10^-
34.tar.gz
cd confusification-2.04x10^-34
perl Makefile.PL
make
}
install() {
make install
repeat() {
if WASH=rinse {
repeat();
}
}
But that's just the current version. Wait till our implementation and compilation of the abusifcation confusification installation parameters.
install() { make install /usr/doc/confusification-2.04x10^-34
/usr/doc/confusification-2.04x10^-34
mkdir -p
cp COPYING ChangeLog INSTALL MANIFESTATION README ToDoLaterOn *.html \
}
But then we take the Eggdacator indacator, wait until Easter, and then, uh, and then, um...
Where was I?
I saw a link once which shows you how to make your own distro...
:-)
Do you mean Linux From Scratch?
This is a project on installing Linux literally from scratch. Probably no better/simpler way of forcing yourself to learn the nitty gritty details, than having to install binutils, fileutils et al yourself...
-Andy
http://www.gimbo.org.uk/
slackware packages are fairly primitive. To the best of my knowledge, they don't support dependencies.
Then in my opinion, and from poular definition, they're not packages. They're software archives. A packaging system is a set of rules for software installation, with not only the archived software, but instructions to install it, versioning information, and meta information about how packages relate to each other. These are all key elements of every other popular package management system, and though there's no dictionary definition of software package [or is there?], they form the basis for the current popular definition.
It seems Slackware is just renaming their current technology to be competitive with DEB and RPM based distributions. As more polished, easier to operate Debian versions arise, and APT for RPM grows in popularity, there's going to be a huge difference in software management techniques and installation ease between other distributions and slackware. Linux needs packages - an Open Source system is fairly compartmentalized and even regular user apps may consist of many other applications brought together. If there's no centralized management then things fall apart very quickly.
Note that the Debian folk once had the (arguably deranged!) counter-idea of doing the opposite, namely using FreeBSD as kernel for Gnu/Debian/FreeBSD.
I'd contend that neither approach is the least bit "deranged;" I'm actually quite surprised that, with all the BSD connections, Slackware has never headed to using Ports as its package management system...
If you're not part of the solution, you're part of the precipitate.
What do those '100% Official' comments mean on the redhat boxes ? Is this an endorsement from Linus himself or Alan Cox or some other kernel guru ? Otherwise what stops me from claiming my hypothetical distro (called FlabdabbHubbardux) is 100% official ?
There's also a 'ls -slag'. ;o) A slag is the British equivalent of a trailerpark ho.
I'm too sexy for you.
I noticed the last name and was wondering if by any chance you are related to Alice in Chains guitarist Jerry Cantrell...of course, it's probably a dumb question.
"autoslack is pretty stable"
This sounds cool as hell. Available for public domain?
a/s/l here. Sorry, adding domain tags to your s
That would kick ass.
I saw a link once which shows you how to make your own distro, and I did think about maybe creating my own, but it seemed like a lot of work, and I wasn't really sure about which bits of Linux actually are free (as in beer) and which parts are merely free (as in speech). I've looked at linux.org and the various distro homepages, but apart from reading the individual licenses and then consulting a legal expert, there seems to be no clear way forward.
Or am I just being dense ?
Doh.
at some point it would be nice to have keywords (something like what "apropos/man -k" is to man pages) for packaging systems. I don't like having to go on the net to find commands/packages to get when I need a program to do "whatever".
In Debian, you can use apt-cache search anything which is probably what you're looking for..
However, it will only search your listings, that are downloaded via apt-get update (I believe), but it works offline.
i didn't have an internet connection and would bring stuff back to my room on floppies or tapes.
sometimes it would get to the point where much of the system would not boot or things would stop compiling or things would start coring.
after a couple of hours of searching the green book, and not being able to fix the thing, with homework due in the morning...well, reinstall.
i don't think it was that terrible of an option, considering how rapidly things were changing and the woeful state of dependency checking.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
I think Slackware is by far the easiest to use and most sensibly packaged distro I have tried. I have been using it for about 1 year and I never even considered switching to any other distro. (Ok I tried SuSe when I first got my ata100 controller ;-)
How long until the next release and will it include anything special like Reiserfs, ata100 or USB by default?
If 2.4.0 were released tommorrow, how long would it be until we see it in a release?
Thanks for all your hard work.
-=) A Good Kingdom is Coming (=-
if you want to install them manually, all you have to do is gunzip and untar them.
Ashes of Empires and bodies of kings,
The truth about Michael
apt/dpkg is still the best of breed
;)
?
I can understand apt, but I think that dpkg is on par with rpm. Does dpkg have signed packages yet?
Anycase this whole distro crud will be tossed when connectiva finishes their apt port to rpm... and when redcarpet eliminates the competition
distro wars are lame...
wow...1996, and having to reinstall every three or four weeks due to library drift. really brings back memories.
interesting about package management, but it appears apt/dpkg is still the best of breed.
at some point it would be nice to have keywords (something like what "apropos/man -k" is to man pages) for packaging systems. I don't like having to go on the net to find commands/packages to get when I need a program to do "whatever".
some of these news sites ("userlocal.com" in this case) are pretty cool. I prefer the articles that mix some tech background, review, and a bit of getting started all-in-one.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.