System na udrzbu minidistribuce [WAS: OT: distro na router]

Jan Houstek houstek na utf.mff.cuni.cz
Středa Březen 24 03:15:46 CET 2004


Vyuziju nadhozene tema a pokusim se popsat myslenku, se kterou si uz delsi
dobu pohravam. Jde prave o co nejefektivnejsi realizaci systemu pro
router/firewall ci podobne zarizeni. Vychozi myslenky jsou asi
nasledujici:

1) kazdy ma svou oblibenou distribuci
Moznost mit minidistribuci stejnou jako sve ostatni systemy bych velmi
ocenil (nejde o velikost, ale o umisteni konfiguraku, verze pouziteho
software, zpusob prace apod.).

2) unix bez kompilatoru neni unix
Minidistribuce s pochopitelnych duvodu neobsahuji kompilator ani -devel
casti pouzitych knihoven, coz hrozne komplikuje pridani jakehokoliv
software. A ne kazda minidistribuce ma snadno pouzitelny build system, ve
kterem by bylo mozne kompilaci a instalaci noveho software rozumne
jednoduse provest. Tohle je nejvetsi slabina hotovych reseni, vetsinou
obsahuji uplne vsechno az na jednu ptakovinu, ktera je pro me z nejakeho
duvodu treba dulezita.

3) podpora, updaty
Mnoho hotovych minidistribuci si nedela s updatama prilis hlavu. Je fakt,
ze na takovych systemech nebudou lokalni uzivatele a v idealnim pripade
pobezi jen sshd a mala hrstka dalsich userspace procesu, ale i tak by
podpora na urovni velke distribuce potesila (nejen kvuli bezpecnosti, ale
i funkcnosti).

4) miniaturizace
At uz system budeme stavet na srotoidnim PC nebo nejakem HW typu VIA Epia,
tak v dnesni asi nestoji za namahu a problemy snazit se usetrit misto a
pamet pouzitim odlehcenych knihoven (napr. dietlibc), agregaci zakladnich
nastroju (busybox), kompresi binarek ci celeho fs apod. 16MB ci 32MB
pameti a 64MB na disk (napr. flash) je takove minimum, pod ktere se uz asi
nevyplati jit.


Myslenka je takova, ze vsechny 4 body je mozne realizovat instalaci plne
velke distribuce, na kterou je clovek zvykly, vcetne balickovaciho
systemu, kompilatoru apod, a tu pak pomoci nejakeho nastroje osekat na
urovni souboru (tj. pouzit jen potrebne binarky, knihovny, konfiguraci
apod.). Ten system orezavani by mel byt schopny co nejjednoduseji resit
nekolik veci

1) snadny a co nejvice automaticky/automatizovatelny system vyberu
potrebnych souboru

2) snadne updaty (tj. pri upgrade jednoho souboru nebo instalaci jednoho
baliku presouvat na cilovy system jen tyto veci)

3) podpora vetsiho mnozstvi cilovych systemu (typicky budu mit jednu
"lihen" a nekolik cilovych stroju, stejnych ci odlisnych)

4) zachovani chtenych zmen na cilovych systemech (tyka se hlavne
konfiguraku)


Uvitam jakekoliv namety a pripominky. Jde hlavne o ten orezavaci system.
Snazil jsem se neco najit, ale nic nebylo rozumne obecne pouzitelne.
Synchronizaci bude asi nejjednodussi resit pres rsync, na zbytek se mi
zdal dost pouzitelny balickovaci system gentoo (ale zatim jsem ve stadiu
jeho zkoumani).

-- Honza Houstek


Další informace o konferenci Linux