Slackware

Slackware (IPA: /'slækweə(ɹ)/) er et amerikansk operativsystem og en Linuxdistribusjon som er utviklet av informatikeren Patrick Volkerding. Volkerding har en Bachelor of Science i informatikk ved Minnesota State University Moorhead, og er enerådende vedlikeholder av distribusjonen. Han blir gjerne kalt Benevolent Dictator For Life, «velvillig diktator på livstid», en tittel som blir gitt enkelte ledere av prosjekter for fri og åpen programvare, som har siste ord når det oppstår uenigheter innenfor utviklingsmiljøet. Selv om Slackware for det meste er fri og åpen programvare, har distribusjonen intet formelt sporingssystem for programvarefeil og intet allment tilgjengelig lager for programvarekode. Det finnes ikke noe formelt medlemskap for utviklere og Patrick Volkerding er den primære bidragsyter til versjonene.

Slackware oppstod i 1992 som en fork av Softlanding Linux System (SLS), og første versjon ble lansert den 17. juli 1993. Slackware var en av de første Linuxdistribusjonene, og er den eldste distribusjonen som fremdeles vedlikeholdes. Slackware var basis for de seks første versjonene av SUSE Linux. Det har også vært basis for en hel familie av Linuxdistribusjoner, deriblant Austrumi Linux, Frugalware Linux, Slax og Zenwalk Linux, for å nevne noen.

Med versjon 3.0, som ble lansert den 30. november 1995, ble Slackware en av de første distribusjonene som innførte filformatet Executable and Linkable Format (ELF). som erstatning for det eldre filformatet a.out. Dette formatet debuterte i UNIX System V Release 4 den 18. oktober 1988, og ble hurtig akseptert som standard i UNIX og Unix-lignende operativsystemer.

Slackware er kjent som den mest konservative Linuxdistribusjonen: Den prøver å være mest mulig lik den opprinnelige UNIX, og designfilosofien bygger på stabilitet og enkelhet. Under upstreaming blir det foretatt minimalt med modifikasjoner i programvarepakker, og distribusjonen tar ikke hensyn til tilbakemeldinger fra brukere og utelukker beslutninger fra brukere. Slackware mangler et grafisk installasjonsprogram og har ingen automatisk deteksjon og oppløsning av avhengigheter mellom programvarepakker. Den bruker rene tekstfiler og et lite sett med skallskript for konfigurasjon og administrasjon. Under oppstart benyttes konsekvent kommandolinjen som operativmiljø; det følger ikke med noe standard skrivebordsmiljø. KDE og Xfce kan installeres som valgfrie opsjoner. Støtten for GNOME opphørte med versjon 10.2 i 2005. Slackware benytter et tradisjonelt init-skript som er arvet fra Berkeley Software Distribution (BSD). Dette skriptet har tradisjonelt vært den første prosessen som startes under oppstart av datamaskinen. Det er en daemon (bakgrunnsprosess) som kjører inntil systemet slås av. Distribusjonen har unngått å følge resten av strømmen ved å velge alternativer som Upstart og Systemd, som har debutert i henholdsvis Ubuntu og Fedora. På grunn av sine konservative og minimalistiske særpreg, er Slackware mest egnet for avanserte og teknisk interesserte brukere av Linux.

Slackware bruker pakkesystemet slackpkg for å oppgradere og installere distribusjonen over et nettverk eller over internett. Dette pakkesystemet ble inkludert som en valgfri opsjon i versjon 9.1, og ble standard i versjon 12.2. Slackware støtter datamaskinarkitekturene 32-biter x86, 64-biter x86-64 og IBM System z9 (s390x). Det finnes også uoffisielle porteringer til PowerPC og ARM. Tidligere fantes det også offisielle porteringer til DEC Alpha og SPARC.

Versjon 14.2 ble lansert 30. juni 2016. Den 20. februar 2017 var Slackware på 29. plass i en rangering over Linuxdistribusjoners utbredelse, ifølge nettstedet DistroWatch.

Introduksjon 

Det er to gode grunner til at Linuxdistribusjonen Slackware fortjener omtale:

 Den ene er at Slackware har skapt en «familie» av beslektede distribusjoner. Den nærmest endeløse labyrinten av mange hundre Linuxdistribusjoner kan virke skremmende og forvirrende på mange utenforstående. Ved å redusere dette til et fåtall av «familier», hver enkelt med beslektede distribusjoner, vil leseren i første omgang kunne få et klarere bilde av emnet, slik at man unngår å «hoppe» rett inn i detaljene uten å ha skaffet seg oversikten først. Andre slike «familier» er utgått fra distribusjonene Debian, Ubuntu, Fedora, Red Hat Enterprise Linux, Gentoo, SUSE Linux, Arch Linux og Mandriva Linux.
 Den andre grunnen er at Slackware er en distribusjon som startet såpass tidlig, og videre at den fortsatt er i aktiv utvikling. Den er den eldste distribusjonen som fremdeles vedlikeholdes. Dette gjør at versjonene av Slackware også har fulgt utviklingen av Linuxkjernen fra 1992 frem til idag (2017). Første versjon av Slackware benyttet 0.99.11 av Linuxkjernen – en alfaversjon, som eksisterte allerede forut for den endelige lanseringen. 2017-versjonen av Slackware benytter versjon 4.4.14 av Linuxkjernen. Ingen annen distribusjon kan vise til en såpass langvarig historie. Beskrivelsen av Slackware kan gi oss et unikt innblikk i utviklingen av Linux som sådan.

Navnet 

Navnet Slackware er avledet av Slack (med stor bokstav), et uklart definert begrep fra det satiriske «trossamfunnet» Church of the SubGenius, hvor Slack er selve essensen. Begrepet går ut på at man skal oppnå sine mål uten innsats, og føre et fritt og behagelig liv, uten ansvar og hardt arbeid. Med hensyn til Slackware, sikter prefikset Slack til at det er mulig å oppnå brukervennlighet, pålitelighet, feiltoleranse og driftsikkerhet, selv om man unngår vanlige systemverktøy som anses som nødvendige. Navnet ble valgt av Volkerding for å hindre at arbeidet hans skulle bli tatt seriøst i startfasen. Distribusjonen startet som et uforpliktende privatprosjekt, men navnet ble hengende igjen etter at distribusjonen var blitt et seriøst prosjekt. Det er ingen reell sammenheng mellom Slackware og den satiriske «kirken», selv om sistnevnte tilsynelatende har adoptert både operativsystemet og dets grunnlegger.

Det har også blitt spøkt med at den piperøykende pingvinen som figurerer på mange bannere med Slackware, henspiller på «kirkens» oppdiktede grunnlegger J.R. «Bob» Dobbs. Spøken finnes i datafilen , som markerer slutten på installasjonsprosessen. I nyere versjoner, deriblant versjon 14.1, er dette budskapet blitt skjult ved hjelp av kryptiseringsalgoritmen ROT13.

Designfilosofi 
Designfilosofien til Slackware er rettet mot enkelhet, renhet og eleganse, og et kjernedesign som går ut på å ha minimalt med konfigurasjonsverktøy. Unntaket er enkelte viktige systemverktøy, basert på programvarebiblioteket ncurses, som er viktige for grunnleggende konfigurasjon av systemet og pakkebehandling. Mens noen deler den oppfatning at et mindre antall forenklede verktøy bidrar til å øke et operativsystems kvalitet og stabilitet, er andre av en annen oppfatning. De ønsker et grafisk brukergrensesnitt under installasjon og konfigurasjon, et mer «brukervennlig pakkesystem», og en allsidig pakke med programvareverktøy hvor brukeren selv oppløser programvareavhengigheter. I den forstand har Slackware mye til felles med Arch Linux, som er en annen minimalistisk Linuxdistribusjon.

«KISS»
Mange av designvalgene i Slackware kan bli sett på som en arv av enkelheten i tradisjonelle UNIX-systemer og som eksempler på KISS-prinsippet («Keep It Simple, Stupid»). I denne sammenhengen refererer «enkel» til enkelhet i systemdesign, ikke i brukervennlighet. Mye av uenighetene med Slackwares designvalg, oppstår av ulike tolkninger av begrepet «enkelhet». Noen betrakter et operativsystem som «enkelt» når det gjør utstrakt bruk av intuitive grafiske brukergrensesnitt og automatiserte verktøy. Slackware benytter KISS-prinsippet på samme måte som Ockhams barberkniv – ved å avstå fra å øke kompleksiteten til systemet mer enn strengt tatt nødvendig. En automatisering kan forenkle interaksjonen med datamaskinen hvis brukeren er vant med datamus, men kan være en hindring for de som foretrekker å ha mer kontroll over systemet via kommandolinjen og direkte redigere konfigurasjonsfiler. På den andre siden kan dette gi et mindre intuitivt system fordi brukeren presenteres med systemets iboende kompleksitet. Patrick Volkerding har konsekvent valgt enkelhet i systemdesign. I kontrast til dette er mange andre Linuxdistribusjoner lettere å lære for nybegynnere som er ukjente med kommandolinjen i klassisk UNIX.

Det meste av programvaren i Slackware bruker mekanismer for konfigurasjon som er laget av programvarens opprinnelige utviklere. De færreste mekanismene er spesifikke for distribusjonen. Den relative mangelen på grafiske verktøy for å konfigurere systemet, skjer naturligvis på bekostning av brukervennligheten. Kritikere vurderer distribusjonen som tidkrevende og vanskelig å lære, mens tilhengere ser den som fleksibel og gjennomsiktig, og setter pris på erfaringen de får i læringsprosessen.

Init
Et eksempel er UNIX-prosessen init. I UNIX og Unix-lignende operativsystemer er init den første prosessen som startes under oppstart av datamaskinen. Det er en daemon som kjører inntil systemet slås av. Den er den direkte eller indirekte foreldreprosessen til andre prosesser og adopterer automatisk alle foreldreløse prosesser. Det finnes i hovedsak to varianter av denne prosessen: Den første ble benyttet i UNIX System III og UNIX System V (ofte kalt «SysVinit»), og den andre stammer fra forsknings-Unix og Berkeley Software Distribution (BSD). De fleste Linuxdistribusjoner har tradisjonelt benyttet den første, mens Slackware bruker en BSD-stil under oppstart. Fra og med Slackware versjon 7.0, ble det innført kompatibilitet med UNIX System V-skript, for å muliggjøre økt interoperabilitet med en del tredjeparts programvare. Et init-skript av BSD-typen tildeler hvert driftsnivå samme runlevel; i UNIX System V tildeles hvert enkelt av opptil 8 driftsnivåer en hel katalog med skript. Init-skriptet starter (i Slackwares tilfelle) skriptet  som igjen bestemmer hvilke UNIX System V-baserte skript som skal være med under oppstart.

Her er et eksempel på et init-skript i Slackware, som befinner seg i katalogen :

id:4:initdefault:l
0:0:wait:/etc/rc.d/rc.0l
6:6:wait:/etc/rc.d/rc.6x
1:4:wait:/etc/rc.d/rc.4

Den sistnevnte kommandoen velger runlevel 4. Her er filen  i Slackware 10.2:

# Prøv å bruk gdm, eller GNOMEs session manager:
if [ -x /usr/bin/gdm ]; 
then  exec /usr/bin/gdm -nodaemonfi
# Ikke der?  OK, prøv å bruk KDM eller KDEs session manager:
if [ -x /opt/kde/bin/kdm ];
 then  exec /opt/kde/bin/kdm -nodaemonfi
# Hvis alt du har er XDM, prøv dette:
if [ -x /usr/X11R6/bin/xdm ];
 then  exec /usr/X11R6/bin/xdm -nodaemonfi

I enkelte avarter av UNIX er dette skriptet blitt erstattet av automatiske prosesser som gjør oppstartsprosessen enklere, sett fra en brukers ståsted. Operativsystemet Solaris erstattet init med programmet Service Management Facility (SMF) i versjon 10, som ble lansert den 31. januar 2005. I Mac OS X 10.4, som ble lansert 29. april 2005, ble det lansert et alternativ til init, i form av launchd. I Linux er ikke dette fullt så enkelt, på grunn av det store antallet distribusjoner. Noen distribusjoner har laget sine egne erstatninger for init. Eksempler er OpenRC i distribusjonen Gentoo Linux, så vel som i NetBSD og FreeBSD, BootScripts i distribusjonen GoboLinux, DEMONS i distribusjonen KahelOS og Mudur i den tyrkiske distribusjonen Pardus.

Den 26. oktober 2006 ble Upstart lansert. Dette er en hendelses-basert daemon som ble utviklet av Canonical Ltd. og som ble lansert i Ubuntu 6.10 den 26. oktober 2006. Upstart fikk en del utbredelse, men lyktes ikke i å bli en felles konfigurasjonsplattform for Linux. Den 30. mars 2010 ble deretter systemd lansert. Systemd representerer et nytt forsøk på å samles om en felles dynamisk oppstartsprosess for Linux. Denne oppstartsprosessen ble standard i versjon 15 av Fedora, og har vunnet innpass i flere distribusjoner.

I et intervju den 6. juli 2012, ga Patrick Volkerding uttrykk for reservasjoner overfor systemd. Han hevdet at det krenker Unix-filosofien om å sammenføye programvare med en begrenset definert funksjonalitet. Versjon 14.2 av Slackware støtter ikke systemd, men i 2013 utelukket ikke Volkerding muligheten for å svitsje over til det.

Systemd er et eksempel på programvareavhengigheter. Programmet starter opp mange programmer samtidig, uten at brukeren involveres. Dette skjer automatisk og brukeren unngår å måtte sette seg inn i systemets kompleksitet. Man kan kalle dette brukervennlighet. Men samtidig fratas brukeren muligheten til å styre prosessen, og selv velge hva som skal startes. I en artikkel publisert den 18. august 2014 i InfoWorld skrev Paul Venezia om kontroversen rundt systemd. Han hevdet at den krenket Unix-filosofien og skyldtes «de enorme egoer som er fast overbevist om at de ikke kan gjøre noe feil». Artikkelforfatteren sammenlignet systemd med svchost.exe, en kritisk systemkomponent med omfattende funksjonalitet som ble introdusert i Microsoft Windows 2000.

Utviklingsmodell
Slackware har intet formelt sporingssystem for programvarefeil og intet alment tilgjengelig lager for programvarekode. Det finnes ikke noe formelt medlemskap for utviklere og Patrick Volkerding er den primære bidragsyter til versjonene. Rapportering om programvarefeil og bidrag, skjer på en informerende måte. Alle endelige beslutninger om hva som skal inkluderes, blir foretatt av Patrick Volkerding, Benevolent Dictator For Life, «godgjørende diktator på livstid», en tittel som blir gitt enkelte ledere av prosjekter for fri og åpen programvare, som har siste ord når det oppstår uenigheter innenfor utviklingsmiljøet.

De første versjonene ble utviklet av Patrick Volkerding alene. Fra og med versjon 4.0 nevner den offisielle annonseringen også David Cantrell og Logan Johnson som en del av «Slackware-teamet». Senere versjoner, opp til versjon 8.1, inkluderer Chris Lumens. Lumens, Johnson og Cantrell er også forfatterne av den første utgaven av Slackware Linux Essentials, den første offisielle guide til Slackware Linux. Hjemmesiden til Slackware omtaler Chris Lumens og David Cantrell som «Slackware alumni» som «arbeidet full tid på Slackware-prosjektet i flere år». Under lanseringen av Slackware 10.0 og 10.1 ble Eric Hameleers takket av Patrick Volkerding for «sitt arbeid med støtte for USB, PCI og trådløse Cardbuskort». Fra og med versjon 12.0 ble Slackware igjen bygd av et team sentrert omkring Volkerding. Utviklingsteamet i versjon 12.2 bestod av syv personer. Fremtidige versjoner tilføyde flere personer. Siden versjon 13.0 synes utviklingsteamet å ha hatt visse kjernemedlemmer. Eric Hameleers gir en innsikt i dette teamet i sitt essay History of Slackware Development, som ble skrevet 3.-4. oktober 2009, like etter lanseringen av versjon 13.0.

Arkitektur

Datamaskinarkitekturer
Slackware blir offisielt lansert i tre typer datamaskinarkitekturer:

 32-biter x86
 64-biter x86-64 (fra versjon 13.0)
 ARM (fra versjon 11.0)

De 12 første versjonene av Slackware støttet utelukkende 32-biter x86. Før lanseringen av en offisiell 64-biter variant, fantes det uoffisielle 64-biter avarter av Slackware. Et eksempel på dette er de tidligere distribusjonene Bluewhite Linux og Slamd64.

Det eksisterer også en uoffisiell portering for ARM-arkitekturen (Slackware ARM, tidligere kalt ARMedslack), som er utviklet av Eric Hameleers og som blant annet er tatt i bruk av nett-PCer. Det finnes også en uoffisiell portering til IBM ESA/390 kalt Slackware/390. Begge disse porteringene er betegnet som «offisielle» av Patrick Volkerding. Imidlertid er S/390-porteringen fortsatt i versjon 10.0 for den stabile versjonen og i versjon 11.0 for utviklingsversjonen, og det har ikke vært noen oppdateringer siden 2009. Den 7. mai 2016 kunngjorde utvikleren av Slackware ARM at versjon 14.1 ikke lenger ville støttes fra og med 1. september 2016. Utviklingen har derfor stanset med versjon 14.2, som likevel vil bli støttet i en lang tid fremover. Opphør av støtten til versjon 14.1 ble kunngjort den 25. juni 2016.

Det har tidligere også eksistert et offisielt prosjekt for datamaskin-arkitekturen SPARC (Slackware Linux for SPARC) samt en portering til DEC Alpha. En uoffisiell portering til «New World» Macintosh, kalt Slackintosh, har også eksistert. Denne distribusjonen blir ikke lenger vedlikeholdt, og siste versjon var versjon 12.1.

Oppstartslaster
Med den begrunnelse å holde konfigurasjonen og administrasjonen av systemet så enkelt og transparent som mulig, slik at konfigurasjonsfilene er lesbar og kan redigeres uten behov for spesielle verktøy, har Slackware valgt LILO (Linux Loader) som standard oppstartslastert. Fra og med versjon 14.1 er også GNU Grand Unified Boot loader (GRUB) tilgjengelig i distribusjonen.

Brukergrensesnitt

Standard brukergrensesnitt i Slackware er Unix-skallet Bash (Bourne Again Shell), som ble utviklet som en del av GNU-prosjektet. Systemet kan likevel lett konfigureres slik at det automatisk starter med vindussystemet X, ved å redigere datafilen , slik at den kan kjøre runlevel 4. Standard X display manager er KDE Display Manager (KDM), men den tradisjonelle X Window Display Manager (XDM) er også tilgjengelig. Skrivebordsmiljøet KDE betraktes som det primære grafiske brukergrensesnitt, siden det startes av X.Org Server uten behov for ytterligere modifikasjoner av konfigurasjonsfilene. Lettvekts skrivebordsmiljøet Xfce er også tilgjengelig, og er spesielt egnet på datamaskiner med lav ytelse. Tilgjengelig er også vindusbehandlerne Fluxbox, Blackbox, Window Maker, FVWM2 og twm. Å velge vindusbehandler kan gjøres fra KDM, ved å redigere konfigurasjonsfilene manuelft, eller ved å redigere skriptet .

Skrivebordsmiljøet GNOME ble utelukket fra distribusjonen i versjon 10.2, hovedsakelig av praktiske årsaker. I kjølvannet av denne beslutningen har det blitt startet flere prosjekter, som har til hensikt å fortsatt tilby dette skrivebordsmiljøet til brukere av Slackware. To prosjekter er under aktiv utvikling for Slackware: Dropline GNOME og MATE Slackbuilds. Det sistnevnte er en spesialbygd utgave av skrivebordsmiljøet MATE.

Pakkehåndtering

Historie

Fødselen
Allerede i 1992 var Patrick Volkerding blitt oppmerksom på det prosjekt som var blitt innledet av Linus Thorvalds i august 1991, og som gikk ut på å utvikle et Unix-lignende operativsystem som kunne distribueres og modifiseres fritt. På denne tiden benyttet han OS/2 versjon 1.3 på en datamaskin med 32-biter mikroprosessoren Intel 80386SX. Han var fornøyd med OS/2, men ville likevel foretrekke UNIX eller et Unix-lignende operativsystem. Han var allerede oppmerksom på Coherent, Minix og SCO Xenix, men hadde nå fattet interesse for de mange Linuxdistribusjoner som sirkulerte. Han undersøkte først diskbildene i Hongjiu Lu’s «oppstarts rotpartisjon» (boot root) på disketter. Dette var i begynnelsen det nærmeste man kom en Linuxdistribusjon; programvaren bestod av to stk 5¼" disketter som inneholdt Linuxkjernen og et minimalt antall verktøy. Såpass begrenset var verktøyenes funksjonalitet at for å starte fra harddisken måtte dens master boot record redigeres med en hex editor.

Deretter undersøkte han MCC Interim Linux versjon 0.95c+, som var blitt lansert 23. april 1992. MCC Interim Linux var en av de aller første distribusjonene, og i likhet med Hongjiu Lu’s «oppstarts rotpartisjon», manglet den støtte for CD-ROM. Dette hadde derimot Yggdrasil Linux/GNU/X, en annen tidlig distribusjon som var blitt lansert av et California-basert selskap den 8. desember 1992. Men til slutt falt valget på en tidlig versjon av Softlanding Linux System (SLS), en kommersiell distribusjon som var blitt skapt av Peter MacDonald. Både Yggdrasil Linux/GNU/X og Debian startet som avleggere av SLS.

Softlanding Linux System ble lansert i mai 1992 og var den mest populære av de opprinnelige Linuxdistribusjonene. Det var den første distribusjonen som tilbød en mer omfattende samling av programvare, og som ikke bare bestod av Linuxkjernen og basale verktøy. Den bestod blant annet av det grafiske brukergrensesnittet vindussystemet X, kommunikasjonsprotokollene TCP/IP og UUCP for datanett og teksteditoren GNU Emacs. SLS dominerte markedet før utviklerne besluttet å endre det formatet for eksekverbare filer fra a.out til ELF (ELF). Dette var ikke en populær avgjørelse blant brukerne av SLS, men ELF ble raskt den rådende industristandard for Unix og Unix-lignende operativsystemer.

Patrick Volkerding startet med SLS fordi han behøvde en LISP kommandotolk for et skoleprosjekt på det som den gangen ble kalt Moorhead State University (MSU). Han oppdaget at CLISP var tilgjengelig for Linux, og var bedre enn LISP for MS-DOS som var tilgjengelig på skolens laboratorium. Han lastet ned SLS, og noen få uker senere ble han forespurt av en professor i kunstig intelligens ved MSU om å installere SLS på hans AT&T Intel 80486 hjemmedatamaskin og på enkelte av skolens datamaskiner. Professoren ønsket å bruke SLS i den påfølgende undervisning, uten å måtte betale lisens for en versjon av LISP som han betraktet som middelmådig.

Volkerding tok imot utfordringen og begynte å studere operativsystemet. Han hadde gjort seg en del notater om feilrettinger som var blitt gjort etter at han installerte SLS. Han gikk gjennom disse sammen med professoren og anvendte feilrettingene på en ny installasjon. Dette tok imidlertid like lang tid som å installere SLS, og professoren ba om å endre installasjonsdiskettene slik at feilrettingene kunne tre i kraft under installasjonen. SLS ble lansert i kompilert form og kildekoden var tilgjengelig for bare en liten del av distribusjonen. Det var ingen indikasjon på hvordan programmer ble utført, ettersom det manglet skript for å automatisere prosessen, noe som den gangen var vanlig. I de påfølgende månedene, rettet Volkerding kjente programvarefeil, oppdaterte Linuxkjernen og andre programmer og forbedret installasjonsprogrammet til SLS slik at det sørget for å automatisere installasjon av delte biblioteker og Linuxkjernen, endre filsystemtillatelser, og mye mer. På kort tid hadde han oppgradert omkring halvparten av programvarepakkene i SLS, mens den andre halvparten måtte rekonfigureres.

Fra Softlanding Linux System (SLS) til Slackware

Volkerding hadde ingen intensjoner om å presentere hans modifiserte SLS-versjon for allmenheten. I april 1993 foreslo Brett Person, som var ansvarlig for å teste operativsystemet, at Volkerding burde dele sitt arbeid på internett via en FTP-tjener. Men Volkerding antok at «SLS ville snart komme i en ny versjon som inkluderte disse tingene», så han utsatte valget noen få uker.

Forskjellene mellom SLS og Volkerdings modisiferte versjon var nå blitt såpass følsom, at Peter MacDonald ble bedt om å gjennomgå sitt arbeid med SLS, for å løse problemene som hadde plaget distribusjonen. Dette gjorde at SLS ble alment kjent for sine mange feil og mangel på vedlikehold, noe som skapte misnøye blant brukerne. I motsetning til hva Volkerding forventet, gjorde MacDonald krav på en intellektuell eiendomsrett til skriptet for installasjon som stammet fra SLS. Volkerding fikk fortsatt lov til å kjøre en FTP-tjener med dette skriptet, men besluttet seg for ikke å gjøre noen andre endringer i systemet før han fullstendig hadde omskrevet skriptet. Hans intensjon var nå å lage en ny distribusjon, og han begynte å integrere oppdateringer og ny programvare så snart de var blitt gjort tilgjengelige. På denne tiden var det mange brukere på internett som forespurte en ny versjon av SLS. Volkerding svarte med å poste en melding på Usenet-gruppen  med tittelen «Er det noen som ønsker et SLS-lignende 0.99pl11A system?» (Anyone want an SLS-like 0.99pl11A system?). Meldingen fikk mange positive responser. Etter en diskusjon med den lokale systemadministratoren ved MSU, fikk Volkerding tillatelse til å laste opp sin modifiserte SLS-versjon på universitetets FTP-server. Navnet på den nye distribusjonen var Slackware.

Den første versjonen, Slackware versjon 1.00, ble gitt ut 17. juli 1993. Denne datoen er noen ganger feilaktig gjengitt som 16. juli, men i den opprinnelige annonseringen stod det skrevet «17 Jul 1993 00:16:36 GMT». Distribusjonen omfattet 24 stk 3½" diskettbilder som kunne lastes ned anonymt fra FTP, fordelt på 13 disketter som omfattet «A-serien» og 11 disketter som omfattet «X-serien».

A-serien omfattet alt man kunne forvente fra SLS-seriene A, B, og C, samt en alfaversjon av Linuxkjernen (versjon 0.99pl11). Den støttet emulering av flyttallsprosessor, vanlige harddisker, TCP/IP, UNIX System V IPC, PS/2-datamus og var optimalisert for 32-biter 80486 mikroprosessorer. Den støttet MINIX file system, ext2, FAT (filsystemet til MS-DOS), Network File System og procfs. Linuxkjernen var kompilert med GNU C Compiler 2.4.5 og libc 4.4.1. Det fulgte med kildekode til Linux DOS Emulator versjon 0.49, en OSS om versjon 0.99pl11 av Linuxkjernen, nettverksprogrammet NET-2, Unix-skallene KornShell (ksh) og tcsh 6.04, GNU C Compiler (gcc), GNU C++ Compiler (g++) og GNU Objective C versjon 2.4.5 med libc versjon 4.4.1, epostklienten mailx, kildekode for et eksperimentelt 16-biter applikasjonsprogrammeringsgrensesnitt for Microsoft Windows (WinAPI16), utstyrsdrivere for lydkort, verktøy for diskquota, samt det skriptbaserte programmeringsspråket Tcl 6.7 med programeksempler. Slackware 1.0 benyttet oppstartslasteren LILO og kunne startes opp fra OS/2's fleroppstartshåndterer hvis ønskelig.

X-serien omfattet alt man kunne forvente fra SLS sin X-serie, samt XFree86 1.3 (en fri implementasjon av vindussystemet X), vindusbehandleren Open Look Virtual Window Manager, en XS3-tjener for S3 Graphics grafikkort (S3 911, S3 911A, S3 924, S3 801, S3 805, S3 805i, S3 928, S3 805p og S3 928p), bildefremviseren XV 3.00 og PEX-filer fra XFree86.

Responsen var overveldende og universitetets FTP-tjenere, som var vert for distribusjonen, viste seg å være utilstrekkelig, idet en flom av FTP-forbindelser krasjet tjeneren kontinuerlig. Volkerding prøvde i flere dager å ordne problemet, uten særlig suksess. Det skyldtes stabilitetsproblemer i Linux, knyttet til TCP/IP-protokollen. Etter å ha forklart problemet på  fikk han hjelp av firmaet Walnut Creek CDROM, som tilbød arkiveringsplass på deres FTP-tjenere. Dette var et amerikansk selskap som distribuerte fri programvare, shareware og freeware på CD-ROM. Det samme selskapet ble i 1995 den offisielle distributør av Slackware-prosjektet.

Versjon 1.1

Versjon 1.1 ble lansert 5. november 1993. Linuxkjernen var fortsatt i en alfautgave, selv om den var oppgradert til versjon 0.99.13. GNU C Compiler, GNU C++ Compiler og GNU Objective C var oppgradert til versjon 2.5.2, libc til 4.4.4 og XFree86 var oppgradert til versjon 2.0. Også for de andre programvarepakkene var det mindre oppgraderinger.

Versjon 2.0
Versjon 2.0 ble lansert den 2. juli 1994. Linuxkjernen var for første gang blitt en stabil utgave, nemlig versjon 1.0.9. Seks forskjellige utgaver av utviklingsversjoner av versjon 1.1.18 av kjernen fulgte også med, så vel som kompilerte versjoner av 1.1.10 og 1.1.16. GNU C Compiler var oppgradert til versjon 2.5.8. Libc ble levert i versjon 4.4.4, samt i versjonene 4.5.24 og 4.5.26. XFree86 var oppgradert til versjon 2.1.1. Det var flere nye applikasjoner for XFree86, deriblant gnuplot, xfig, xfractint og xpaint. Distribusjonen ble levert sammen med UUCP 1.05, GNU Emacs 19.25 og Lucid Emacs 19.10. Nytt var også det distribuerte filsystemet Andrew File System 6.3. I tillegg til GCC (GNU C Compiler, GNU C++ Compiler og Objective C), ble distribusjonen lansert sammen med det objektorienterte språket Smalltalk 1.1.1, Perl 4.036, Tcl 7.3/Tk 3.6, incr Tcl 1.3, TclX 7.3a, GNU Common Lisp 1.0, GNU Pascal og GNAT (GNU Ada). Programvare for generering av kompilatorer var også tilgjengelig, i form av Flex 2.4.6 (en generator av leksikalske analysatorer) og LALR-parsergeneratorene GNU Bison 1.22 og Berkeley Yacc. Kildekoden til manualene (som var tilgjengelig gjennom Linux-kommandoen ) var skrevet i teksteditoren troff, og var åpent tilgjengelig.

Verktøyene for å fjerne og installere programvarepakker var forbedret, og det var inkludert nye verktøy til å lage dine egne programvarepakker. Med filsystemet UMSDOS 0.3a ble det mulig å kjøre Linux på toppen av et MS-DOS filsystem (FAT). UMSDOS kunne installeres på en datamaskin med en harddisk på bare 4 Mb, uten at det var behov for ekstra partisjonering. Versjonen hadde også av en ny «contrib»-katalog med over 40 Mb med ekstra programvarepakker. Brukere ble oppfordret til å bidra med nye programvarepakker som de hadde satt sammen.

Utviklingen av Slackware 2.0 ble sponset av det amerikanske selskapet Morse Telecommunications, Inc.. Tidligere i 1994 var Volkerding blitt kontaktet av Michael Johnston i dette selskapet. Han foreslo å lage LiveDistro-utgaver av  Slackware på CD-ROM, i tillegg til de som ble lastet ned via FTP. Volkerding som ønsket å finne bedre måter å distribuere Slackware på, tok imot tilbudet. Morse Telecommunications fikk en dollar for hver CD de solgte, men samarbeidet ble avbrutt etter bare seks måneder, hvoretter Walnut Creek CDROM ble den offisielle distributør. Livedistribusjonen krevde en rotpartisjon på 7–10 megabyte som kunne være enten Linux eller MS-DOS. Det fulgte også med en diskett for oppstart i tilfelle datakrasj.

Versjon 2.1
Versjon 2.1 ble lansert den 31. oktober 1994. Linuxkjernen var oppgradert til versjon 1.1.59, men versjonene 1.1.54 og 1.1.58 fulgte også med. GNU C Compiler, G++ og Objektive C var oppgradert til versjon 2.5.8 og libc til versjon 4.5.6. XFree86 var oppgradert til versjon 3.1, og vindusbehandleren Open Look Virtual Window Manager var fortsatt en del av pakken. Installasjonen omfattet 76 stk 1.44 Mb disketter, noe som var et tegn på distribusjonens økende popularitet. Av andre utviklingsverktøy kan nevnes Smalltalk 1.1.1, Perl 4.036, Tcl 7.3/Tk 3.6, incr Tcl 3.6a, TclX 1.5, GNU Common Lisp, GNU Pascal, GNAT (GNU Ada), Flex 2.4.7, GNU Bison 1.22 og Berkeley Yacc.  Distribusjonen ble levert sammen med UUCP 1.0.5, GNU Emacs 19.27 og Lucid Emacs 19.10.

Versjonen inneholdt en rekke videospill, som var hentet fra Berkley Software Distribution (BSD).

Versjon 2.2
Versjon 2.2 ble lansert den 30. mars 1995. Linuxkjernen var oppgradert til versjon 1.2.1, men versjonene 1.1.54, 1.1.55, 1.1.58 og 1.1.92 fulgte også med. GNU C Compiler, G++ og Objektive C var oppgradert til versjon 2.6.3 og libc til 4.6.27.

Utviklingen videre
I 1999 gikk Slackwares utgivelsesnummer direkte fra 4 til 7. Dette ble forklart av Patrick Volkerding som et PR-stunt for å vise at Slackware var minst like oppdatert som andre Linux-distribusjoner, da mange lå rundt versjonnummer 6 på den tiden.

I 2005 ble GNOME-skrivebordsmiljøet droppet fra fremtidige utgivelser av Slackware. Dette ble ansett av en del i Linux-miljøet som en betydelig endring fordi GNOME ble brukt i svært mange Linux-distribusjoner. For å bøte på dette begynte mange dugnadsbaserte prosjekter å tilby komplette GNOME-distribusjoner for Slackware.

I 2009 ble den første offisielle 64-bitsversjonen av Slackware lansert. Entusiaster kunne prøve ut denne allerede i mai, selv om den ikke ble lansert offisielt sammen med versjon 13.0 før 26. august. Mesteparten av arbeidet med x86-64-versjonen blir kreditert til Eric «AlienBOB» Hameleers.

Pakkeadministrering 
Slackwares pakkeadministreringssystem kan installere, oppgradere og fjerne pakker fra lokale kilder, men gjør ingen forsøk på å spore og administrere deler den er avhengig av, og er derfor avhengig av at brukeren sikrer at systemet har alle mappene og programmene som kreves av den nye pakken. Hvis noen av disse mangler, kan man risikere at det ikke kommer noen indikasjoner på problemet før man forsøker å ta i bruk programvaren.

Slackware-pakker er gzippede tar-filer med filnavn som slutter på  og . Fra versjon 13.0 ble standardpakkeformatet endret til , selv om enkelte pakker relatert til pakkebehandling fremdeles er i . Hovedgrunnen for dette bytte var fordi lzma-algoritmen komprimerer bedre, samtidig som ytelsen ikke er nevneverdig dårligere enn gzip. En pakke inneholder filer som trengs i programvaren som installeres, såvel som ekstra filer som brukes av Slackware sin pakkeadministrasjon. Filene som danner en del av programvaren som installeres, er organisert slik at, når de er åpnet inn i en rotkatalog, blir filene plassert i sine installert plasseringer. De andre filene er de plassert under -katalogen i pakken.

To filer blir ofte funnet i -katalogen, som er - og -filene. Disse er ikke satt direkte inn i filsystemet på samme måte som de andre filene i pakken. -filen er en enkel tekstfil som inneholder en beskrivelse av pakken som blir installert. Dette brukes når du ser på pakker ved hjelp av pakkeadministratoren. -filen er et shell-skript som vanligvis er ment for å kjøre kommandoer, eller gjøre endringer som ikke kunne ha vært gjort bedre ved å endre innholdet i pakken. Dette skriptet er kjørt på slutten av installasjonen av en pakke.

Brytningen fra avhengigheter 
Mens Slackware i seg selv ikke inkluderer verktøy for automatisk å løse avhengigheter for brukeren ved å automatisk laste ned og installere dem, finnes det noen tredjeparts programvareverktøy som kan gi denne funksjonen, slik som APT gjør for Debian.

Swaret og slackpkg ble inkludert som ekstrapakker til Slackware 9.1 på sin andre CD, men ble ikke installert som standard. Swaret ble fjernet fra distribusjonen fra og med Slackware 10.0, men er fortsatt tilgjengelig som en tredjeparts pakke.

slapt-get er et kommandolinjeprogram likt APT. Men mens slapt-get ikke gir avhengighetløsninger for pakker inkludert i Slackware distribusjonen,  gir det et utgangspunkt til å bryte fra avhengigheter. Flere pakkekilder og Slackware baserte distribusjoner drar nytte av denne funksjonaliteten.

Alternativt gir NetBSDs pkgsrc støtte for Slackware, i tillegg til andre UNIX-like operativsystemer. pkgsrc gir en avhengighetsløsning for både binær- og kildepakker.

Tredjeparts 
Oppbevaringsteder for brukerens vedlikeholdte, tredjeparts Slackware-pakker leveres av slacky.eu og Slackware Current eXtended Desktop, som omfatter dels nyere versjoner av programvarer, dels programvare som ikke er utgitt i noen form av Slackware utviklerne. Disse oppbevaringsstedene blir ofte brukt i forbindelse med tredjeparts pakkeadministrasjonsprogramvare, som for eksempel Swaret og slapt-get.

Dropline GNOME, GSB: GNOME SlackBuild, GWARE og Gnome-Slacky er prosjekter beregnet til å tilby Slackware-pakker for GNOME. Disse prosjektene finnes fordi Slackware ikke offisielt inkluderer GNOME, men et stort antall brukere foretrekker å ha GNOME installert uten å måtte gå gjennom den tidkrevende prosessen med å kompilere den fra kildekode.

Et annet prosjekt for å bygge GNOME er det automatiserte byggeskriptet SlackBot.

I tillegg til de uoffisielle pakkeoppbevaringsstedene nevnt ovenfor, det er et relativt nytt prosjekt kalt SlackBuilds.org, hvis mål er å tilby byggeskripter for kompilering av add-on-programvare og skape Slackware-pakker.

Slackware-familien
Som nevnt innledningsvis, har Slackware gitt opphav til en «familie» av beslektede Linuxdistribusjoner. Listen nedenfor er inndelt i 18 aktive, 4 sovende og 59 tidligere distribusjoner, som er utgått fra Slackware.

Aktive distribisjoner

 Absolute Linux
 Austrumi Linux
 BioSLAX
 ConnochaetOS
 DAVIX
 Emnix
 Frugalware Linux (tidligere versjoner)
 HostGIS
 Plamo Linux
 Platypux
 Porteus
 Salix OS
 Slackel
 Superb Mini Server
 SUSE Linux (seks første versjoner)
 VectorLinux
 Wifislax
 Zenwalk Linux

Sovende distribusjoner

 BasicLinux
 SimpleLinux
 Slax

Tidligere distribusjoner

 AliXe
 Arudius
 BearOps Desktop Linux OS
 Blin Linux
 Bluewhite Linux
 Buffalo Linux
 CDlinux
 Cooperative Linux
 Damn Vulnerable Linux
 DARKSTAR Linux
 Definity Linux
 DNALinux
 Draco GNU/Linux
 easys GNU/Linux
 eLearnix
 EvilEntity Linux
 Freepia
 gNOX
 How-Tux
 Imagineos
 JoLinux
 KateOS
 Klax Live-CD
 Kongoni GNU/Linux
 LG3D LiveCD
 Linvo GNU/Linux
 Linux LiveCD Router
 MuLinux
 MUMi-LinuX
 Mutagenix
 Linux Netwosix
 NimbleX
 Nonux
 OpenLab GNU/Linux
 Parslinux GNU/Linux
 P!tux Linux
 pQui Linux
 Project development Enlightenment verbose
 RIPLinuX
 ROOT GNU/Linux
 Rubix Linux
 RUNT Linux
 SaxenOS
 Sentry Firewall
 Slackintosh
 Slamd64
 SLAMPP Live
 STUX GNU/Linux
 SuperGamer
 Topologilinux
 Truva Linux
 TumiX GNU/Linux
 Ultima Linux
 Voltalinux
 WHAX
 WinLinux
 Wolvix
 Zencafe GNU/Linux
 Zeus Linux
 ZipSlack

Versjoner 

1) Versjonene 8.0 – 14.1 benyttet forskjellige versjoner av KDE Software Compilation. Versjon 4.14.3 (november 2014) var siste versjon av denne. KDE ble i desember 2014 splittet opp i tre deler: KDE Applications, KDE Frameworks 5 og KDE Plasma 5. For versjon 14.2 og utover følger denne tabellen versjonsnumrene til KDE Plasma.

Referanser

Litteratur

Eksterne lenker 
 
 
 Et revidert bokprosjekt for Slackware
 Slackware Linux Basics-boken
 Den uoffisielle Slackware-bloggen
 The Slack World (magasin)
 Uoffisiell versjonhistorie for Slackware
 Intervju med Slackware-grunnleggeren Patrick Volkerding

 
Linuxdistribusjoner lansert i 1993
1993 i USA