Min egen Linux distro

Nyheder om Open Source, Ubuntu, andre distributioner og meget mere.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Min egen Linux distro

Indlæg af lath »

Det måtte jo komme.
Der er god sandsynlighed for at jeg kunne finde på at lave min egen Linux distro, der er skruet sammen sådan som jeg synes at et styresystem skal skrues sammen.
Den bliver baseret på Devuan, som er et fork af Debian.

For at det skal gå godt skal jeg have noget software som laver alt det kedelige manuelle arbejde, da computere ikke bliver trætte af at gentage det samme arbejde igen og igen, 24/7/365.
Det hedder automation, hvilket også er det jeg har en specialisering i fra min ingeniør uddannelse.

Jeg vil rigtig gerne have PC-BSDs unikke pakke system, pbi, Push Button Installer.
Mere om PBI:
  • EasyPBI, et program der gør det nemt at lave en pbi pakke
    http://wiki.pcbsd.org/index.php/EasyPBI
  • http://wiki.pcbsd.org/index.php/Installing_Applications_and_Keeping_Up-to-Date/10.0
  • AppCafe
    http://wiki.pcbsd.org/index.php/AppCafe%C2%AE/10.0
    Jura: Bemærk at der et (R). Det betyder at jeg må finde et andet navn til den, når nu det er sådan at "AppCafe" er et registreret varemærke.
  • Package Manager
    http://wiki.pcbsd.org/index.php/Package_Manager/10.0
  • Update Manager
    http://wiki.pcbsd.org/index.php/Update_Manager/10.0
  • pc-updatemanager, CLI udgaven af UpdateManager
    http://wiki.pcbsd.org/index.php/Pc-updatemanager/10.0
  • pkgng and pc-metapkgmanager
    http://wiki.pcbsd.org/index.php/Pkgng_and_pc-metapkgmanager/10.0
  • PBI Manager
    http://wiki.pcbsd.org/index.php/PBI_Manager/10.0
    PBI manager svarer nogenlunde til apt-get, men den gør det på en måde som jeg bedre kan lide:
    • Self-Contained - alt-i-en pakke, og ikke en zillion afhængigheder.
      Der forekommer heller ikke rekursive afhængigheder, som betyder: Afhængigheder der har afhængigheder som har afhængigheder osv.
    • Upgrade deltas - er en pakke kun ændret 5% , så du ikke en hente en helt ny(=100%) pakke, men kun forskellen imellem de 2 versioner af en pakke.
      Eksempel
      En ny Firefox browser er udkommet, og et download af browseren som om den var en nyinstallation er 25 MB=100%, og ændringen fra sidste version er 5%. Du skal så kun downloade: 5% af 25 MB = 25 x 5/100 [MB] = 1,25 MB
    • Library and file sharing - Et hash-dir deler filer imellem flere programmer. Et softwarebibliotek (lib*.so) i en mappe hvor en pbi er installeret erstattes af et hardlink til fællesarkivet af lib*.so filer. Hardlinks gør brug af en filsystem funktionalitet til at lave ref counting af hvor mange programmer der bruger en lib*.so fil. Enhver lib*.so med en ref count på 1 bruges ikke af et program og slettes af pbid, som er en service, der har til opgave at oprette hardlinks erstatninger og fjerne lib*.so filer fra fællesarkivet, der har en ref count på 1.
      Er ref count=2, så bruges filen af 1 program, og er ref count=3, så bruges filen af 2 programmer etc.
    • Repository management - Man kan lave sine egne pakke arkiver, og kigge dem igennem
    • Digitally signed PBIs - Hvert pakke arkiv har en public-key, som også er installeret på brugerens computer. Installationsprogrammet kan derfor verificere at en pbi rent faktisk tilhører det pakke arkiv den er i.
    • Root password not required - sudo behøves ikke(*), men man kan godt bruge sudo, hvis man vil lave en system-wide installation for alle brugere. Hvis sudo ikke bruges, så installeres et program i brugerens egen ~/bin mappe.
      (*)Hvis du har fået lov af superbrugeren root. ;)
    • Implementation - "Package Manager" er bare en bunke shell scripts i PC-BSD - men jeg kunne godt finde på at lave dem om til et Go program: pbictrl som er i /usr/local/sbin/ mappen
  • I PC-BSD baseres pbi pakker på det der hedder ports. For min distro vil build serveren bruge Devuan pakke arkiverne, som har *deb filer. Et git repo a la PC-BSDs indeholder informationer som build serveren skal bruge til at bygge pbi arkiverne: https://github.com/pcbsd/pbi
  • Jeg overvejer om pbictrl skal være en service i stedet. Det skal så være et Plan9 9P.200u type af software bibliotek, som er en filsystem server. Det betyder at en funktion i pbictrl så bliver til en fil i et filsystem, som man så kan åbne og hvis man så skriver til filen, så køres funktionen, hvis man har de rigtige rettigheder.
    Det rigtig smarte er at hvert eneste programmeringssprog, og alle shells kan åbne filer og skrive til dem.
  • pbictrl som et Plan9 9P200.u software bibliotek kan også kaldes fra en anden computer. Hvis man så wrapper 9P200.u trafikken ind i en certifikat beskyttet SSH tunnel, så kan man fjernadministrere computeren - evt. fjernadministrere mange computere samtidigt.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Min egen Linux distro

Indlæg af AJenbo »

Self-Contained = store download.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Min egen Linux distro

Indlæg af lath »

AJenbo skrev:Self-Contained = store download.

Tak.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
gaffa

Re: Min egen Linux distro

Indlæg af gaffa »

Held og lykke med projektet :)

Hvordan kan det være at du har valgt Devuan? Ville det ikke give mere mening at basere dig på PC-BSD?
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Min egen Linux distro

Indlæg af lath »

gaffa skrev:Held og lykke med projektet :)

Takker :)
gaffa skrev:Hvordan kan det være at du har valgt Devuan?

Jeg vil ikke ha' systemd stoppet ned i halsen / indenfor døren, hvis jeg kan slippe for det.
Devuas første handling er lige præcis at give systemd sparket.

gaffa skrev:Ville det ikke give mere mening at basere dig på PC-BSD?

At jeg bruger Linux (kernen) i stedet for FreeBSDs kerne, har primært noget med at gøre at der er bedre support for grafikkort på Linux.
Jeg har endnu ikke studeret om NetBSD har bedre support for GPU hardware.
Hvis jeg synes at der tilstrækkelig god support for GPU hardware, så er det meget oplagt at bruge NetBSD i stedet for Linux.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Min egen Linux distro

Indlæg af AJenbo »

*bsd har basal understøttelse af nyre intelkort og arbejder på amd. Nvidia driveren finsdes også til freebsd. Alt andet er med vesa.

Har du nogen er faring med systemd eller er det blot ideologisk? Freebsd er også ved at arbejde med at få deres system til at fungere mere ala systemd
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Min egen Linux distro

Indlæg af lath »

AJenbo skrev:*bsd har basal understøttelse af nyre intelkort og arbejder på amd. Nvidia driveren finsdes også til freebsd. Alt andet er med vesa.

Har du nogen er faring med systemd eller er det blot ideologisk?

Det er ikke ideologisk, dvs politik.
Det er min vurdering af systemds software arkitektur og software design, der gør at jeg ikke kan lide systemd.

Jeg har primært et problem med høj kobling og derefter er der binære log filer (hint: journald).

I stedet for høj kobling foretrækker jeg mange små simplere programmer, som kommunikere ved brug af IPC, Inter Process Communication - som er pipes, shared memory, UNIX domain sockets, signals - og hvad har vi.

Tekst baserede log filer er nemmere at arbejde med i en fejlfindingssituation.
Ved binære filer skal du have et større setup i gang for at kunne læse din binære log.

AJenbo skrev:Freebsd er også ved at arbejde med at få deres system til at fungere mere ala systemd

Link, pls.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Min egen Linux distro

Indlæg af AJenbo »

lath skrev:
AJenbo skrev:*bsd har basal understøttelse af nyre intelkort og arbejder på amd. Nvidia driveren finsdes også til freebsd. Alt andet er med vesa.

Har du nogen er faring med systemd eller er det blot ideologisk?

Det er ikke ideologisk, dvs politik.
Det er min vurdering af systemds software arkitektur og software design, der gør at jeg ikke kan lide systemd.

Jeg har primært et problem med høj kobling og derefter er der binære log filer (hint: journald).

I stedet for høj kobling foretrækker jeg mange små simplere programmer, som kommunikere ved brug af IPC, Inter Process Communication - som er pipes, shared memory, UNIX domain sockets, signals - og hvad har vi.

Tekst baserede log filer er nemmere at arbejde med i en fejlfindingssituation.
Ved binære filer skal du have et større setup i gang for at kunne læse din binære log.

Med andre ord er det ikke baseret ud fra erfaring med SystemD.

lath skrev:
AJenbo skrev:Freebsd er også ved at arbejde med at få deres system til at fungere mere ala systemd

Link, pls.

/Lars

Google is your frind.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Min egen Linux distro

Indlæg af lath »

AJenbo skrev:Med andre ord er det ikke baseret ud fra erfaring med SystemD.

Det er nok at tage munden for fuld eftersom jeg har kørt med Fedora nogen tid - hvor jeg lige netop havde problemer med binære log filer.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags