RSS-Feed

Das Leid mit Neuinstallationen mindern

von Kai um 11:27 am Montag, 9. August 2010 in How-To, Linux | 3 Kommentare

Da Computer und Betriebssysteme bei unsachgemäßer Behandlung gerne mal ihren Dienst quittieren und die darauf folgende Installationsprozedur langwierig sein kann, habe ich mir ein Skript geschrieben, was das Neuaufsetzen von (K)ubuntu komplett automatisiert. Dabei hab ich festgestellt, dass man das beliebig weit treiben kann (Setzen von Wallpaper, Installation eines Netzwerkdruckers etc., wobei ich ersteres wieder verworfen habe).
Ein weiterer Vorteil beim skriptgesteuertem Aufsetzen ist, dass man die kleinen Anpassungen an das System genau einmal aufschreibt und künftig dann nur einmal das Skript angestoßen werden muss (Es sei denn, langwierige Bugs wurden endlich gefixt und die Anpassung wird obsolet).
Als erstes fragt das Skript, ob es als root ausgeführt wurde, was für das Hinzufügen von Repositories und Installation von Programmen notwendig ist:

if [ `whoami` != "root" ]; then
    echo "Bitte Skript als root starten"
    echo "Installationsskript wird abgebrochen"
    exit -1
fi

Danach folgen eine Aktualisierung und die Installation von bestimmten Repositories:

echo "System aktualisieren"
apt-get --yes update
apt-get --yes upgrade
apt-get --yes dist-upgrade
echo "Repo: Installation von Wine-Repository"
add-apt-repository ppa:ubuntu-wine/ppa
echo "Repo: Installation von Miro-Repository"
add-apt-repository ppa:pcf/miro-releases
echo "Repo: Installation von Webkit-Repository"
add-apt-repository ppa:webkit-team
apt-get -y update && apt-get -y upgrade
add-apt-repository ppa:liferea/ppa

Danach ziehe ich mir den aktuellen Treiber für meine Grafikkarte und Firmware für die DVB-T Karte:

echo "Hardware: ATI Grafiktreiber installieren"
wget https://a248.e.akamai.net/.../linux/ati-driver-installer-10-7-x86.x86_64.run
sh ati-driver-installer-*-x86.x86_64.run --buildpkg
sudo dpkg -i fglrx_*
sudo dpkg -i fglrx-mod*
sudo dpkg -i fglrx-amd*
echo "Hardware: Installation von DVB-T"
wget http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw
mv dvb-usb-af9015.fw /lib/firmware/

Anschließend folgen die eingangs erwähnten Anpassungen für bestimmte Bugs. Außerdem werden der Netzwerkdrucker und bestimmte Schriftarten installiert. Die Anpassung für Plymouth geht sicherlich auch besser, aber ich bin nicht sehr gut im Skripte schreiben (quasi mein erstes:-) ):

echo "Anpassungen: Akonadi beim Anmelden starten"
touch akonadi-start.sh
echo "#"'!'"/bin/bash" >> akonadi-start.sh
echo "/usr/bin/akonadictl start" >> akonadi-start.sh
mv akonadi-start.sh /home/kai/.kde/Autostart/
chmod +x /home/kai/.kde/Autostart/akonadi-start.sh
chown kai:kai /home/kai/.kde/Autostart/akonadi-start.sh
echo "System: Drucker installieren"
lpadmin -p hp-deskjet-f4180 -v lpd://192.168.2.2/LPRServer -P hp-deskjet-f4180.ppd -o InkType=300GrayscaleK -D "HP Deskjet F4180" -L Wohnzimmer -E
echo "Anpassungen: Plymouth anpassen"
apt-get install --yes v86d hwinfo
touch grubTMP
LINE1='GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"'
LINE1NEU='GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1400x1050-24,mtrr=3,scroll=ywrap"'
LINE2='#GRUB_GFXMODE=640x480'
LINE2NEU='GRUB_GFXMODE=1400x1050'
while read line
do
if [ "$line" = "$LINE1" ]; then
  echo "$LINE1NEU" >> grubTMP
elif [ "$line" = "$LINE2" ]; then
  echo "$LINE2NEU" >> grubTMP
else
  echo "$line" >> grubTMP
fi
done < "/etc/default/grub"
mv grubTMP /etc/default/grub
echo "uvesafb mode_option=1400x1050-24 mtrr=3 scroll=ywrap" >> /etc/initramfs-tools/modules
echo FRAMEBUFFER=y | tee /etc/initramfs-tools/conf.d/splash
update-grub2
update-initramfs -u
echo "Anpassungen: Schriftarten installieren"
apt-get install unzip
wget http://www.gringod.com/wp-upload/MONACO.TTF
wget http://www.proggyfonts.com/download/download_bridge.php?get=ProggySquareSZ.ttf.zip
mkdir -p /usr/local/share/fonts/m
mkdir -p /usr/local/share/fonts/p
mv MONACO.TTF /usr/local/share/fonts/m/
unzip ProggySquareSZ.ttf.zip
mv ProggySquareSZ.ttf /usr/local/share/fonts/p/
chmod -R +r /usr/local/share/fonts
rm Licence.txt

Schließlich noch Dropbox installieren inklusive Anpassungen für Dolphin und alle weiteren Programme, die ich halt so brauche:

echo "Programme: Download und Installation von Dropbox"
wget http://www.dropbox.com/download?plat=lnx.x86_64
tar xzf dropbox-lnx*
mv .dropbox-dist /home/kai/
chown kai:kai /home/kai/.dropbox-dist
rm -f dropbox-lnx*
apt-get --yes install sqlite3 python-m2crypto xdg-utils
wget http://kde-apps.org/CONTENT/content-files/124416-DropboxServiceMenu-0.14.3.tar.gz
tar xzf 124416-DropboxServiceMenu-0.14.3.tar.gz
cd DropboxServiceMenu-0.14.3
./install-it.sh
cd ..
chown -R kai:kai /home/kai/.kde4/
rm -rf DropboxServiceMenu-0.14.3
echo "Programme: Installation von Virtualbox"
wget http://download.virtualbox.org/virtualbox/3.2.6/virtualbox-3.2_3.2.6-63112~Ubuntu~lucid_amd64.deb
dpkg -i virtualbox-3.2*
echo "Programme: Installation von NX-Client"
wget http://64.34.161.181/download/3.4.0/Linux/nxclient_3.4.0-7_x86_64.deb
dpkg -i nxclient_3.4.0-7_x86_64.deb
echo "Programme: Installation von Google Chrome"
wget http://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dpkg -i google-chrome-stable_current_amd64.deb
echo "Installation von weiteren Programmen"
apt-get install --yes pdftk texlive texlive-doc-de texlive-latex-extra texlive-lang-german emacs23 build-essential ffmpeg openvpn network-manager-openvpn network-manager-openvpn-kde eclipse gimp subversion wine idle kdenlive auctex lacheck python-opengl p7zip-full liferea vlc dosbox imagemagick python-psycopg2 traceroute aspell aspell-de aspell-en kubuntu-restricted-extras vim xpdf kaffeine akonadi-kde-resource-googledata audacity easytag p7zip-full skype libsvn-java unrar unzip qbittorrent miro dia googleearth choqok libdvdcss2 w64codecs non-free-codecs nmap git-core sun-java6-jdk sun-java6-bin sun-java6-jre sun-java6-plugin

Das Skript ist sicherlich in die Kategorie “schnell und dreckig” einzuordnen, da sich viele Dinge besser lösen lassen und bestimmte Parameter mit dem Skript übergeben werden sollten, anstatt fest einzukodieren. Vielleicht baue ich das in ein späteres Update noch ein

Bisher 3 Kommentare zu "Das Leid mit Neuinstallationen mindern"

  1. Kommentar von Marco
    9. August 2010 um 21:14

    Cooles Skript, allerdings muss man sich fragen, ob sich Emacs und Eclipse nicht beissen :)

  2. Kommentar von Kai
    9. August 2010 um 21:29

    Einer für die Arbeit und der andere zum arbeiten :p

  3. Kommentar von Kilo
    11. Januar 2011 um 14:31

    Yeah, gef

RSS Feed für Kommentare zu diesem Artikel.  TrackBack URL

Hinterlasse einen Kommentar