views:

91

answers:

3

I would like to create a terminal based installer/wizard.

Ideally, it'd be like the Ubuntu server installer, or the Arch Linux installer - a ncurses (?) heavy GUI with lots of form and arrow key goodness.

Second best would be a simpler question/answer type thing, similar to the "adduser" command prompting for password, username, etc.

I am Ruby biased, and would prefer a scripting language (not C), but I'm open to anything. It will only run on Ubuntu server, if that helps.

What are my options?

+1  A: 

InstallJammer can do what you want in the second form. No ncurses interface to speak of though. 0-] It's written in Tcl/Tk, so it meets your scripting requirement though obviously not in your language of choice. We all have our language of choice, I suppose. 0-]

Damon
Are you talking about this? http://www.installjammer.com/screenshots Seems very none-terminal to me :)
August Lilleaas
The screenshots show a graphical installer, but every installer project is built with both a GUI and console installer. You can simply disable the GUI installer and get just a console one. 0-]
Damon
A: 

It would be easier to answer if you specified what you're trying to do. If you're installing something, it might make sense to just create a debian package and use install time configuration options available via debhelper.

If bash or shell scripting is okay, I'd suggest looking at package "dialog". Just put "dialog" as pre-depends for your package and you can use dialog features for your deb installer.

Another possibility could be the "pdmenu" package (origin: http://kitenet.net/~joey/code/pdmenu/).

Mikko Rantalainen
+1  A: 

I'm not certain what you're asking. If you're looking for an implementation tool, you could look at urwid, which is a Python-based GUI toolkit library. It lets you write programs using GTK-style widgets and event interfaces for a text-based interface. If you're a decent scripter, it shouldn't be too hard to start from there and write the code to drive an installation process.

Walter Mundt