Warum man sich nicht auf YaST verlassen sollte
Es gibt nichts, was YaST für Nicht-SUSE-Distributionen tut. Hier und da gibt es kleine Tools, aber nichts so umfassendes. Es ist ein Segen und ein Fluch. Leute, die sich auf YaST verlassen, verpassen, wie die Dinge unter der Haube tatsächlich funktionieren.
Ich würde mir die Zeit nehmen, tatsächlich zu „lernen“, wie die Dinge funktionieren, anstatt nach einer anderen Krücke zu suchen. Ich sage das nicht gemein, ich habe YaST in meiner täglichen Arbeit verwendet und schätze, was es bietet, aber es ist eine Krücke.
Alternativen
1. Yast4DebianWenn Sie wirklich motiviert sind, bin ich auf dieses Projekt gestoßen, das scheinbar auf Eis liegt, aber eine gute Codebasis für Sie sein könnte, wenn Sie wirklich danach suchen, etwas wie YaST für andere Distributionen zu entwickeln.
- YaST4Debian
Außerdem sieht es so aus, als ob die kommende Version von YaST für SuSE 13.1 auf eine Ruby-Implementierung portiert wurde, sodass es dank dieser Bemühungen möglicherweise einfacher zu portieren ist.
- Bald verfügbar:openSUSE 13.1 mit YaST in Ruby
- openSUSE:YaST auf Ruby portieren
Auszug
Warum wollten Sie YaST auf Ruby portieren?
YaST wurde in YCP entwickelt – einer benutzerdefinierten, einfachen und unflexiblen Sprache. Lange Zeit hatten viele YaST-Entwickler das Gefühl, dass es sie verlangsamt. Es unterstützte viele nützliche Konzepte wie OOP oder Ausnahmebehandlung nicht, der darin geschriebene Code war schwer zu testen, es gab einige lästige Funktionen (wie die Tendenz, „robust“ zu sein, was wirklich bedeutet, Fehler zu verbergen). Die ursprünglichen YCP-Entwickler wechselten jedoch zu anderen Projekten und es gab niemanden, der bereit war, einzugreifen und die Sprache zu verbessern.
Es war offensichtlich, dass der einzige Ausweg aus dieser Situation darin besteht, die Implementierung in eine andere weit verbreitete Sprache zu ändern (die meisten Leute dachten an Skriptsprachen wie Ruby oder Python, die eine große Flexibilität und kürzeren Code im Vergleich zu z. B. C++ oder Java bieten). . Eine solche Änderung würde bedeuten, dass wir unsere eigene benutzerdefinierte Sprache nicht pflegen müssten. Es würde uns auch ermöglichen, viele Bibliotheken von Drittanbietern zu verwenden, und es würde Außenstehenden viel einfacher machen, zum Projekt beizutragen. Die Leute müssten nicht nur wegen YaST eine ganz neue Sprache lernen.
Die Implementierungssprache einer so großen Codebasis wie YaST zu ändern, ist ein enormer Aufwand, daher ist es kein Wunder, dass Entwickler meistens nur darüber sprachen – jahrelang. Es musste jemand außerhalb des Teams (David) entscheiden, dass Reden nicht ausreicht und wir es einfach tun sollten :-)
Wie waren die Ergebnisse?
Gut :-) Wir haben insgesamt 96 YaST-Module übersetzt, und derzeit wird kein YCP-Code in YaST verwendet, mit Ausnahme weniger obskurer Stellen wie Beispiele in der Dokumentation (die manuell umgeschrieben werden müssen, um die aktuellen Best Practices widerzuspiegeln). YCP wird auch immer noch als Serialisierungsformat für einige Datendateien und für die Kommunikation zwischen YaST-Komponenten verwendet, aber dies wirkt sich nicht auf die Entwicklung aus und wir werden es wahrscheinlich im Laufe der Zeit auch loswerden.
- das YaST-Portal im openSUSE-Wiki
- Entwicklerinformationen hier
Oracle hat dieses gehostete Projekt, das eine modifizierte Version von YaST zu sein scheint, die speziell für die Verwendung unter RHEL + Unbreakable Linux vorgesehen ist. Ich würde davon ausgehen, dass Sie es dann für CentOS und möglicherweise auch für Fedora verwenden könnten.
- Projekt:Yast
Ich bin mir über den Status nicht sicher, aber vielleicht einen Blick wert. Obwohl es wahrscheinlich in der ursprünglichen YaST-Codebasis entwickelt wurde, sollten Sie sich zuerst die Ruby-Implementierung ansehen.
Es gibt nichts, was wirklich mit YaST für CentOS oder Debian vergleichbar wäre. Die nächsten Anwendungen könnten diese sein:
-
YUMEX :Eine GUI für YUM
-
Webmin
Webmin ist ziemlich leistungsfähig und sollte vieles von dem können, was YaST kann (v-Hosts, Firewall, Netzwerk-Mounts).
Es gibt mehrere andere Optionen, vergleichbar mit Webmin.