Perché non dipendere da YaST
Non c'è niente che faccia ciò che YaST fa per le distribuzioni non SUSE. Ci sono piccoli strumenti qua e là, ma niente di così completo. È una benedizione e una maledizione. Le persone che dipendono da YaST perdono l'idea di come funzionano effettivamente le cose sotto il cofano.
Mi prenderei il tempo per "imparare" effettivamente come funzionano le cose piuttosto che cercare un'altra stampella. Non lo dico per cattiveria, usavo YaST nel mio lavoro quotidiano e apprezzo ciò che fornisce, ma è una stampella.
Alternative
1. Yast4DebianSe sei veramente motivato, mi sono imbattuto in questo progetto che sembra essere in attesa, ma potrebbe essere una buona base di codice da imparare se stai davvero cercando di sviluppare qualcosa come YaST per altre distribuzioni.
- YaST4Debian
Inoltre sembra che la prossima versione di YaST per SuSE 13.1 sia stata trasferita su un'implementazione Ruby, quindi potrebbe essere più facile portarla grazie a questo sforzo.
- Prossimamente:openSUSE 13.1 con YaST in Ruby
- openSUSE:porting di YaST su Ruby
estratto
Perché hai voluto portare YaST su Ruby?
YaST è stato sviluppato in YCP, un linguaggio personalizzato, semplice e poco flessibile. Per molto tempo, molti sviluppatori di YaST hanno ritenuto che li rallentasse. Non supportava molti concetti utili come la OOP o la gestione delle eccezioni, il codice scritto era difficile da testare, c'erano alcune caratteristiche fastidiose (come la tendenza ad essere "robusti", che in realtà significa nascondere gli errori). Tuttavia, gli sviluppatori YCP originali sono passati ad altri progetti e non c'era nessuno disposto a intervenire e migliorare la lingua.
Era ovvio che l'unica via d'uscita da questa situazione fosse cambiare l'implementazione in qualche altro linguaggio ampiamente utilizzato (la maggior parte delle persone pensava a linguaggi di scripting, come Ruby o Python, che offrono grande flessibilità e codice più breve rispetto ad esempio a C++ o Java) . Un tale cambiamento significherebbe che non avremmo bisogno di mantenere la nostra lingua personalizzata. Ci consentirebbe anche di utilizzare molte librerie di terze parti e rendere il contributo al progetto molto più semplice per gli estranei. Le persone non dovrebbero imparare una lingua completamente nuova solo grazie a YaST.
Cambiare il linguaggio di implementazione di una base di codice così grande come YaST è uno sforzo enorme, quindi non c'è da meravigliarsi se gli sviluppatori ne hanno parlato per lo più solo per anni. È stato necessario che qualcuno esterno al team (David) decidesse che parlare non bastava e che avremmo dovuto farlo :-)
Come sono stati i risultati?
Bene :-) Abbiamo tradotto 96 moduli YaST in totale e attualmente non c'è codice YCP utilizzato in YaST tranne pochi posti oscuri come esempi nella documentazione (che devono essere riscritti manualmente per riflettere le migliori pratiche correnti). YCP è ancora utilizzato anche come formato di serializzazione per alcuni file di dati e per la comunicazione tra i componenti di YaST, ma questo non influisce sullo sviluppo e probabilmente ci libereremo anche di quello nel tempo.
- il portale YaST sul wiki di openSUSE
- informazioni sullo sviluppatore qui
Oracle ha questo progetto ospitato che sembra essere una versione modificata di YaST specifica per l'uso su RHEL + Unbreakable Linux. Presumo che potresti usarlo per CentOS e possibilmente anche per Fedora.
- Progetto:Yast
Non sono sicuro del suo stato, ma potrebbe valere la pena dare un'occhiata. Sebbene sia probabilmente sviluppato nel codice YaST originale, ti consigliamo di dare prima un'occhiata all'implementazione di Ruby.
Non c'è niente che sia davvero paragonabile a YaST per CentOS o Debian. Le applicazioni più vicine potrebbero essere queste:
-
YUMEX:un'interfaccia grafica per YUM
-
Webmin
Webmin è abbastanza potente e dovrebbe fare molto di ciò che può fare YaST (v host, firewall, montaggi di rete).
Ci sono molte altre opzioni, paragonabili a Webmin.