Asked by Stacy R on 2010-06-11


I was thinking it might be a cool idea to do something like this, but rather than selecting things from prompts during the install, let the user select what they want through a web interface beforehand which then gives them a custom link to wget their script...

I guess the interface could be kind of like this Distro chooser; there would be steps for each question in your current script; DE's, browsers, email, all that kind of stuff; at each step the user is presented a series of choices and can browse the websites, look at pictures, etc.

The site backend then builds the script, provides a link to the correct mini.iso or alternate.iso and a link to the script with instructions.

let me know what y'all think!


Question information

English Edit question
Ubuntu minimal desktop Edit question
No assignee Edit question
Solved by:
Anthony Veilleux
Last query:
Last reply:
Anthony Veilleux (aveilleux) said : #1

That's an excellent idea, Stacy! I will look into this as soon as 10.04.2 is released, which will be this Saturday.

Stacy R (stakk-man) said : #2


It also means you can (presumably) ensure all dependencies are met, if you were trying to set up a more obscure system...

I have no idea about the details under the hood, but on the surface it appears to me that any Ubuntu based distro could be installed this way... [Is the only difference between these distros the packages on top of ubuntu-core? Is it possible that Ubuntu spinoff projects could be maintained purely in this way?] User selects 'core' Gnome/KDE/LXDE/!#/Mint *buntu, and then selects further optional/recommended apps to their heart's content.

Let me know; I'd be keen to help out with the project where I can!


Stacy R (stakk-man) said : #3

Just thinking a bit more... How about a live CD?

It could be pretty small (I guess); featuring only whatever is required for the live CD to run, a network manager (+ wireless) so everything can be downloaded, and any common/core files. Selection program itself could be part of the installer from the Live CD, either web page based or a step-by-step wizard kind of thing.


Anthony Veilleux (aveilleux) said : #4

First off, dependencies are resolved automatically through aptitude. That's why there aren't a million and one packages listed in the script, and the -y flag in the script (sudo aptitude -y install *) automatically agrees to dependency resolution.

To your second point: No, the different derivatives are maintained differently than this system. Most popular derivatives (Crunchbang and Mint stand out) use their own repos and build differently.

As far as a LiveCD goes, debian-installer is amazingly hard to customize. I've dabbled with LiveCDs in the past[1], and I really would like to make an ISO version, but I'm not entirely sure how easily it could be done. The easiest way to do that would probably be to drop the script onto the minimal install ISO provided by Canonical and have it automatically move the script into the user's Home directory. On reboot, the script is run. I'll look into it.


Anthony Veilleux (aveilleux) said : #5

Inspiration struck me on the LiveCD front as I was trying to drift off to sleep. I will let you know how it goes when I test my idea in the morning.

Stacy R (stakk-man) said : #6


Yep, I knew about the dependencies; I think I meant to say 'essential components' - i.e. it would be easy to ensure that the user doesn't end up lacking a window manager or network capability... Obviously an advanced user could override this, but it is a failsfe for the rest.

For the second point; I didn't mean 'is this how they are maintained', but could this be an alternative way to maintain them? Not necessarily those distros in particular, but if someone wanted to develop an Unbuntu-variant distro without going to the lengths of making CD images, this kind of thing could be pretty handy...?... A user could save their configuration and share it with others...

Cool, let me know how your idea works out!


Anthony Veilleux (aveilleux) said : #7

Ah, I see what you mean. Yeah.

I guess that would work, if I got more people to work on it (ie. spread out the load). Right now, it's basically just me handling both GNOME and KDE on Ubuntu base. Any more and my head would explode.* If I can't find someone who knows PHP, I guess I'll have to learn it myself and figure out how to implement it. But that would mean it's probably not coming until the October release.

I tried building a command-line LiveCD, and it worked, but I couldn't figure out how to run debian-installer in ncurses ("Alternate Install") mode from a remastersys LiveCD. I've got the idea down pat, but I just can't figure out how to do that one crucial step.


Stacy R (stakk-man) said : #8


so what are the next steps? Sounds like you are pretty busy!

I am a PhD student, coming into the last year of my thesis, so I don't have a heap of spare time either. I've got some experience with Python, if that's any help, but more of an open-source/linux enthusiast than guru... In saying that, I am an engineer, and I have some experience with project management-y stuff too.

Out of the ideas so far, what are the advantages/disadvantages or each, and what looks like the most viable? Remember that the project can evolve...
1. Website, custom download link, user does WGet/executable/runs
2. LiveCD based, selections run through a wizard-like interface, internet available (for more information, and interface can keep itself updated), download/run/install all automatic/through GUI
... or:
3. a combination of both: webiste exists, and can be used as described in 1, also the liveCD can be used, although the selections are done on or through the website within LiveCD environment, and download/run/install is automated

I'm thinking the most realistic path might be 1 then 3...?

Looks like the first thing we need to do is get more people on board... How can we go about this? Set up a wiki, then post to forums and message boards telling people to go to the wiki if they want to participate?


António PT (antoniopt) said : #9

Stacy, you seem like an interesting person to add to our development team. :D
I'm going to talk with Anthony, would you like to be a part of this project?


António PT (antoniopt) said : #10

Stacy, you seem like an interesting person to add to our development team. :D
I'm going to talk with Anthony, would you like to be a part of this project?


Stacy R (stakk-man) said : #11

If I can be useful; definitely!


Stacy R (stakk-man) said : #12

Hey guys,

Sorry I've been pretty quiet lately; had a conference paper due yesterday... Anyway, I did a bit of a brain dump on the GitHub wiki page, just summing up the ideas so far. Check it out, and make any changes - it got a bit fuzzy towards the end, think I need some coffee.


p.s. Is there a way to email all the followers in GitHub? I didn't look, but it might be better...

Anthony Veilleux (aveilleux) said : #13

There's a mailing list through LaunchPad. <email address hidden>

Best Anthony Veilleux (aveilleux) said : #14

Thought you might like to know that we did end up implementing your idea! Check out the latest blog post.

Anthony Veilleux (aveilleux) said : #15

Link to FAQ
FAQ #1308: “How can I make the script “just run”?".

Stacy R (stakk-man) said : #16

Thanks Anthony Veilleux, that solved my question.

Stacy R (stakk-man) said : #17

Dude, that is awesome! Good work!