jsarma
September 22nd, 2011, 06:50 AM
Hi everyone. I have a question about automating Ubuntu builds which I'd really appreciate the advice of a guru on. I can't seem to find any specific references to it on the web.
I'm trying to create a validated web server using Ubuntu 10.04 LTS. I want to be able to run a build script which looks something like this whenever I need to install the system on a new server:
apt-get -y update
apt-get -y install package1
apt-get -y install package2
etc...
The problem is this script will pick up new updates to packages, which could require re-validation. So I need to lock this script to specific versions of each package.
One method I've tried is adding =<version> to each package to make sure it installs the correct version. The problem is this method doesn't always create the same softlinks that would be create otherwise. For instance, apt-get -y install ruby is not the same as apt-get -y install ruby1.8=<version>, because the former creates a softlink from ruby to ruby1.8. So this method isn't great.
I'm wondering, is there some command like:
apt-get -y update=<ubuntu version>
which will tie all my future apt-get install commands to specific versions that can't be changed by subsequent package updates on future installs? If so, that would be super-awesome, because I wouldn't have to worry about specifying every version of every package I install. Instead, I could just validate a specific version of ubuntu's package.
If not, is there some other approach that is recommended for achieving version lockdown?
I'd really appreciate any suggestions.
Thanks
I'm trying to create a validated web server using Ubuntu 10.04 LTS. I want to be able to run a build script which looks something like this whenever I need to install the system on a new server:
apt-get -y update
apt-get -y install package1
apt-get -y install package2
etc...
The problem is this script will pick up new updates to packages, which could require re-validation. So I need to lock this script to specific versions of each package.
One method I've tried is adding =<version> to each package to make sure it installs the correct version. The problem is this method doesn't always create the same softlinks that would be create otherwise. For instance, apt-get -y install ruby is not the same as apt-get -y install ruby1.8=<version>, because the former creates a softlink from ruby to ruby1.8. So this method isn't great.
I'm wondering, is there some command like:
apt-get -y update=<ubuntu version>
which will tie all my future apt-get install commands to specific versions that can't be changed by subsequent package updates on future installs? If so, that would be super-awesome, because I wouldn't have to worry about specifying every version of every package I install. Instead, I could just validate a specific version of ubuntu's package.
If not, is there some other approach that is recommended for achieving version lockdown?
I'd really appreciate any suggestions.
Thanks