Das Leid mit Neuinstallationen mindern
von Kai um 11:27 am Montag, 9. August 2010 in How-To, Linux | 3 KommentareDa 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





Da letzte Woche mein neuer PC hier ankam, wollte ich die Gelegenheit nutzen und Kubuntu (mit KDE in der aktuellen Version 4.4) auf meinem Thinkpad ausprobieren.