Skriptiin sellainen muutos, että se ei sokeasti korvaisi vanhaa tiedostoa uudella, vaan se lisäisi siihen olemassaolevaan listaan (kunhan siitä olisi otettu varmuuskopio) uusia rivejä ja pakettilähteitä.
Tämä siksi että joku on voinut jonkin muun ohjeen mukaan jo lisätä jotakin tuonne listaansa (esim. minulla siellä on mm. näytönohjaimen ajurien sijainti).
Ensin kunkin lähteen lisäämistä pitäisi varmistaa, että se ei ole jo tuossa listassa.
Yritin itse tehdä tuollaista omaan asennajava-skriptiini, joka siis vain lisää sources.listiin multiversen, jos siellä ei sitä jo ole. Lisäksi universe-rivin alussa oletuksena oleva kommenttimerkki poistetaan:
#!/bin/bash
# JRE:n helppoon asentamiseen luotu skriptim joka myös lisää
# tarvittavat pakettivarastot sources.listiin
# 19.2.2006 Mikko Saarinen (GPL)
echo ""
echo "Lisätään sources.listiin tarpeelliset pakettivarastot (multiverse)"
echo ""
if cat /etc/apt/sources.list | grep "^deb http" | grep "breezy " | grep "multiverse"
then
echo ""
echo "Multiverse on jo asennettu"
echo ""
else
echo ""
echo "Lisätään multiverse pakettivarastoihin"
echo ""
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup_asennajava
if cat /etc/apt/sources.list | grep "#deb http" | grep "breezy " | grep "multiverse"
then
sudo sed -i -e '/multiverse/s/^#deb/deb/' /etc/apt/sources.list
else
sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu breezy universe/s/^#//' /etc/apt/sources.list
sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu breezy universe/s/$/ multiverse/' /etc/apt/sources.list
fi
fi
echo ""
echo "Päivitetään pakettienhallinnan tietokanta"
echo ""
sudo apt-get update
echo ""
echo "Asennetaan paketti Blackdown Java"
echo ""
sudo apt-get install j2re1.4
echo ""
echo "Asennus on valmis. Sulje Firefox ja käynnistä se uudelleen, niin Java-tuen pitäisi olla käytössä"
echo "Mikko Saarinen =) 19.2.2006"
Tosin mgronber huomautti ihan aiheesta siitä, että tuon useamman ketjutetun grepin käytön voisi välttää käyttämällä regexpejä:
if grep '^deb http.*breezy.*multiverse' /etc/apt/sources.list; then
[...]
else
if grep '^#deb http.*breezy.*multiverse' /etc/apt/sources.list; then
[...]
done
[...]
done
Samoin hänellä oli parempi versio tuosta sed-skriptistä jolla multiverse lisätään halutulle riville (universen perään)
sudo sed -i -e '/archive\.ubuntu\.com\/ubuntu.*breezy universe/s/^\(#\?\)\(.*[^[:space:]]\)/\2 multiverse/' /etc/apt/sources.list
Että tällaista,
Mikko