Den skal kun bruge vanilla kildekode. BSD system-agtig med mest mulig automation af trivielle sysadmin aktiviteter : Jeg bliver for eksempel aldrig fan af pakkesystemer, der ikke kan opløse afhængigheder - da det simpelt hen er spild af tid at gøre det manuelt.
Det er faktisk meget sjovt, og jeg bestemmer hvordan styresystemet skal skrues sammen.
Beslutninger som jeg har taget:
- Det er et styresystem baseret på Linux kernen. Jeg bruger en vanilla (=umodificeret) udgave af kernen, og det blliver nyeste stabile kerne.
- Upstream Linux distro bliver sandsynligvis Slackware Linux (den mest UNIX agtige Linux distro), men der er en nogle ting der er skiftet ud:
- Init system:
Upstart: Det samme som f.eks. Ubuntu 14.04 LTS bruger. Brug af systemd er en måske, og det er først aktuelt om mange år. - Pakke system:
- Pakke systemet er lag opdelt - lige som med dpkg og apt.
- Inderst er pkgsrc: http://www.pkgsrc.org/#docs - 16.000 pakker - der er klar til brug - og også til Linux styresystemer, selv om pkgsrc kommer fra NetBSD.
- Adfærdspakker: Når pakkesystemet skal tage beslutning om at gå ud af 1 vej, og der er fra 2 til flere mulige veje for at opløse en afhængighed, hvilken vej skal så vælges? Eksempelvis så kan en sysadmin installere en lille pakke, der fortæller at en ekstern( i forhold til styresystemet) MTA(=emailserver) skal bruges.
- Oven på pkgsrc og adfærdspakker - laver jeg et pakkesystem a la PC-BSDs *pbi pakkesystem, der både har alt-i-en-pakke, såvel som pakker-med få store afhængigheder så som f.eks. GTK+ 2.x, eller GTK 3.x, eller Qt 5, eller Qt 5 + KDE Framework 5.
http://download.pcbsd.org/iso/10.1-RELEASE/amd64/docs/html/update.html - Med *pbi ligende pakker kan man nemt have flere forskellige versioner af det samme program på samme tid - det bliver noget med at sørge for at have en tilvalgsmulighed aktiveret som standard, der bruger 1 sti til et sæt konfigurationsfiler, da mange programmer (og desktops, f.eks GNOME) ikke kan håndtere at der eksisterer forskellige versioner af konfigurationsfiler.
- Til en start er der kun web sider til at finde interessant software og så CLI værktøjer, men et GUI værktøj i stil med AppCafe (se skærmbilledet herunder) vil jeg også gerne tilbyde:
- Desktop (til at starte med):
Projektet er i den 1. fase som hedder Planlægning.
2. fase er at bygge styresystemet op - manuelt, og ....
den 3. fase er hedder automation som er automation af fase 2 , så der er mindst muligt manuelt arbejde. F.eks. når en ny pakke er klar så opdateres pkg.DOMAIN.TLD domænet automagisk.
Den 4. fase er infrastruktur - upstream website, ISO download mirrors, download via BitTorrent - i den stil.
Den kvikkelæser har sikkert bemærket at fase 3 of 4 overlapper hinanden.
Den har ikke fået noget navn - endnu.
/Lars