Por que não depender do YaST
Não há nada que faça o que o YaST faz para distros não-SUSE. Existem pequenas ferramentas aqui e ali, mas nada tão abrangente. É uma benção e uma maldição. As pessoas que dependem do YaST ignoram como as coisas funcionam realmente.
Eu teria tempo para realmente "aprender" como as coisas funcionam, em vez de procurar outra muleta. Eu não estou dizendo que isso seja ruim, eu costumava usar o YaST em meu trabalho diário e aprecio o que ele fornece, mas é uma muleta.
Alternativas
1. Yast4DebianSe você estiver realmente motivado, deparei com esse projeto que parece estar em espera, mas pode ser uma boa base de código para você pegar, caso esteja realmente procurando desenvolver algo como o YaST para outras distribuições.
2. YaST em RubyAlém disso, parece que a próxima versão do YaST para o SuSE 13.1 foi portada para uma implementação Ruby, por isso pode ser mais fácil de portar graças a esse esforço.
trecho
3. Yast para Enterprise Linux (RHEL + Unbreakable)Why did you want to port YaST to Ruby?
YaST was developed in YCP — a custom, simple, inflexible language. For a long time, many YaST developers felt that it slowed them down. It didn’t support many useful concepts like OOP or exception handling, code written in it was hard to test, there were some annoying features (like a tendency to be “robust”, which really means hiding errors). However, original YCP developers moved on to other projects and there wasn’t anyone willing to step in and improve the language.
It was obvious that the only way out of this situation is to change the implementation to some other widely used language (most people were thinking about scripting languages, like Ruby or Python, which offer great flexibility and shorter code compared to e.g. C++ or Java). Such a change would mean we wouldn’t need to maintain our own custom language. It would also allow us to use many third-party libraries and make contributing to the project much easier for outsiders. People wouldn’t have to learn a whole new language just because of YaST.
Changing the implementation language of such a big codebase as YaST is a huge effort, so it’s no wonder that developers mostly only talked about it — for years. It required someone external to the team (David) to decide that’s talking isn’t enough and we should just do it :-)
How were the results?
Good :-) We translated 96 YaST modules in total and currently there is no YCP code used in YaST except few obscure places like examples in the documentation (which need to be manually rewritten to reflect current best practices). YCP is also still used as a serialization format for some data files and for communicating between YaST components, but this does not affect development and we will probably get rid of that too over time.
A Oracle tem este projeto hospedado, que parece ser uma versão modificada do YaST, que é especificamente para uso no RHEL + Unbreakable Linux. Eu diria que você poderia usá-lo para o CentOS e possivelmente o Fedora também.
Não tenho certeza do seu status, mas pode valer a pena dar uma olhada. Embora seja provavelmente desenvolvido na base de código original do YaST, talvez você queira dar uma olhada na implementação do Ruby primeiro.