Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Progetto Debian: creare una distro?

    E' parecchio tempo che mi frulla in testa l'idea di fare una distribuzione tutta mia; forse oggi ho le competenze necessarie e alcune buone "intuizioni" per fare tutto ciò. Scriverò senza un filo logico preciso, perchè le idee che ho in testa sono molte,

    Veniamo a noi...

    Bisogna fare una premessa; mio padre ha uno studio di consulente del lavoro e in questi anni ho dovuto sistemare pc poco potenti, pc potenti e pc scarsi per i più svariati utilizzi desktop e server. Inoltre facendo dei lavoretti di assistenza ho avuto a che fare con computer da sistemare di un infinità di tipi e con un infinità di problemi.
    Premesso ciò, ieri in questi giorni ho modificato una DamnSmallLinux e l'idea della mia distro è ritornata a galla. La prima cosa che ho pensato è stata "ok io voglio fare una distro debian-based con svariati scopi, ma quale dimensione deve avere?", sono rimasto affascinato da DSL ma 50 MB sono davvero pochi e, IMHO 650 sono troppi, almeno per quello che riguarda fare una distro che non si perda nel mucchio; inoltre vorrei che tale distribuzione fosse installabile/utilizzabile anche su supporti USB, ed è per questo che la mia scelta è ricaduta sul formato dei mini-CD, cioè 185 MB; in questo modo il mini-CD è poco ingombrante e anche se messa (la distro) su una penna USB da 256 MB, ne rimangono sempre un po' per i file personali (da lavoro). Trovata "la dimensione" della debian che vorrei fare, la prima cosa è stata quella di pensare ai vari "usi" del CD:

    1) come LiveCD
    2) Per installare la distro su PC
    3) Per installare la distro su penna USB (direttamente dal CD)
    4) Per avviare la distro da penna USB
    5) Per creare eventuali floppy di boot (ad esempio per avviare da penna USB) e di installazione (come la debian net-install)
    6) Eventualmente per fare dei test (come il memory test di suse) o per "ripartizionare" l'hard-disk.

    La mia idea sarebbe anche quella di fornire una mini-guida in html all'interno, di modo che se inserito il CD quando siamo in windows, si presenta una schermata che spiega cosa è il Cd, cosa fa, ecc. ecc. Non è da escludere, ma è seriamente da valutare, l'ipotesi di fornire nel CD anche una versione del freedos+gui o alcuni programmi di utilità windows, di modo da aumentare il "valore" della distro anche per gli utenti principianti (nel senso, uno può usare il cd, non solo per avere una distro live, ma magari per usare dei programmi windows, di modo che quel CD può seriamente diventare "un amico" di molti tecnici, che poi un giorno, spinti da curiosità o bisogno, magari si ritrovano ad installare linux - nda: insomma server per catturare utenti).

    Procediamo per punti; la distro live (sia se avviata da cd o da usbpen) deve permettere fondamentalmente le stesse operazioni dell'avvio normale, ma anche qualcosa di più (che a molte distro manca), ed in tal senso DSL mi ha dato un'idea, se avviato come liveCD, deve poter essere possibile salvare i dati dell'utente all'interno di una partizione, backuppandoli come file tar.gz (o come file zip per motivi di compatibilità con l'ambiente win), ma se avviato da USB, deve poter essere "quasi automatica" la possibilità di salvare i dati all'interno della pena.

    Per quanto detto fino ad ora, propongo uno schema dei file "come dovrebbero essere", per poi spiegare anche un'altra cosa.

    \
    \floppy
    \floppy\boot.img
    \floppy\root.img
    \floppy\cdrom.img
    \floppy\net.img
    \floppy\rawrite.exe
    \KNOPPIX\KNOPPIX
    \guida\index.htm
    \guida\blablabla.htm
    \home\pippo.tar.gz (o .zip)
    \boot.cat
    \boot.msg
    \fX (f2, f3, ecc.)
    \syslinux.cfg
    \syslinux.bin
    \ldlinux.sys
    \linux22
    \linux24
    \linux26
    \logo.16
    \minirt.gz
    \scriptPippo
    \index.htm (redirect a \guida\index.htm)

    Ok, questa è la "struttura" di una knoppix, adattata per essere avviabile da USB, bisonga però porre particolare attenzione, ai floppy di boot, che possono essere scritti usando direttamente il programma rawrite (ad esempio se si legge il CD da windows), alla guida in html, alla directory home che conterrà i dati di lavoro di chi usa la distro da USB (infatti avrebbe senso mettere il formato .zip, per il semplice motivo che è facilmente accessibile da windows e quindi risulta pratico per utilizzare i propri file senza problemi) e a quello scriptPippo che, udite udite, dovrà essere un programma con un compito molto semplice, ricreare partendo dai file contenuti del CD, una iso del CD stesso che può essere rimasterizzata (bella cosa, non trovate?), infatti in linux, per creare una iso da quei file si dovrebbe dare un comando del tipo:

    mkisofs -opzioni -X boot.img (nel dir floppy) -X boot.cat -X directory (contenente, appunto, i file) nomefile.iso

    QUESTO E' UN PUNTO DA VALUTARE BENE IN FUTURO.

    Una piccola digressione riguarda l'uso della home... infatti vorrei fare in modo che la home diventi realmente "utile", e per fare ciò deve essere accessibile, non solo nel liveCD, ma anche nell'installazione della distro che se rileva un CD o una penna USB si mette alla ricerca di quel file, lo scompatta e lo piazza nella home dell'utente; analogamente per Windows, sarebbe "carino" fare in modo (magari facendo un programmi ad-hoc in VC++) di mettere a disposizione la home dell'utente nella cartella "documenti".

    Ma andiamo avanti che la carne sul fuoco è tanta e rischiamo di veder bruciare tutto...

    Pensiamo ai programmi e all'installer che rappresenterebbero il vero punto cruciale della distro...
    Poniamo un presupposto anche qui, su cui non sono disposto a cambiare idea (perchè la ritengo una cosa importante); la distro deve essere TOTALMENTE COMPATIBILE con una versione di DEBIAN, pensavo a SID, oppure a SARGE, ma questo fatto è voluto da me per due semplici motivi, il primo è che una volta installata, per quanto "magnifica" possa essere la distro, deve poter essere aggiornabile con i repository ufficiali debian, in questo modo la gente sarebbe disposta ad usarla perchè potrebbe rappresentare un'ottima scelta alternativa alla debian normale - :ApertaParentesi: io ho una debian un po' incasinata, volevo installare ubuntu o kanotix, non l'ho fatto perchè poi sarei rimasto legato ai loro repository e non a quelli ufficiali con tutte le limitazioni del caso; chi mi assicura che poi una sorgente apt esterna che su debian funziona, non mi faccia casini in ubuntu? chi mi garantisce la medesima quantità di software dei repository debian ufficiali ed ufficiosi? :ChiusaParentesi: -
    in secondo luogo non ho la possibilità di mettere su e mantenere un mio server debian, per motivi prettamente economici, sarebbe una spesa grande per me e non fornirebbe niente di più all'utente.

    Pensiamo ai programmi; questa è forse la cosa che mi stimola di più, cioè ridurre all'osso, senza perdere troppo in funzionalità. Parliamoci chiaro con un media da 185 MB si può fare un'installazione di 500 MB circa di software, che imho sono la "quantità più accettabile di software" a partire dal caca computer "Pentium I, 64 MB Ram, meno di 1GB di disco" ai supercomputer da NASA ultimo modello; sono, sempre secondo me, la via giusta per aumentare il target della distro (qui ho esperienza diretta personale, infatti uso debian dal piccolo caca-server con potenzialità molto limitate, fino al mio scintillante computer desktop che non ha niente da invidiare ad un pc windows o ad altre distro "zeppe" di software).
    Per fare ciò è necessario fare una cernita, sia sulla quantità di programmi, sia sulla documentazione (i man page ed altra roba - a chi interessa l'help in suomi o in neo-zelandese?); per quanto riguarda quest'ultimo punto, adando a naso, si può pensare che italiano, inglese, francese, tedesco, spagnolo ed altre poche lingue rappresentano la maggior utenza del mondo occidentale (no, non è prevista la versione in cinese, almeno non ancora). Continuando, la cernita sui programmi deve essere abbastanza "spietata" nel senso che bisogna fare delle scelte. Imho mettere GRUB e non LILO, mettere OpenOffice (se possibile), ma anche altri applicativi "office" (per i pc poco potenti) che la possano sostituire degnamente (Abiword, gnumeric, ecc.). Mettere GNOME e non KDE (che non mi piace, lo so, molti di voi rimarrano delusi, ma non prediligo questo DE), e così via.
    Ok, a questo punto le domande di molti saranno relative a quale tipologia di software mettere, io pensavo a:

    1) Applicativi Internet (browser, posta, messenger, p2p, ecc.)
    2) Applicativi da ufficio (office, viewer pdf, ecc.)
    3) Applicativi multimediali
    4) Programmi di editing immagini (Gimp su tutti - No CAD)
    5) Programmi Server "semplici" (es. ssh, un server telnet, uno ftp, apache, un server dhcp, samba e così via)
    6) Niente Giochi (se volete giocare compratevi l'X-box)
    7) Applicativi di utilità di sistema (Partizionatori, programmi per gestire i filesystem e così via)
    8) Programmi di firewalling/routing (da decidere ???)

    Una nota particolare va ai DE, come ho già detto, niente KDE, ma anche GNOME e gli altri vanno "scremati" bene bene, ad esempio mettendo temi che possano ricreare sistemi operativi conosciuti (penso sempre agli utenti windows), e quindi pensavo a IceWM, XFCE e Fluxbox, e facendo una cernita anche dei temi, mettendo pochi, ma buoni.

    Veniamo adesso all'installer, che è direttamente connesso anche a possibili programmi che verranno creati appositamente per la distribuzione. Innanzitutto l'installer dovrà essere solo testo (come quello debian originale) per motivi di retro-compatibilità e di spazio (pc vecchi possono visualizzarlo meglio e si risparmia moltissimo spazio) e dovrà prevedere diversi modi di installazione; alcune idee per l'installer sono:

    1) Poter partizionare/spostare partizioni/backuppare partizioni in modo semplice
    2) Poter scegliere quali programmi installare, partendo da diverse tipologie di installazione... ad esempio se uno ha un caca-pc è inutile che io gli proponga gnome, meglio icewm+gestore icone+file manager. In tal senso sarebbe interessante, a seconda del DE/WM scelto fare domande del tipo "Vuoi settare automaticamente l'aspetto del tuo DE come Windows? (o come il Mac o come il BeOS)"... così che l'utente principiante, finita l'installazione si trova Icewm o Gnome già configurato con aspetto simile (per quanto possibile) a windows.
    3) Poter scegliere quale kernel utilizzare (se la versione 2.2, la 2.4 o la 2.6 - sempre in previsione che l'installazione può avvenire su pc con potenza differente)
    4) rendere più semplici i passaggi di installazione, fornendo le dovute spiegazioni su quello che si sta facendo.
    5) Automatizzare i processi che possono bloccare un utente (come la configurazione di alcune periferiche o della rete).
    6) Permettere una facile configurazione di rete con semplici domande, box di esempio...

    "Per collegarti ad internet usi:
    - Un modem analogico 56 (nel caso l'installazione continua chiedendo i dati di connessione ppp)
    - Un modem ISDN
    - Un modem ADSL (configurazione pppoe)
    - Un router ADSL (configurazione skd di rete)
    - Sono collegato ad internet tramite skeda di rete
    - altre tipologie"

    Oppure, per settare la rete windows, porre domande del tipo:
    "Sei in una rete di computer?" Se si,
    "Inserire il gruppo di lavoro
    -> Workgroup (per utenti Windows 95/98/ME)
    -> MSHOME (per utenti Win2K, WinXP)
    -> Specificare [.....]"

    Insomma rendere l'installer più semplice

    Riguardo all'installazione un punto sul quale lavorare è soprattutto il riconoscimento hardware, attingendo, ad esempio, agli script di knoppix o al riconoscimento hardware di redhat, ma anche a tool di altre distro (come ha fatto Yoper). Per i filesystem (fstab) e per il bootloader, anche qui, ci sarebbe molto lavoro da fare per migliorare l'installazione in dual boot con windows e per configurare grub in modo da farlo coesistere con altri SO/Linux (- sto pensando a interessanti modifiche a Grub, come il boot di dispositivi USB, ma questo richiede modifiche al progetto originale non di poca entità-). Inoltre sempre riguardo ai filesystem, buona cosa sarebbe quella di utilizzare (e consigliare), ove possibile il reiserFS, magari non il 4, vedremo.
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

  2. #2
    Una cosa che non ho ancora specificato è che vorrei, in generale in tutta la distro, non solo ottimizzare ed automatizzare, ma anche fornire aiuto all'utente, faccio degli esempi... quando uno installa, è inutile chiedergli "come vuoi partizionare l'hard-disk? quanta swap vuoi?" ci vorrebbe un box di aiuto ben visibile che spieghi perchè serve la swap, indicativamente quale dovrebbe essere la sua dimensione e così via...altro esempio stupido... prevedere un semplice script di nome "help", in modo tale che chi usa la console la prima volta può vedere quali sono i comandi a disposizione (spesso pure io non me li ricordo tutti quelli che mi servirebbero), fornire insieme a grub o a samba, non solo il man, ma una sorta di "mini-guida" che ti spiega come fare per mettere più SO all'avvio, o come configurare samba per la tua rete... i man-page, parliamoci chiaro, servono a chi linux lo usa già, ma chi non è espertissimo (ma anche chi è lo, ma non su un determinato programma) avrebbe bisogno di un documento che colmi il "gap" tra "non so niente" e "so usare un po' linux".

    Volendo fare una precisazione sull'automatizzazione della distro, sarebbe interessante poter includere o yast o anaconda (ottimo sarebbe mettere il programma di partizionamento di Mandrake, ma devo mandare una mail per sentire se è possibile), magari facendo una versione "scremata" (e volendo unificata) delle due.

    Altra cosa interessante, ma non so se è possibile (e se fosse possibile sarebbe una gran bella cosa), sarebbe quella di fornire un supporto (sebbene limitato, per ovvie ragioni), non solo ai .DEB ma anche ai .TGZ e agli .RPM. Ma questo è un punto tanto oscuro, quanto forse irrealizzabile, ma sto parlando di idee, quindi non mi costa nulla dire anche questa.

    Vediamo se mi sto ricordando tutto...ah si, ove possibile la maggior parte dei file dovrebbe risiedere nella home dell'utente... esempio... i wallpaper, le icone ed i temi vengono messi in /usr/share, si, si possono installare anche nella home, ma poche distro lo fanno di default, sarebbe comodo predisporre un sistema che, quando scegli il wallpaper o il tema gnome da usare, non lo va a pescare in /usr/share, ma copia quel tema nella tua home e lo seleziona da lì. Ciò avrebbe l'enorme vantaggio di poter "reinstallare il sistema", ritrovandosi operativi in poco, anzi pochissimo tempo.

    Ci sarebbe da parlare di possibili trucchi (ed ottimizzazioni) da fare sulla struttura delle directory, non solo per risparmiare spazio (linkando, ad esempio, come fa DSL, librerie "doppione"), ma anche per rendere più standard linux (mettendo dei file chiari, ove questi sono, in alcuni programmi, criptici) e più facile la vita agli utenti windows, magari mettendo una directory "C" che contiene dei simlink (in stile windows/gobolinux se non sbaglio) alle strutture dei programmi; oppure ci sarebbe da parlare di tutta una serie di ottimizzazioni ai DE, al montaggio delle periferiche, e al boot-logo (che in debian pura non sono ancora riuscito a farlo andare); ci sarebbe da fare digressioni sui possibili programmi Windows/Dos da includere nel CD (per agevolare la migrazione e per dare valore aggiunto al CD); ci sarebbe da parlare di molto altro (molte cose non le ho ancora chiare, figuriamoci spiegarle), ma vi ho già rubato troppo tempo.

    La mia non è un'idea di progetto con qualche pretesa particolare, è solo voler condividere con gli altri le mie idee, perchè di cose da migliorare ce ne sarebbero a bizzeffe.

    Ecco, infine, un prontuario a possibili domande/critiche che mi muoverete.

    - "Cerchi collaboratori?"
    Si, cerco collaboratori per il progetto, tuttavia considerate che il progetto non partirà dall'oggi al domani, io lavoro e studio, ho poco tempo; son ben accetti tutti (anche i grafici), ma se possibile è ben accetto che si faccia tutti qualcosa, non dovete aspettarvi che io vi dia tutte le indicazioni, non ne ho il tempo materiale di supervisionarvi... purtroppo all'inizio è così, finchè non c'è qualcosa di tangibile su cui lavorare, non dovete aspettarvi che vi indichi la via da seguire; tuttavia io il progetto lo vorrei portare avanti, mi basta che mi diate spunti e consigli su quanto esposto, ad esempio dicendo, io metterei tal programma, io farei così, non è necessario sapere "come" (almeno non a questo punto), ma almeno avere idee che possano rendere + concreto, giorno dopo giorno, il progetto.

    - "C'è bisogno di un'altra distro?"
    non lo so, tuttavia ritengo che la mia sarebbe una buona distro general-purpose con valore aggiunto rispetto alla moltitudine di progetti "discutibili" che ci sono in giro.

    - "Non è la prima volta che parli della tua distro, eppure non l'hai ancora fatta, sei un parolaio, perchè questa volta dovrebbe essere diverso?"
    Io non posso promettere che sarà diverso, purtroppo ho poco tempo, tuttavia a distanza di anni la voglia di fare la mia distro è aumentata, le idee sul come farla sono state "scremate" e le mie competenze sono cresciute, quindi spero che questa sia la volta buona.

    - "Perchè non collabori con qualche progetto, invece di farne uno tuo, ci sono tanti progetti che avrebbero bisogno di una mano?"
    Il motivo è semplice, collaborare ad un progetto come GNOME o a DEBIAN non è facile, ne' a livello di organizzazione (c'è infatti poco contatto con gli sviluppatori), ne' a livello tecnico, quindi preferisco fare qualcosa che poi, eventualmente, introdurrà delle innovazioni che gli altri possono usare.

    - "Sono previsti più di 185 MB per la distro?"
    Francamente no, se possibile vorrei rimanere nel limite, per i motivi esposti sopra. So che sono pochi per tutto quello che vorrei fare, tuttavia ritengo che proprio la "dimensione" della distro ne potrebbe segnare la sua diffusione.

    - "E' previsto un sito o un forum di supporto?"
    Al momento no, se qualcuno vuole allestirlo ben venga, userei il mio sito ma al momento ho l'idea di rifarlo, motivo per cui il forum è praticamente in disuso; ci potremmo appoggiare al forum di www.debianitalia.org (chiedendo magari una sezione apposita), ma devo ancora chiedere.

    Aspetto commenti e critiche sia positive che negative.
    Se non dovessi rispondervi subito, è solo per la mia mancanza di tempo, quindi non allarmatevi.

    I miei contatti sono:
    Fabrizio Ciacchi
    Sito Web: http://fabrizio.ciacchi.it
    Email: fabrizio@ciacchi.it
    ICQ: 23409340
    MSN: fabrizio@ciacchi.it

    Saluti,
    Fabrizio.
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.