Til hovedinnhold

Lagde sin egen Linux-distribusjon

Trykk på bildet for Dracos hjemmeside

Introduksjon

Her på Hardware.no har vi testet fem ulike Linux-distribusjoner (nyere utgaver er ikke medregnet). For de av dere som synes dette er mange varianter av det samme operativsystemet, så kan vi opplyse dere om at det finnes hundrevis av Linux-distribusjoner der ute.

Grunnen til dette er at kildekoden til Linux og mye av programvaren til dette operativsystemet, er fritt tilgjengelig for alle til å distribuere og modifisere som de vil. Dette gjør at alle har muligheten til å lage sin egen Linux-distribusjon, til og med deg!

Vi har tatt en prat med Ole Andre Rodlie - også kjent som Olear på forumet. Han står for øyeblikket alene bak utviklingen av Draco Linux, en distribusjon for viderekommende Linux-brukere.

Intervju - Del 1

For det første - hvem er du?

Mitt navn er Ole Andre Rodlie, 26 år og bosatt i Kristiansund. Til daglig jobber jeg som webutvikler og systemadministrator.

Hva er Draco Linux? For hvilken målgruppe er Draco ment, og hva får den til å skille seg fra konkurrentene?

Draco er en KISS-distro (Keep It Simple, Stupid!), der målet er å gi en stabil, liten og rask distribusjon. En distribusjon som kan brukes til alt fra servere til arbeidsstasjoner. Mesteparten av inspirasjonen er hentet fra NetBSD og Slackware.

Målgruppen til Draco er eksisterende Linux-brukere, primært folk med tidligere erfaring fra Slackware, Arch eller Gentoo.

Jeg vil så klart ikke hindre uerfarne brukere fra å bruke Draco, men jeg vil ha fram at Draco ikke er noe man prøver uten tidligere erfaring med Linux eller BSD.

Det som skiller Draco fra de andre distribusjonene er oppbygningen. Draco er delt i to, basesystem og tredjepart. Disse partene lever uavhengig av hverandre. Basesystemet inneholder kernel, kompiler og nok programvare til å bruke systemet. Tredjepartsprogramvaren inneholder alt det andre man forventer fra en distribusjon, KDE, XFCE, GNOME osv. Det er mulig å installere/bygge rundt 5000 pakker til Draco.

De fleste distribusjoner tar vanligvis et valg når det gjelder binærpakker og kildekode, det er enten eller. I Draco kan man velge selv, binærpakker og kildekode går hånd i hånd, man kan bruke binærpakker til basesystemet og kanskje velge å tilpasse og kompilere tredjepartspakkene selv, eller delvis. Alt er opp til brukeren.

Draco blir gitt ut en gang i året. Tredjepartsprogrammene blir oppdatert 4 ganger i året, så man holder seg relativt oppdatert.

Installasjon av Draco: Her er det ikke det visuelle som står i fokus.

Hva gav deg lyst til å lage din egen Linux-distribusjon?

For rundt to år siden, på en av mine daglige surfe-runder jeg kom over et innlegg på diskusjon.no med tittelen: "Noen som vil lage "Experimental Slackware"/Distro?"

Dette passet meg veldig bra, trådstarter så ut til å ha samme motiver som meg, forbedre Slackware. Vi startet forsiktig med utviklingen av eSlack (prosjektnavnet). Det første som ble gjort var å skrive om pakkesystemet, der tok jeg inspirasjon fra Pacman (Arch) og pkgsrc (NetBSD).

Tiden gikk og flere pakker ble lagt til, blant annet modulær X.org, HAL/D-BUS og kernel 2.6. Noe Slackware på den tiden ikke hadde. På slutten av 2006 begynte ting å stoppe opp, Draco hadde blitt for stor for to personer, og grunnet manglende interesse og ressurser ble Draco lagt død.

eSlack/Draco var på ingen måte tapt tid, Slackware inkluderer den dag i dag kode fra Draco.

Etter en pause på rundt et halvår tok jeg fram Draco igjen, denne gangen som et enmannsprosjekt og med et nytt pakkesystem.

Du sier du er alene om utviklingen av Draco Linux. Kommer det til å fortsette slik fremover?

Draco er et enmannsprosjekt, noe jeg egentlig liker veldig godt. Jeg bestemmer selv hva som skal legges til, og jobber i mitt eget tempo.

Jeg er åpen for å inkludere flere utviklere, og er i samtaler med et par andre distribusjoner angående mulig samarbeid.

Å vedlikeholde en Linux-distribusjon alene må være litt av en oppgave. Jeg regner med at dette krever god tålmodighet og interesse fra din side, men hvilke andre ressurser er viktige her?

Alt for mye. Mesteparten av tiden går bort i planlegging, testing og kompilering. Support er også noe som vil ta mer og mer tid etter hvert som flere begynner å bruke Draco.

Andre ressurskrevende aspekter er infrastruktur. Jeg må ha en webside, forum, wiki, bugtracking, prosjektsstyringsverktøy og sist men ikke minst pakkebrønner. Alt dette skal være i sync og tilgjengelig til en hver tid.

Det største problemet er tid, jeg får aldri nok.

Vil du si det er lettere å lage en distribusjon som Draco istedenfor en brukervennlig distribusjon som f.eks. Ubuntu?

Draco er nok mye lettere å lage en Ubuntu, mye på grunn av hvordan Draco er bygd opp. Jeg tar meg av basesystemet, mens resten blir vedlikeholdt av en tredjepart (NetBSD/pkgsrc). Det krever fortsatt en del jobbing, men er på ingen måte nær arbeidet som legges i distribusjoner som Ubuntu.

Intervju - Del 2

Du sa innledningsvis at Draco er todelt. Hvordan fungerer dette og hvem bestemmer hva som blir en del av tredjeparts-installasjonen?

Pakkebrønnene i Draco er delt opp i basesystem og tredjepart. Basesystemet får bare patcher, mens tredjepart blir oppdatert ved faste intervaller. Pakkeutvalget for tredjepart er begrenset, vanligvis rundt 1500 binærpakker tilgjengelig. Jeg prøver å legge til de mest brukte programmene og tar gjerne imot ønsker fra brukere.

Tredjeparten styres av NetBSD og miljøet rundt pkgsrc - dvs. utviklerne og brukerne - bestemmer hva som ender i pkgsrc eller ikke.

Du benytter deg med andre ord av pkgsrc som pakkesystem for Draco? Hvorfor bestemte du deg for dette pakkesystemet og ikke Apt eller Yum f.eks.?

Jeg ville ha et pakkesystem som var like fleksibelt som Portage (Gentoo), men som også behandler binærpakker like bra som Pacman (Arch). Helst med pakkeutvalg på høyde med de største distribusjoner.

Pkgsrc var det eneste pakkesystem som greide dette. Det er et godt etablert pakkesystem i UNIX-verden, med mange utviklere. Dessverre finnes det også en ulempe ved bruk av pkgsrc.

Pkgsrc har i dag 9021 pakker tilgjengelig, men bare 5000 er mulig å bruke i Draco. Grunnen til dette er at pkgsrc er det offisielle pakkesystemet til NetBSD og Dragonfly BSD, derfor får de mest oppmerksomhet og siden Linux gjør enkelte ting annerledes enn BSD er dømt til å gå galt. NetBSD ligger også bak Linux når det gjelder diverse teknologi, så jeg må modifisere en del pakker i pkgsrc for å tilby samme kvalitet som andre distribusjoner.

Heldigvis har Linux fått mer oppmerksomhet av pkgsrc-utviklerne i løpet av det siste året. Selv prøver jeg å hjelpe til så mye som mulig.

Og så var det bare å installere det du skal bruke av programvare...

Et godt pakkesystem og store pakkebrønner er uten tvil blant de viktigste ingrediensene i en Linux-distribusjon. Hvordan er pkgsrc integrert i Draco?

Draco inneholder faktisk to pakkesystem, et for basesystemet (pkgtools) og et for tredjepart (pkgsrc). Disse to styres av en wrapper kalt DracoPKG.

DracoPKG ble introdusert i Draco 0.3 (foreløpig i Beta) og hadde som mål å forenkle bruken av pkgsrc, DracoPKG utviklet seg til å bli et viktig verktøy både for basesystemet og tredjepartsprogramvare.

DracoPKG er veldig enkelt å bruke, hvis jeg vil ha KDE skriver jeg 'dp install kde'. Som standard (kan lett forandres) vil DracoPKG få pkgsrc til å lete etter binærpakker, først lokalt, så i pakkebrønner. Hvis ingen binærpakker eksisterer begynner pkgsrc å kompilere (kreves at pkgsrc-treet er installert).

Hvis jeg ikke vil ha KDE lenger kjører jeg 'dp remove kde'. Da vil KDE og alle avhengigheter bli fjernet.

Basesystemet administreres gjennom sysinst, sysrm og sysbuild. Hvis jeg ikke installerte GCC under installasjonen, men trenger den nå. Da kjører jeg 'dp sysinst gcc'. Prinsippet er det samme som for pkgsrc. Først binærpakker, så kompilering.

DracoPKG inneholder for øyeblikket bare en liten del av funksjonene til pkgsrc, flere funksjoner blir lagt til etter behov eller forespørsel. DracoPKG er skrevet i shell-script og er modulær.

Man kan fortsatt bruke pkgtools og pkgsrc direkte hvis det er ønskelig.

Har du noen verktøy som gjør det lettere for brukerne å lage pakker for Draco, eller bistå med utviklingen sånn generelt?, slik som Arch har AUR og makepkg?

Pkgsrc har veldig bra dokumentasjon. De som vil lage nye pakker anbefales å lese denne guiden.

Pkgsrc i seg selv er også delt i to, pkgsrc-wip og pkgsrc. Wip står for work in progress. Her kan (nye) utviklere enkelt legge til pakker, mye på samme måte som AUR i Arch. Pakker med høy kvalitet og som fungerer på mest mulig plattformer blir lagt til i pkgsrc. Pkgsrc-wip blir også brukt til å teste nye versjoner av pakker (f.eks. KDE4).

Når det gjelder basesystemet er ting litt enklere. La oss se for oss at Nano ikke eksisterer i Draco. Da oppretter jeg en mappe som heter 'nano' i /etc/dp/src. Så lager jeg en fil som heter 'Build', som inneholder følgende:

DRACOSRC_PKG_AUTHOR="olear@slackforge.net"
DRACOSRC_PKG_NAME="nano"DRACOSRC_PKG_VERSION="2.0.7"DRACOSRC_PKG_BUILD=1
DRACOSRC_PKG_DESC="Pico editor clone with enhancements"
DRACOSRC_PKG_CONFIGURE="--prefix=/usr --sysconfdir=/etc --infodir=/usr/info --mandir=/usr/man --program-prefix= --program-suffix= --enable-color --enable-multibuffer --enable-nanorc --enable-all --enable-utf8 --build=$DRACOSRC_ARCH-draco-linux"
DRACOSRC_PKG_SOURCE_EXT=tar.gz#DRACOSRC_PKG_BUILD_DEP=""
#DRACOSRC_PKG_BINARY_DEP=""

Etter det kjører jeg bare 'dp sysbuild nano'. Ikke alle pakker er så enkle, men Nano er et fint eksempel.

Har du noen restriksjoner for hva som kan bli inkludert av pakker i Draco og hva som ikke kan? Foruten skadelig programvare selvfølgelig.

Basesystemet er den eneste plassen jeg har restriksjoner. Pakker må ha en viktig funksjon for å bli inkludert i basesystemet, generelt sett hvis en pakke eksisterer som tredjepart ser jeg ingen grunn til å legge den til i basesystemet.

Når det gjelder drivere og firmware er jeg veldig åpen, jeg vil at mest mulig maskinvare skal fungere i Draco. Dette gjør at jeg lander i en del gråsoner angående firmware, men velger fremdeles å tilby firmware under installasjonen. Når det gjelder filformater/kodeker har jeg heller ingen restriksjoner, jeg mener brukeren selv skal få velge.

Intervju - Del 3

Hvilke planer har du for Draco Linux i tiden fremover?

Roadmap for Draco 0.4 er ny installer og LiveCD. Muligens mer som blir lagt til, det er fortsatt en god stund før utviklingen av Draco 0.4 begynner.

Jeg har også som smått begynt å se på 64-bit, men behovet er ikke helt der enda. Jeg har heller ikke kapasitet til å vedlikeholde to versjoner av Draco.

De største målene har blitt nådd i Draco 0.3. Så de neste versjonene blir nok brukt mest til finpussing og optimalisering. Bedre kompatibilitet mot pkgsrc er alltid et mål.

Draco er jo fortsatt en ganske ung distribusjon. Mener du at din distribusjon i nåværende status er noe å anbefale?

Ja, for utenom et par servere kjører jeg utelukkende Draco på alle maskiner, både privat og i jobbsammenheng.

Draco har modnet veldig mye det siste året og jeg mener Draco kan sees på som et alternativ til Slackware, Arch eller Gentoo. Det er såklart områder hvor Draco ikke helt når opp, spesielt på dokumentasjon og support. Men dette kommer seg.

Har du noe du vil si til slutt som du føler at du ikke har fått sagt?

Jeg tror det meste har blitt dekket. Jeg vil til slutt takke Hardware.no for interessen for Draco.

Avsluttende ord

For dere som lurer så nei, vi vil ikke gjøre noen utfyllende test av Draco Linux. Grunnen er at i en distribusjon som denne får du friheten til å bygge opp systemet ditt som du vil. Det som skiller ut Draco fra andre distribusjoner av samme type, er gjerne ting som DracoPKG, og vi mener derfor at dere som lesere får mer ut av dette intervjuet enn dere ville gjort av en eventuell test.

Det som også er viktig å tenke på angående Draco Linux og dens konkurrenter er at det ikke er brukervennlighet - vel, i hvert fall ikke brukervennlighet som i Ubuntu - som står i fokus. Istedenfor er det viktig at distribusjonen er enkel å konfigurere og gir deg nok frihet til å bygge opp operativsystemet nøyaktig som du vil. Dette er grunnen til at du starter med et pakkesystem, Linux-kjernen og andre små nødvendigheter, og installerer resten over dette.

Hvis du er interessert, kan du ta en nærmere titt på Draco Linux' hjemmeside.

Og det var det! Vi takker Ole Andre Rodlie for sin tid og ønsker ham lykke til videre i fremtiden.

Mer om
annonse