Installationshilfe-Skript
Aus Fedorawiki.de
Dieses Script vereinfacht die Installation von fehlenden Multimedia-Funktionen. Den Inhalt des Scriptes in eine Datei kopieren und ausführbar machen. Danach kann das Script ausgeführt werden.
#! /bin/bash
#
# Autor: Sebastian Vahl <deadbabylon@fedoraforum.de>
# Lizenz: GPL
#
# Version: 0.4.0
# Variablendefinition
VERSION=0.4.0
TMPDIR=/tmp/fedoraforum.de-installer
XTERM="xterm -fg white -bg black +sb"
# Urls zu oft ändernden Paketen
url_flash_release=http://linuxdownload.adobe.com/adobe-release/adobe-release-1.0-0.noarch.rpm
url_adobe=ftp://ftp.adobe.com/pub/adobe/reader/unix/7x/7.0.9/deu/AdobeReader_deu-7.0.9-1.i386.rpm
url_livna_6=http://rpm.livna.org/livna-release-6.rpm
url_livna_7=http://rpm.livna.org/livna-release-7.rpm
url_opera=http://netmirror.org/mirror/opera/linux/923/final/en/i386/shared/opera-9.23-20070809.6-shared-qt.i386-en.rpm
url_realplayer=https://helixcommunity.org/download.php/2152/RealPlayer-10.0.8.805-20060718.i586.rpm
url_virtualbox_i586=http://www.virtualbox.org/download/1.4.0/VirtualBox-1.4.0_21864_fedora7-1.i586.rpm.run
url_virtualbox_x86_64=http://www.virtualbox.org/download/1.4.0/VirtualBox-1.4.0_21864_fedora7-1.x86_64.rpm.run
# Versionsnummern (fürs Update)
adobereader_version=7.0.9-1
opera_version=9.21-20070510.6
realplayer_version=10.0.8.805-20060718
virtualbox_version=1.4.0_21864_fedora7-1
# GPG-Keys zur Überprüfung von Signaturen
GPG_LIVNA=/etc/pki/rpm-gpg/RPM-GPG-KEY-livna
GPG_FLASH=http://macromedia.rediris.es/FEDORA-GPG-KEY
############################### kdialog für KDE / zenity für alle anderen ####################
# FIXME: Rausfinden, wie $KDE_FULL_SESSION auch bei consolehelper erhalten bleibt
KDE_FULL_SESSION=NO
# Nutze kdialog, wenn KDE als volle Session läuft
#if [ $KDE_FULL_SESSION = true ];then
# DIALOG=kdialog
# DIALOG_QUESTION="kdialog --yesno"
# ERROR_MESSAGE="kdialog --error"
# INFO_MESSAGE="kdialog --msgbox"
# GETFILENAME="kdialog --getopenfilename $HOME"
# TERMINAL=konsole
# Ansonsten nutze zenity
#else
DIALOG=zenity
DIALOG_QUESTION="zenity --question --text"
ERROR_MESSAGE="zenity --error --text"
INFO_MESSAGE="zenity --info --text"
GETFILENAME="zenity --file-selection"
TERMINAL=gnome-terminal
#fi
############################### Temporäres Verzeichnis anlegen ###############################
mkdir -p $TMPDIR
############################### Begrüßung ########################################
function info_welcome {
# Ein paar Hinweise, die direkt im gestarteten Terminal erscheinen:
echo "DEBUG: Version der Fedoraforum.de-Installationshilfe: $VERSION"
echo "DEBUG: Installationshilfe wurde gestartet von: $USER"
echo ""
echo "DEBUG: In diesem Terminal werden alle Meldungen der durchgeführten Operationen"
echo "DEBUG: angezeigt. Falls etwas nicht funktionieren sollte, finden sich hier"
echo "DEBUG: wahrscheinlich ein paar Hinweise."
echo 'DEBUG: Meldungen, die mit "DEBUG:" eingeleitet werden, kommen dabei direkt'
echo "DEBUG: vom Skript."
echo ""
$INFO_MESSAGE \
"Willkommen zur Installationshilfe von Fedoraforum.de und Fedorawiki.de.
Das folgende Skript soll Einsteigern dabei helfen, schnell und einfach zu einem lauffähigen System mit Multimedia- und Grafikkartenunterstützung zu kommen. Es werden dabei allerdings jeweils nur die einzelnen Schritte aus der jeweiligen Seite im Fedorawiki.de abgearbeitet. Diese ist vor der Installation des jeweiligen Paketes in dem Informationstext mit angegeben und sollte auf jedenfall besucht werden.
ACHTUNG: Dies ist nur für den schnellen Einstieg nach der Installation von Fedora gedacht und geeignet. Es soll dabei keinen Ersatz für yum oder pirut darstellen, sondern lediglich die benötigten Pakete für Multimedia etwas erklären.
Viel Spass mit Fedora
Fedoraforum.de: http://www.fedoraforum.de
Fedorawiki.de: http://www.fedorawiki.de"
# Warnhinweis auf die Entwicklerversion
$ERROR_MESSAGE \
"Achtung, dies ist noch eine Entwicklungsversion. Falls Euer PC danach irgendwelche komischen Sachen macht, kommt nicht zu mir. :)
Bei Aufruf aus dem Menü wird zusätzlich noch ein Terminal aufgerufen, dass im Zweifelsfalle Fehlermeldungen enthält."
}
############################### Auswahlmenü #################################################
function menu {
if [ $DIALOG = kdialog ];then
# FIXME: geometry überprüfen
# Extra-Menü für KDE
AUSWAHL=`kdialog --geometry 600x300 --title "Fedoraforum.de Installationshilfe" --radiolist "Welche Pakete sollen nachinstalliert werden?" \
ATI "ATI - Installation des proprietären Treibers für ATI-Grafikkarten" FALSE \
NVIDIA "NVIDIA - Installation des proprietären Treibers für NVIDIA-Grafikkarten" FALSE \
NTFS "NTFS - Benötigte Pakete zur Einbindung von NTFS-Partitionen" FALSE \
Multimedia-Codecs "Multimedia-Codecs - Benötigte Pakete für Unterstützung von MP3, MPEG2 und anderen" FALSE \
Java "Java - Installation von Suns Java RE" FALSE \
Flash "Flash - Flash-Plugin für Webbrowser (Firefox, Konqueror, Opera)" FALSE \
"Adobe Reader" "Adobe Reader - Installation des Adobe Readers" FALSE \
"Real Player" "Installation des Real Players" FALSE \
Opera "Opera - Der Webbrowser" FALSE \
Virtualbox "Die virtulle Maschine Virtualbox" FALSE \
"Hilfeseiten im Fedorawiki.de" "Hilfe zum Fedoraforum.de-Installer im Fedorawiki.de" FALSE \
WikiDownload "Wiki runterladen" FALSE \
`
else
# Menü für alle anderen
AUSWAHL=`zenity --list --radiolist --width=800 --height=450 --text "Welche Pakete sollen nachinstalliert werden?" --title "Fedoraforum.de Installationshilfe" --column="" --column Punkt --column Beschreibung \
\"\" ATI "Installation des proprietären Treibers für ATI-Grafikkarten" \
\"\" NVIDIA "Installation des proprietären Treibers für NVIDIA-Grafikkarten" \
\"\" NTFS "Benötigte Pakete zur Einbindung von NTFS-Partitionen" \
\"\" Multimedia-Codecs "Benötigte Pakete für Unterstützung von MP3, MPEG2 und anderen" \
\"\" Java "Installation von Suns Java RE" \
\"\" Flash "Flash-Plugin für Webbrowser (Firefox, Konqueror, Opera)" \
\"\" "Adobe Reader" "Installation des Adobe Readers" \
\"\" "Real Player" "Installation des Real Players" \
\"\" Opera "Opera - Der Webbrowser" \
\"\" Virtualbox "Installation der virtuellen Maschine VirtualBox" \
\"\" "Hilfeseiten im Fedorawiki.de" "Hilfe zum Fedoraforum.de-Installer im Fedorawiki.de" \
\"\" "Download des Fedorawiki.de" "Download einer Auswahl von Artikeln des Fedorawiki.de als PDF" \
`
fi
# Auswahl des Folgemenüs
if [ -z "$AUSWAHL" ];then
rm -rf $TMPDIR
echo "Bis zum nächsten Mal."
elif [ "$AUSWAHL" = NVIDIA ];then
install_nvidia
elif [ "$AUSWAHL" = ATI ];then
install_ati
elif [ "$AUSWAHL" = NTFS ];then
install_ntfs
elif [ "$AUSWAHL" = Multimedia-Codecs ];then
install_multimedia_codecs
elif [ "$AUSWAHL" = Java ];then
install_java
elif [ "$AUSWAHL" = Flash ];then
install_flash
elif [ "$AUSWAHL" = "Adobe Reader" ];then
install_adobereader
elif [ "$AUSWAHL" = "Real Player" ];then
install_realplayer
elif [ "$AUSWAHL" = "Opera" ];then
install_opera
elif [ "$AUSWAHL" = "Virtualbox" ];then
install_virtualbox
elif [ "$AUSWAHL" = "Hilfeseiten im Fedorawiki.de" ];then
open_help
elif [ "$AUSWAHL" = "Download des Fedorawiki.de" ];then
wiki_download
fi
}
############################### Check für installierte Pakte ################################
function check_installed {
PAKETNAME=$1
VERSION=none
installed=no
if [ $PAKETNAME = flash ];then
rpm -q flash-plugin adobe-release > /dev/null
if [ $? = 0 ];then
$INFO_MESSAGE "Das Flash-Plugin ist schon installiert. Aktualisierungen werden automatisch über yum/pup eingespielt."
installed=yes
fi
elif [ $PAKETNAME = virtualbox ];then
rpm -q VirtualBox > /dev/null
if [ $? = 0 ];then
$INFO_MESSAGE "Dieses Skript ist noch nicht für eine Aktualisierung von VirtualBox vorgesehen."
installed=yes
fi
else
if [ $PAKETNAME = adobereader ];then PAKETNAME=AdobeReader_deu && VERSION=$adobereader_version;fi
if [ $PAKETNAME = opera ];then VERSION=$opera_version;fi
if [ $PAKETNAME = realplayer ];then PAKETNAME=RealPlayer && VERSION=$realplayer_version;fi
if [ $PAKETNAME = virtualbox ];then PAKETNAME=VirtualBox && VERSION=$virtualbox_version;fi
rpm -q $PAKETNAME > /dev/null
if [ $? = 0 ];then
if [ `rpm -q --qf "%{version}-%{release}\n" $PAKETNAME` = $VERSION ];then
$INFO_MESSAGE "Das Paket $PAKETNAME ist bereits in der aktuellsten Version installiert."
installed=yes
else
$INFO_MESSAGE "Aktualisiere das Paket $PAKETNAME."
fi
fi
fi
}
############################### Hinweis auf längeren Download ###############################
function downloadinfo {
$INFO_MESSAGE \
"Je nach Paketgröße und Geschwindigkeit der Internetanbindung kann der folgende Schritt etwas dauern."
}
############################### Fehlermeldung ################################################
## Erstmal nur ein Platzhalter
function info_error {
# Erstmal nicht viel drin
$ERROR_MESSAGE "Ein Fehler ist aufgetreten. In Zukunft wird hier hoffentlich etwas mehr Information stehen, für den Moment muss aber die Ausgabe im Terminal reichen."
exit 1
}
############################### Livna ########################################################
function install_livna {
$DIALOG_QUESTION \
"Für die Funktionalität dieser Installationshilfe wird das Repository von rpm.livna.org (oder kurz: Livna) benötigt. Damit ist der Zugriff auf verschiedene Multimediapakete möglich, die nicht in Fedora enthalten sind.
Livna sollte dabei nicht mit den anderen Third-Party-Repositories rpmforge und/oder freshrpms kombiniert werden.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Repository
http://fedorawiki.de/index.php/Serverlisten
Achtung: Dadurch, dass der GPG-Key zur Überprüfung der Livna-RPMs sich im noch zu installierenden Release-RPM befindet, erscheint bei der Installation eine Warnung. Diese kann dabei aber ignoriert werden.
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
# Fedora Release überprüfen
if [ `rpm -q --qf "%{version}\n" fedora-release` = 6 ];then
echo "DEBUG: Fedora-Version ist FC6"
url_livna=$url_livna_6
elif [ `rpm -q --qf "%{version}\n" fedora-release` = 7 ];then
echo "DEBUG: Fedora-Version ist F7"
url_livna=$url_livna_7
fi
echo "DEBUG: livna-release herunterladen"
wget -nv -P $TMPDIR "$url_livna" || info_error
system-install-packages $TMPDIR/livna-release-*.rpm
echo "DEBUG: Nochmalige Überprüfung, ob Livna aktiviert ist."
rpm -q livna-release > /dev/null || exit 1
echo "DEBUG: Installation des GPG-Keys von Livna"
rpm --import $GPG_LIVNA
else
echo "Ohne das Repository von Livna ist dieses Skript nicht funktionsfähig."
exit 1
fi
}
############################### ATI #############################
function install_ati {
$DIALOG_QUESTION \
"Im folgenden Schritt wird der proprietäre Treiber von ATI für den aktuellen Kernel installiert.
Nach der Installation ist normalerweise keine weitere Konfiguration nötig - dies erledigt das Paket von alleine. Nach dem nächsten Neustart wird der Treiber dabei automatisch eingebunden.
Heruntergeladen werden dabei drei Pakete: kmod-fglrx, xorg-x11-drv-fglrx und livna-config-display. Diese sind für die Installation notwendig.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Ati
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
# Livna wird benötigt
rpm -q livna-release > /dev/null || install_livna
if [ `rpm -q --qf "%{version}\n" fedora-release` = 7 ];then
$INFO_MESSAGE "Livna bietet momentan leider keine Treiber für ATI-Karten für Fedora 7 an, da diese noch nicht mit Xorg 7.3 funktionieren."
else
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR kmod-fglrx xorg-x11-drv-fglrx livna-config-display || info_error
system-install-packages $TMPDIR/kmod-fglrx*.rpm $TMPDIR/xorg-x11-drv-fglrx*.rpm $TMPDIR/livna-config-display*.rpm
fi
fi
menu
}
############################### Nvidia #############################
function install_nvidia {
$DIALOG_QUESTION \
"Im folgenden Schritt wird der proprietäre Treiber von Nvidia für den aktuellen Kernel installiert. Dieser ist neben der 3D-Beschleunigung auch für die Benutzung von AIGLX und Compiz oder Beryl nötig.
Nach der Installation ist normalerweise keine weitere Konfiguration nötig - dies erledigt das Paket von alleine. Nach dem nächsten Neustart wird der Treiber dabei automatisch eingebunden.
Weitere Hinweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Nvidia-Installation_(yum)
Soll mit der Installation fortgefahren werden?"
if [ $DIALOG = kdialog ];then
# Extra-Menü für KDE
AUSWAHL_NVIDIA=`kdialog --geometry 600x300 --title "Fedoraforum.de Installationshilfe" --radiolist "Welcher Treiber soll installiert werden?" \
nvidia "nvidia - Der normale Treiber für die neueren NVidia-Karten (mit Aiglx-Unterstützung)" FALSE \
nvidia-96xx "nvidia-96xx - Treiber für Geforce 3 und 4 (mit Aiglx-Unterstützung)" FALSE \
nvidia-legacy "nvidia-legacy - Legacy-Treiber von Nvidia für ältere Karten (ohne Aiglx-Unterstützung)" FALSE \
`
else
# Menü für alle anderen
AUSWAHL_NVIDIA=`zenity --list --radiolist --width=700 --height=200 --text "Welcher Treiber soll installiert werden?" --title "Fedoraforum.de Installationshilfe" --column="" --column Punkt --column Beschreibung \
\"\" nvidia "Der normale Treiber für die neueren NVidia-Karten (mit Aiglx-Unterstützung)" \
\"\" nvidia-96xx "Treiber für Geforce 3 und 4 (mit Aiglx-Unterstützung)" \
\"\" nvidia-legacy "Legacy-Treiber von Nvidia für ältere Karten (ohne Aiglx-Unterstützung)" \
`
fi
# Bei Abbruch wirklich abbrechen
if [ $? != 1 ];then
# Livna wird benötigt
rpm -q livna-release > /dev/null || install_livna
if [ $AUSWAHL_NVIDIA = nvidia ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR kmod-nvidia xorg-x11-drv-nvidia livna-config-display || info_error
system-install-packages $TMPDIR/kmod-nvidia-1*.rpm $TMPDIR/xorg-x11-drv-nvidia-1*.rpm $TMPDIR/livna-config-display*.rpm
elif [ $AUSWAHL_NVIDIA = nvidia-96xx ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR kmod-nvidia-96xx xorg-x11-drv-nvidia-96xx livna-config-display || info_error
system-install-packages $TMPDIR/kmod-nvidia-96xx*.rpm $TMPDIR/xorg-x11-drv-nvidia-96xx*.rpm $TMPDIR/livna-config-display*.rpm
elif [ $AUSWAHL_NVIDIA = nvidia-legacy ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR kmod-nvidia-legacy xorg-x11-drv-nvidia-legacy livna-config-display || info_error
system-install-packages $TMPDIR/kmod-nvidia-legacy*.rpm $TMPDIR/xorg-x11-drv-nvidia-legacy*.rpm $TMPDIR/livna-config-display*.rpm
fi
fi
menu
}
############################### NTFS ###############################
function install_ntfs {
# Infotext
$DIALOG_QUESTION \
"Um Zugriff auf NTFS-Partitionen zu bekommen, sind zwei Wege möglich:
- kmod-ntfs
- ntfs-3g
kmod-ntfs stellt ein Kernelmodul bereit, welches ausschließlich lesenden Zugriff auf NTFS-Partitionen erlaubt, ntfs-3g ermöglicht auch das Beschreiben
In beiden Fällen muss danach die Datei /etc/fstab händisch angepasst werden, damit die NTFS-Partition auch beim Systemstart eingebunden werden können.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/NTFS
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
# Livna wird benötigt
rpm -q livna-release > /dev/null || install_livna
# check ob eines von beiden schon installiert ist
rpm -q kmod-ntfs > /dev/null && NTFS_RPM=kmod-ntfs
rpm -q ntfs-3g > /dev/null && NTFS_RPM=ntfs-3g
if [ $NTFS_RPM ]; then
$ERROR_MESSAGE \
"Das Paket $NTFS_RPM stellt schon die Möglichkeiten für das Einbinden von NTFS-Partitionen bereit. Es ist dabei nicht empfohlen, beide Pakete gleichzeitig installiert zu haben.
Falls das andere Paket installiert werden soll, muss $NTFS_RPM vorher über den Paketmanager entfernt werden."
else
# Paket auswählen lassen
AUSWAHL_NTFS=`zenity --list --radiolist --width=450 --height=200 --title "NTFS-Variante auswählen" --column=aktiv --column=Paketname --column=Beschreibung \
\"\" kmod-ntfs "nur Lesezugriff" \
\"\" ntfs-3g "Lese- und Schreibzugriff"
`
# Extra Abfrage, ob AUSWAHL_NTFS gefüllt ist, um Fehler bei Abbruch zu vermeiden
if [ $? = 0 ];then
if [ $AUSWAHL_NTFS = kmod-ntfs ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR kmod-ntfs ntfs-kmod-common || info_error
system-install-packages $TMPDIR/kmod-ntfs-*.rpm $TMPDIR/ntfs-kmod-common*.rpm
elif [ $AUSWAHL_NTFS = ntfs-3g ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR ntfs-3g || info_error
system-install-packages $TMPDIR/ntfs-3g*.rpm
fi
fi
fi
fi
menu
}
############################### Multimedia-Codecs ###############################
function install_multimedia_codecs {
$DIALOG_QUESTION \
"Fedora kommt von Haus aus ohne Unterstützung für MP3 und andere Multimediacodecs, die entweder nicht frei oder patentbelastet sind. Für die meisten Programme gibt es jedoch Plugins, durch die diese Funktionalität nachgerüstet werden kann. Die Installation dieser Plugins wird hier angeboten.
Weitere Hinweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Fehlende_Multimediafunktionen_nachrüsten
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
# Livna wird benötigt
rpm -q livna-release > /dev/null || install_livna
# Test, ob Paket schon installiert ist
rpm -q audacious-plugins-nonfree-aac > /dev/null && AUDACIOUS_AAC="[bereits installiert]"
rpm -q audacious-plugins-nonfree-alac > /dev/null && AUDACIOUS_ALAC="[bereits installiert]"
rpm -q audacious-plugins-nonfree-lame > /dev/null && AUDACIOUS_LAME="[bereits installiert]"
rpm -q audacious-plugins-nonfree-mms > /dev/null && AUDACIOUS_MMS="[bereits installiert]"
rpm -q audacious-plugins-nonfree-mp3 > /dev/null && AUDACIOUS_MP3="[bereits installiert]"
rpm -q audacious-plugins-nonfree-tta > /dev/null && AUDACIOUS_TTA="[bereits installiert]"
rpm -q audacious-plugins-nonfree-wma > /dev/null && AUDACIOUS_WMA="[bereits installiert]"
rpm -q gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg > /dev/null && GSTREAMER="[bereits installiert]"
rpm -q gstreamer-plugins-ugly > /dev/null && GSTREAMER_UGLY="[bereits installiert]"
rpm -q k3b-extras-nonfree > /dev/null && K3B="[bereits installiert]"
rpm -q kdemultimedia-extras-nonfree > /dev/null && KDEMULTIMEDIA="[bereits installiert]"
rpm -q lame > /dev/null && LAME="[bereits installiert]"
rpm -q totem-xine > /dev/null && TOTEM_XINE_INSTALLED="[bereits installiert]"
rpm -q xine-lib-extras-nonfree > /dev/null && XINE="[bereits installiert]"
rpm -q xmms-mp3 > /dev/null && XMMS="[bereits installiert]"
# Auswahl des/der zu installierenden Pakete(s)
if [ $DIALOG = kdialog ];then
# FIXME: geometry überprüfen
# Extra-Menü für KDE
AUSWAHL_MULTIMEDIA_CODECS=`kdialog --geometry 800x300 --title "Fedoraforum.de Installationshilfe" --checklist "Erweiterungspaket für Multimedia auswählen" --separate-output \
audacious-plugins-nonfree-aac "Abspielen von AAC-Dateien in audacious $AUDACIOUS_AAC" FALSE \
audacious-plugins-nonfree-alac "Abspielen von ALAC-Dateien (Apple Lossless Audio Codec) für audacious $AUDACIOUS_ALAC" FALSE \
audacious-plugins-nonfree-lame "MP3s schreiben mit audacious $AUDACIOUS_MP3" FALSE \
audacious-plugins-nonfree-mms "Abspielen von MMS-Streams in audacious $AUDACIOUS_MP3" FALSE \
audacious-plugins-nonfree-mp3 "Abspielen von MP3-Dateien in audacious $AUDACIOUS_MP3" FALSE \
audacious-plugins-nonfree-tta "Abspielen von TTA-Dateien in audacious $AUDACIOUS_MP3" FALSE \
audacious-plugins-nonfree-wma "WMA für audacious $AUDACIOUS_WMA" FALSE \
gstreamer-plugins "Weitere Codecs (MP3, MPEG2, Quicktime) für die u.a. von totem und rhythmbox genutzte gstreamer-Engine" FALSE \
k3b-extras-nonfree "k3b-extras-nonfree - Direktes Brennen von MP3s für k3b $K3B" FALSE \
kdemultimedia-extras-nonfree "kdemultimedia-extras-nonfree - Weitere MP3-Unterstützung für KDE-Programme $KDEMULTIMEDIA" FALSE \
lame "lame - Der MP3-Encoder lame $LAME" FALSE \
xine-lib-extras-nonfree "xine-lib-extras-nonfree - MP3 und weitere für xine (und damit amarok, kaffeine und andere) $XINE" FALSE \
xmms-mp3 "MP3-Unterstützung für den Dinosaurier $XMMS" FALSE
`
else
# Menü für alle anderen
AUSWAHL_MULTIMEDIA_CODECS=`zenity --list --separator=" " --checklist --width=1000 --height=500 --title "Erweiterungspakete für Multimedia auswählen (Mehrfachauswahl möglich)" --column="" --column=Paketname --column=Beschreibung \
\"\" audacious-plugins-nonfree-aac "Abspielen von AAC-Dateien in audacious $AUDACIOUS_AAC" \
\"\" audacious-plugins-nonfree-alac "Abspielen von ALAC-Dateien (Apple Lossless Audio Codec) für audacious $AUDACIOUS_ALAC" \
\"\" audacious-plugins-nonfree-lame "MP3s schreiben mit audacious $AUDACIOUS_MP3" \
\"\" audacious-plugins-nonfree-mms "Abspielen von MMS-Streams in audacious $AUDACIOUS_MP3" \
\"\" audacious-plugins-nonfree-mp3 "Abspielen von MP3-Dateien in audacious $AUDACIOUS_MP3" \
\"\" audacious-plugins-nonfree-tta "Abspielen von TTA-Dateien in audacious $AUDACIOUS_MP3" \
\"\" audacious-plugins-nonfree-wma "WMA für audacious $AUDACIOUS_WMA" \
\"\" gstreamer-plugins "Weitere Codecs (MP3, MPEG2, Quicktime) für die u.a. von totem und rhythmbox genutzte gstreamer-Engine $GSTREAMER" \
\"\" k3b-extras-nonfree "Direktes Brennen von MP3s in k3b $K3B" \
\"\" kdemultimedia-extras-nonfree "Weitere MP3-Unterstützung für KDE-Programme $KDEMULTIMEDIA" \
\"\" lame "Der MP3-Encoder lame $LAME" \
\"\" totem-xine "Totem mit der xine-lib anstatt gstreamer $TOTEM_XINE_INSTALLED" \
\"\" xine-lib-extras-nonfree "MP3 und weitere für xine (und damit amarok, kaffeine und andere) $XINE" \
\"\" xmms-mp3 "MP3-Unterstützung für den Dinosaurier $XMMS"
`
fi
# Bei Abbruch wirklich abbrechen
if [ $? != 1 ];then
# Zuerst einmal alle evtl. existierenden Pakete ohne Rücksicht löschen und das Verzeichnis neu anlegen
rm -rf $TMPDIR/MP3
mkdir -p $TMPDIR/MP3
# Ein riesen Aufwand um totem durch totem-xine zu ersetzen.
CHECK_RPMDB=no
TOTEM=no
TOTEM_PLPARSER=no
TOTEM_XINE=no
TOTEM_DEVEL=no
TOTEM_MOZPLUGIN=no
echo "$AUSWAHL_MULTIMEDIA_CODECS" | grep totem-xine > /dev/null && TOTEM_XINE=yes
if [ $TOTEM_XINE = yes ];then
echo "DEBUG: totem-xine soll installiert werden. Prüfe, ob totem schon installiert ist."
rpm -q totem > /dev/null && TOTEM=yes && echo "DEBUG: totem ist schon installiert."
echo "DEBUG: totem-xine soll installiert werden. Prüfe, ob totem-plparser allein installiert ist."
rpm -q totem-plparser > /dev/null && TOTEM_PLPARSER=yes && echo "DEBUG: totem-plparser ist schon installiert."
if [ $TOTEM = yes -o $TOTEM_PLPARSER = yes ];then
echo "DEBUG: totem und/oder totem-plparser ist installiert und soll durch totem-xine/totem-xine-plparser ersetzt werden. Nachfragen."
$DIALOG_QUESTION \
"Das Paket totem-xine/totem-xine-plparser steht mit dem normalen Paket totem/totem-plparser in Konflikt. Daher wird dieses vorher entfernt werden. Um kein defektes Paketsystem zu riskieren, kann eine Installation nur erfolgen, wenn keine weiteren Pakete vom installierten totem/totem-plparser abhängig sind.
Soll trotzdem mit der Installation von totem-xine fortgefahren werden?"
if [ $? = 0 ];then
# Fülle $TOTEM_PAKETE
TOTEM_PAKETE=
rpm -q totem-plparser > /dev/null && TOTEM_PAKETE=totem-plparser
rpm -q totem > /dev/null && TOTEM_PAKETE="$TOTEM_PAKETE totem"
# Prüfe, ob zusätzlich noch totem-devel und totem-mozplugin installiert sind
rpm -q totem-devel > /dev/null && TOTEM_PAKETE="$TOTEM_PAKETE totem-devel" && TOTEM_DEVEL=yes
rpm -q totem-mozplugin > /dev/null && TOTEM_PAKETE="$TOTEM_PAKETE totem-mozplugin" && TOTEM_MOZPLUGIN=yes
echo "DEBUG: Versuche, die folgenden Pakete zu entfernen: $TOTEM_PAKETE"
rpm -e $TOTEM_PAKETE
if [ $? != 0 ];then
# FIXME: Wollen wir das wirklich?
$DIALOG_QUESTION \
"totem und/oder totem-plparser konnten leider nicht entfernt werden. Wenn trotzdem fortgefahren werden soll, wird versucht, totem/totem-plparser mit der Option --nodeps zu entfernen.
HINWEIS: Mit den gstreamer-plugins ist es auch bei dem normalen totem möglich, die meisten Multimediadateien abzuspielen. totem-xine bietet dabei nur den Vorteil, eine andere Engine zu nutzen.
ACHTUNG: Dieses kann das Paketsystem inkonsistent machen und wird nur erfahrenen Benutzern empfohlen. Das Fortfahren geschieht auf eigene Gefahr!
ACHTUNG: Die Installation darf später nicht abgebrochen werden!
Soll totem trotzdem ersetzt werden?"
if [ $? = 0 ];then
echo "DEBUG: Reiße folgende Pakete aus dem Paketsystem heraus: $TOTEM_PAKETE"
rpm -e --nodeps $TOTEM_PAKETE
# Prüfe im Anschluss die Paketdatenbank auf Inkonsistenz
CHECK_RPMDB=yes
# Füge totem-xine-plparser und xine-lib-extras-nonfree zur Auswahl hinzu (wird sowieso immer gebraucht)
echo "DEBUG: Füge totem-xine-plparser zur Auswahl hinzu (nur F7)."
AUSWAHL_MULTIMEDIA_CODECS="`echo $AUSWAHL_MULTIMEDIA_CODECS | sed 's/totem-xine/totem-xine totem-xine-plparser/g'`"
if [ -z "$XINE" ];then
echo "DEBUG: Füge ebenfalls xine-lib-extras-nonfree hinzu."
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS xine-lib-extras-nonfree"
fi
# Falls totem-devel installiert war, installiere totem-xine-devel
if [ $TOTEM_DEVEL = yes ];then
echo "DEBUG: Installiere ebenfalls totem-xine-devel"
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS totem-xine-devel"
fi
# Falls totem-mozplugin installiert war, installiere totem-xine-mozplugin
if [ $TOTEM_MOZPLUGIN = yes ];then
echo "DEBUG: Installiere ebenfalls totem-xine-mozplugin"
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS totem-xine-mozplugin"
fi
else
# Installation von totem-xine abgewählt, da --nodeps nicht erwünscht
echo "DEBUG: Entferne totem-xine aus der Auswahl."
$INFO_MESSAGE "totem-xine wurde aus der Auswahl entfernt. Fahre mit der restlichen Auswahl fort."
AUSWAHL_MULTIMEDIA_CODECS="`echo $AUSWAHL_MULTIMEDIA_CODECS | sed 's/totem-xine//g'`"
fi
else
# totem/totem-plparser ließ sich normal entfernen
# Füge totem-xine-plparser zur Auswahl hinzu (wird sowieso immer gebraucht)
echo "DEBUG: Füge totem-xine-plparser zur Auswahl hinzu (nur F7)."
AUSWAHL_MULTIMEDIA_CODECS="`echo $AUSWAHL_MULTIMEDIA_CODECS | sed 's/totem-xine/totem-xine totem-xine-plparser/g'`"
if [ -z "$XINE" ];then
echo "DEBUG: Füge ebenfalls xine-lib-extras-nonfree hinzu."
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS xine-lib-extras-nonfree"
fi
# Falls totem-devel installiert war, installiere totem-xine-devel
if [ $TOTEM_DEVEL = yes ];then
echo "DEBUG: Installiere ebenfalls totem-xine-devel"
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS totem-xine-devel"
fi
# Falls totem-mozplugin installiert war, installiere totem-xine-mozplugin
if [ $TOTEM_MOZPLUGIN = yes ];then
echo "DEBUG: Installiere ebenfalls totem-xine-mozplugin"
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS totem-xine-mozplugin"
fi
fi
else
# Installation von totem-xine abgewählt, da generelle Deinstallation nicht gewünscht
echo "DEBUG: Entferne totem-xine aus der Auswahl."
$INFO_MESSAGE "totem-xine wurde aus der Auswahl entfernt. Fahre mit der restlichen Auswahl fort."
AUSWAHL_MULTIMEDIA_CODECS="`echo $AUSWAHL_MULTIMEDIA_CODECS | sed 's/totem-xine//g'`"
fi
elif [ $TOTEM = no -a $TOTEM_PLPARSER = no ];then
# totem und totem-plparser waren nicht installiert. Installation ist also problemlos
echo "DEBUG: totem und totem-plparser sind nicht installiert."
echo "DEBUG: Füge totem-xine-plparser Auswahl hinzu (nur F7)."
AUSWAHL_MULTIMEDIA_CODECS="`echo $AUSWAHL_MULTIMEDIA_CODECS | sed 's/totem-xine/totem-xine totem-xine-plparser/g'`"
# Falls xine-lib-extras-nonfree noch nicht installiert ist, füge es ebenfalls hinzu
if [ -z "$XINE" ];then
echo "DEBUG: Füge ebenfalls xine-lib-extras-nonfree hinzu."
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS xine-lib-extras-nonfree"
fi
fi
fi
# gstreamer-plugins aufsplitten
echo "$AUSWAHL_MULTIMEDIA_CODECS" | grep gstreamer-plugins > /dev/null
if [ $? = 0 ];then
GSTREAMER_PLUGINS=
rpm -q gstreamer-ffmpeg > /dev/null || GSTREAMER_PLUGINS=gstreamer-ffmpeg
rpm -q gstreamer-plugins-bad > /dev/null || GSTREAMER_PLUGINS="$GSTREAMER_PLUGINS gstreamer-plugins-bad"
rpm -q gstreamer-plugins-ugly > /dev/null || GSTREAMER_PLUGINS="$GSTREAMER_PLUGINS gstreamer-plugins-ugly"
AUSWAHL_MULTIMEDIA_CODECS="$AUSWAHL_MULTIMEDIA_CODECS $GSTREAMER_PLUGINS"
echo "DEBUG: Installiere nur fehlende gstreamer-plugins: $GSTREAMER_PLUGINS"
fi
# Mache nur weiter, wenn etwas ausgewählt wurde
if [ "$AUSWAHL_MULTIMEDIA_CODECS" ];then
echo "DEBUG: Lade Paketauswahl mit yumdownloader herunter."
yumdownloader --destdir=$TMPDIR/MP3 $AUSWAHL_MULTIMEDIA_CODECS || info_error
system-install-packages $TMPDIR/MP3/*.rpm
# Prüfe Paketdatenbank mit package-cleanup, falls das angefragt wurde
if [ $CHECK_RPMDB = yes ];then
$INFO_MESSAGE \
"Durch das Herausreißen von totem aus der Paketdatenbank kann diese inkonsistent geworden sein. Dieses wird nun mithilfe von package-cleanup überprüft. Das Ergebnis davon findet sich im geöffneten Terminal.
Falls dabei fehlende Abhängigkeiten auftreten, kann mit yum danach gesucht werden:
yum provides libtotem-plparser.so.1
Eines der dort angezeigten Pakete sollte dann installiert werden:
(Fedora 7): yum install totem-plparser
(Fedora 6): yum install totem
"
echo "DEBUG: Prüfe Paketdatenbank auf Inkonsistenz."
package-cleanup --problems
fi
# Scheinbar ist nichts mehr ausgewählt
else
echo "DEBUG: Diese Meldung kommt, wenn nur totem-xine ausgewählt wurde, diese aber nicht installiert werden soll."
$INFO_MESSAGE "Keine Pakete mehr ausgewählt. Zurück zum Menü."
fi
fi
fi
menu
}
############################### Java ###############################
function install_java {
$DIALOG_QUESTION \
"Fedora bringt keine Installationsquelle für das Java von Sun mit. Dieses wurde aus lizenzrechtlichen Gründen bisher nicht in die Distribution integriert. Alle in Fedora enthaltenen Javaprogramme laufen dabei mit dem unter der GPL stehenden gcj - einer freien Nachbildung von Suns Java.
Hier wird der Tarball von Suns Java installiert und so konfiguriert, dass er die gcj-Implementation ersetzt.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Java_Runtime_Environment
ACHTUNG: Es ist leider kein direkter automatischer Download möglich, deswegen müsst Ihr es selbst von der Downloadseite von Sun herunterladen. Geht dazu auf die unten angegebene Seite und wählt das Paket für i386 oder x64 aus. Wenn Ihr in diesem Hinweisfenster auf OK klickt, öffnet sich ein Dateidialog, bei dem Ihr das heruntergeladene Paket auswählen müsst. Der Rest geschieht dann (fast) von alleine.
Downloadseite von Sun:
http://java.com/de/download/linux_manual.jsp
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
# Downloadseite öffnen
# FIXME: Gibt es eine Möglichkeit, dieses als User und nicht als root zu machen?
$DIALOG_QUESTION \
"Soll die Downloadseite von Sun jetzt in einem Browser geöffnet werden?"
if [ $? = 0 ]; then
if [ -x /usr/bin/xdg-open ]; then
xdg-open http://java.com/de/download/linux_manual.jsp
elif [ -x /usr/bin/htmlview ];then
htmlview http://java.com/de/download/linux_manual.jsp
elif [ -x /usr/bin/firefox ];then
firefox http://java.com/de/download/linux_manual.jsp
else
$ERROR_MESSAGE "Browser konnte nicht gefunden werden."
fi
fi
# Dateiname und Versionsnummer bestimmen
JAVA=`$GETFILENAME`
#JAVA_VERSION=`echo $JAVA | cut -d \- -f 2 | sed 's/_/./1' | sed 's/_/./1'`
# Totalabbruch, da es scheinbar keine Möglichkeit eines "breaks" gibt
if [ -z $JAVA ];then
$ERROR_MESSAGE "Keine Datei ausgewählt. Dieses Skript wird jetzt beendet."
exit 1
fi
$INFO_MESSAGE \
'In dem geöffneten Terminal wird der Lizenztext von Suns Java angezeigt, den Ihr bis zum Ende durchlesen und mit der Eingabe von "yes" bestätigen müsst. Die Rest geschieht dann automatisch.'
# Archiv extrahieren
cd /opt/ && sh $JAVA
# Variable $JAVA_DIR für später anlegen // FIXME: ordentlich machen
export JAVA_DIR_TMP=`find /opt -name "jre*" -type d`
echo "DEBUG: JAVA_DIR_TMP: $JAVA_DIR_TMP"
export JAVA_DIR=`echo $JAVA_DIR_TMP | awk ' { print $1 } '`
echo "DEBUG: JAVA_DIR: $JAVA_DIR"
# Profil anlegen
echo "DEBUG: Profildatei für Java anlegen"
echo "export J2RE_HOME=$JAVA_DIR" > /etc/profile.d/java.sh
echo 'export PATH=$J2RE_HOME/bin:$PATH' >> /etc/profile.d/java.sh
source /etc/profile.d/java.sh
# Alternatives konfigurieren
echo "DEBUG: Konfiguriere das Alternatives-System"
/usr/sbin/alternatives --install /usr/bin/java java $JAVA_DIR/bin/java 2
/usr/sbin/alternatives --set java $JAVA_DIR/bin/java
# Falls 64bit, keine Installation des Browser-Plugins
if [ `rpm -q --queryformat "%{arch}\n" firefox | head -n 1` = i386 ]; then
echo "DEBUG: Browserplugin verlinken"
ln -sf /opt/jre$JAVA_VERSION/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so
fi
echo "DEBUG: Teste auf Java-Version"
java -version
if [ $? = 0 ];then
$INFO_MESSAGE 'Java wurde scheinbar erfolgreich installiert.'
else
$ERROR_MESSAGE "Irgendetwas ist schief gegangen. Im geöffneten Terminal stehen ein paar mehr Informationen."
fi
fi
menu
}
############################### Flash ###############################
function install_flash {
check_installed flash
if [ $installed = no ]; then
$DIALOG_QUESTION \
"Im folgenden Schritt wird das Flash-Plugin von Macromedia für die gängigen Webbrowser installiert.
Das Flash-Plugin ist dabei allerdings nur für die Architektur i386 verfügbar. Wer eine 64bit-Version oder die PPC-Variante von Fedora verwendet, muss leider auf Flash verzichten.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Flash
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
echo "DEBUG: Installiere Flash-Repository von Macromedia"
rpm -Uvh "$url_flash_release" || info_error
echo "DEBUG: Importiere GPG-Key für Flash-Plugin"
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux || info error
echo "DEBUG: Lade RPM für das flash-plugin aus dem Repository von Macromedia herunter"
yumdownloader --destdir=$TMPDIR flash-plugin
system-install-packages $TMPDIR/flash-plugin-*.rpm
fi
fi
menu
}
############################### Adobe Reader ###############################
function install_adobereader {
check_installed adobereader
if [ $installed = no ];then
$DIALOG_QUESTION \
"Im folgenden Schritt wird der Adobe Reader installiert.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/Fehlende_Multimediafunktionen_nachrüsten#Adobe_Reader
ACHTUNG: Da das RPM vom Adobe Reader nicht signiert ist, wird bei der Installation eine Warnung erscheinen.
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
echo "DEBUG: Lade Adobe Reader herunter"
wget -P $TMPDIR "$url_adobe"
system-install-packages $TMPDIR/AdobeReader*.rpm
fi
fi
menu
}
############################### Real Player ###############################
function install_realplayer {
check_installed realplayer
if [ $installed = no ];then
$DIALOG_QUESTION \
"Im folgenden Schritt wird der Real Player installiert.
Weitere Hnweise finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/RealPlayer
ACHTUNG: Da das RPM vom Real Player nicht signiert ist, wird bei der Installation eine Warnung erscheinen.
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
echo "DEBUG: Lade Real Player herunter"
# irgendwie wird das RPM manchmal nicht ins $TMPDIR heruntergeladen, umgehe dies //FIXME
cd $TMPDIR
wget -P $TMPDIR "$url_realplayer"
cd $OLDPWD
system-install-packages $TMPDIR/RealPlayer*.rpm
fi
fi
menu
}
############################### Opera ###############################
function install_opera {
check_installed opera
if [ $installed = no ]; then
$DIALOG_QUESTION \
"Im folgenden Schritt wird der proprietäre Webbrowser Opera installiert.
ACHTUNG: Da das RPM von Opera nicht signiert ist, wird bei der Installation eine Warnung erscheinen.
Soll mit der Installation fortgefahren werden?"
if [ $? = 0 ];then
echo "DEBUG: Lade Opera herunter"
wget -P $TMPDIR "$url_opera"
system-install-packages $TMPDIR/opera-*.rpm
fi
fi
menu
}
############################### Virtualbox ###############################
function install_virtualbox {
check_installed virtualbox
if [ $installed = no ]; then
$DIALOG_QUESTION \
"VirtualBox ist eine sogenannte virtuelle Maschine, die das Ausführen von fremden Betriebssystemen im laufenden Betrieb durch Emulation einer Hardwareschicht erlaubt. Als Gastsysteme werden neben den verschiedenen Linuxdistributionen auch Windows unterstützt.
Hier wird das fertige RPM für VirtualBox installiert, das im Gegensatz zu der nur im Quelltext vorliegenden Open Source Edition (OSE) unter einer proprietären Lizenz steht. Im geöffneten Terminal erscheint dabei die Lizenz, die am Ende mit [yes] bestätigt werden muss.
ACHTUNG: Da das RPM von VirtualBox nicht signiert ist, wird bei der Installation eine Warnung erscheinen.
Weitere Informationen zu der Installation von VirtualBox finden sich im deutschen Fedorawiki:
http://fedorawiki.de/index.php/VirtualBox
Soll mit der Installation von VirtualBox fortgefahren werden?"
if [ $? = 0 ];then
echo "DEBUG: Lade Virtualbox herunter"
ARCH=`rpm -q --qf "%{arch}\n" kernel`
if [ $ARCH = i686 -o $ARCH = i586 ];then
wget -P $TMPDIR "$url_virtualbox_i586"
elif [ $ARCH = x86_64 ];then
wget -P $TMPDIR "$url_virtualbox_x86_64"
fi
echo "DEBUG: Entpache RPM."
cd $TMPDIR
sh VirtualBox-*.rpm.run
cd $OLDPWD
system-install-packages $TMPDIR/VirtualBox-*.rpm
if [ $? = 0 ];then
$DIALOG_QUESTION \
'Im nächsten Schritt müssen die Benutzer, die Virtual Box benutzen sollen, zur Gruppe "vboxusers" hinzugefügt werden.
Falls noch nicht vorhanden, wird die Gruppe dabei auch gleich angelegt.
Die Benutzer müssen dann anhand ihres Benutzernamens im folgenden Dialog angegeben werden. Der Benutzer, der die Fedoraforum.de-Installationshilfe gestartet hat ist dabei schon eingetragen, weitere müssen, getrennt durch ein Leerzeichen, angegeben werden. Anschließend müssen sich diese Benutzer neu anmelden, um die Gruppenzugehörigkeit zu aktualisieren.
Falls auf "Abbrechen" gedrückt wird, wird das Anlegen der Gruppe und das Hinzufügen der Benutzers übersprungen und die Installation von Virtualbox ist abgeschlossen (obwohl es wahrscheinlich ohne weitere Konfiguration nicht benutzbar ist).'
if [ $? = 0 ];then
# Schauen, ob Gruppe "vboxusers" existiert, falls nicht, anlegen
grep vboxusers /etc/group > /dev/null
if [ $? = 1 ];then
echo "DEBUG: Anlegen der Gruppe vboxusers"
groupadd vboxusers
fi
# Benutzer zur Gruppe vboxusers hinzufügen
VBOXUSERS=`zenity --entry --text="Benutzernamen eingeben, die zur Gruppe vboxusers hinzugefügt werden sollen" --entry-text=$USER`
for users in $VBOXUSERS; do
echo "DEBUG: Füge folgenden Benutzer zur Gruppe vboxusers hinzu: $users"
lgroupmod -M $users vboxusers
done
fi
# Kernelmodul
if [ ! -e /lib/modules/`uname -r`/misc/vboxdrv.ko ];then
echo "DEBUG: Prüfe, ob die für das Compilieren des Kernelmoduls nötigen Pakete installiert sind."
rpm -q gcc gcc-c++ kernel-devel > /dev/null
if [ $? != 0 ];then
echo "DEBUG: Installiere die Pakete gcc gcc-c++ kernel-devel"
echo "DEBUG: Schon installierte Pakete werden dabei nicht nochmals installiert."
yum -y install gcc gcc-c++ kernel-devel
fi
echo "DEBUG: Compiliere das Kernelmodul für VirtualBox."
/etc/init.d/vboxdrv setup
else
echo "DEBUG: Starte den Systemdienst für VirtualBox."
/etc/init.d/vboxdrv start
fi
fi
echo "DEBUG: Installation abgeschlossen."
fi
fi
menu
}
function wiki_download {
$DIALOG_QUESTION \
"Im Fedorawiki.de besteht die Möglichkeit, einzelne Seiten als PDF-Dateien herunterzuladen. Die Fedoraforum.de-Installationshilfe bietet dabei an, einzelne, ausgewählte Seiten in einem Ordner nach Wahl herunterzuladen.
Wird Fortgefahren, wird nach dem Ordner gefragt, in den die PDF-Dateien heruntergeladen werden. Es wird innerhalb dieses Ordners dabei eine Ordnerstruktur erstellt, die an die Übersichtsseiten des Fedorawiki.de angelehnt ist.
Sollen die Artikel heruntergeladen werden?"
if [ $? = 0 ];then
cd /home/$USER
DOWNLOADDIR=`zenity --file-selection --directory`
### pdf-wiki.sh
# Variablen
URL="http://fedorawiki.de/index.php?title=Spezial:PdfPrint&page="
WORKDIR="$DOWNLOADDIR"
# Installation und Systemupgrade (0-20)
page[0]=Fedora_für_Umsteiger
page[1]=Download_von_Fedora
page[2]=Fedora_7
page[3]=Fedora_Core_6
page[4]=Fedora_7-LiveCDs
page[5]="Installation_über_http/ftp"
page[6]=Systemupgrade_über_yum
page[7]=Systemupgrade_über_anaconda
page[8]=Boot-Optionen_für_die_Installation
page[9]=Partitionierung_unter_Linux
page[10]=Linux-Partitionen
page[11]=Windows-Partitionen_mounten
page[12]=NTFS
page[13]=GRUB-Wiederherstellung
page[14]=Dualboot_mit_Windows
page[15]=Fehlende_Multimediafunktionen_nachrüsten
page[16]=Fedora_ISO-Images_unter_Windows_brennen
# Hardware und Treiber (21-40)
page[21]=NVIDIA
page[22]="Nvidia-Installation_(yum)"
page[23]="Nvidia-Installation_(manuell)"
page[24]=ATI
page[25]=SATA
page[26]=WLAN
page[27]=Atheros_Karten
page[28]=Intel_Pro_Wireless_Adapter
page[29]=RaLink_WLAN-Karten
page[30]=Texas_Instruments
page[31]=Zydas_ZD1211_USB_WLAN-Adapter
page[32]=WLAN-Karten_mit_ndiswrapper
page[35]=Übersicht_WLAN-Chipsätze
# Paketverwaltung (41-60)
page[41]=Installation_von_Software_unter_Fedora
page[42]=Yum
page[43]=Pirut
page[44]=RPMs_manuell_installieren
page[45]=Update
page[46]=Repository
page[47]=Kompatibilität_der_verschiedenen_Repositories
page[48]=Liste_der_Repositories
page[49]=Yum_mit_Proxy
page[50]="Pakete_in_Repositories_explizit_ausschließen/einschließen"
page[51]=Yum-Plugins
page[52]=Yum-utils
# System (61-80)
page[61]=Grub-rhgb
page[62]=Systemtools
page[63]=Programme_automatisch_starten
page[64]=Reboots_unter_Linux
page[65]=Gnome-Mount
page[66]=Bash
page[67]=Nano
page[68]=Pfade_anpassen
page[69]=Root
# Netzwerk und Server (81-100)
page[81]=NFS
page[82]=SAMBA
page[83]=Samba_Freigaben_anlegen
page[84]=Samba_Freigaben_einbinden
page[85]=Einrichtung_eines_Funknetzwerks_unter_Fedora
page[86]=Wpa_supplicant
page[87]=Router
# Sicherheit (101-120)
# Grafische Oberfläche (121-140)
page[121]=Wechsel_des_Standarddesktops_und_Loginmanagers
# Weiteres (141-200)
page[199]=Fedoraforum.de-Installationshilfe
page[200]=Workarounds
if [ -d "$WORKDIR" ];then
# Ins Arbeitsverzeichnis wechseln
cd "$WORKDIR"
# Index auf 0 setzen
i=0
# $count setzen für die Prozentzahl im Progressdialog von zenity
count=1
# Gesamtzahl der Seiten einlesen
pages=${#page[@]}
echo "DEBUG: Downloadverzeichnis für die PDF-Dateien: $WORKDIR"
echo "DEBUG: Anzahl der herunterzuladenen PDF-Dateien: $pages"
# Starte zenity mit Progressbar
exec 3> >(zenity --progress --title="Download des Fedorawiki.de" --percentage=0 --auto-close --width=400)
# Schleife zum herunterladen
while [ $i -le 200 ]
do
if [ "${page[$i]}" ]; then
# Wechsle ins richtige Verzeichnis
if [ $i -ge 0 -a $i -le 20 ];then
echo "# Artikel des Bereichs: Installation und Systemupgrade" >&3;
mkdir -p "$WORKDIR/Installation und Systemupgrade"
cd "$WORKDIR/Installation und Systemupgrade"
elif [ $i -ge 21 -a $i -le 40 ];then
echo "# Artikel des Bereichs: Hardware und Treiber" >&3;
mkdir -p "$WORKDIR/Hardware und Treiber"
cd "$WORKDIR/Hardware und Treiber"
elif [ $i -ge 41 -a $i -le 60 ];then
echo "# Artikel des Bereichs: Paketverwaltung" >&3;
mkdir -p "$WORKDIR/Paketverwaltung"
cd "$WORKDIR/Paketverwaltung"
elif [ $i -ge 61 -a $i -le 80 ];then
echo "# Artikel des Bereichs: System" >&3;
mkdir -p "$WORKDIR/System"
cd "$WORKDIR/System"
elif [ $i -ge 81 -a $i -le 100 ];then
echo "# Artikel des Bereichs: Netzwerk und Server" >&3;
mkdir -p "$WORKDIR/Netzwerk und Server"
cd "$WORKDIR/Netzwerk und Server"
elif [ $i -ge 101 -a $i -le 120 ];then
echo "# Artikel des Bereichs: Sicherheit" >&3;
mkdir -p "$WORKDIR/Sicherheit"
cd "$WORKDIR/Sicherheit"
elif [ $i -ge 121 -a $i -le 140 ];then
echo "# Artikel des Bereichs: Grafische Oberfläche" >&3;
mkdir -p "$WORKDIR/Grafische Oberfläche"
cd "$WORKDIR/Grafische Oberfläche"
elif [ $i -gt 140 ];then
echo "# Artikel des Bereichs: Weiteres und Workarounds" >&3;
cd "$WORKDIR"
fi
name=`echo "${page[$i]}" | sed 's/_/ /g' | sed 's/\//_/g'`
echo "DEBUG: Lade Wikiartikel als PDF herunter: $name"
curl -s "$URL${page[$i]}" > "$name.pdf"
echo $(($count*100/$pages)) >&3;
count=$[ $count + 1 ];
fi
i=$[ $i + 1 ];
done
# Setze Rechte (FC6: abgefragter Benutzer oder 777 / F7: $USER)
if [ `rpm -q --qf "%{version}\n" fedora-release` = 6 ];then
echo "DEBUG: Fedora-Version ist FC6"
echo "DEBUG: Frage explizit nach dem Benutzer"
OWNER=`zenity --entry --text="Welchem Benutzer sollen die PDF-Dateien gehören?"`
if [ $OWNER ];then
chown -R $OWNER:$OWNER $WORKDIR
else
echo "DEBUG: Setze Rechte auf 777 (unschön)"
chmod -R 777 $WORKDIR
fi
else
echo "DEBUG: Setze Rechte auf Benutzer $USER"
chown -R $USER:$USER $WORKDIR
fi
fi
fi
menu
}
############################### Hilfe öffnen #############################
function open_help {
echo "DEBUG: Öffne Hilfeseiten im Fedorawiki.de (als User $USER)"
if [ -x /usr/bin/xdg-open ];then
su -c "xdg-open http://fedorawiki.de/index.php/Fedoraforum.de-Installationshilfe" $USER
elif [ -x /usr/bin/htmlview ];then
su -c "htmlview http://fedorawiki.de/index.php/Fedoraforum.de-Installationshilfe" $USER
elif [ -x /usr/bin/firefox ];then
su -c "firefox http://fedorawiki.de/index.php/Fedoraforum.de-Installationshilfe" $USER
else
$ERROR_MESSAGE "Browser konnte nicht gefunden werden."
fi
menu
}
##############################################################################################
# Der eigentliche Start
info_welcome
menu
Das Script kann auch von hier heruntergeladen werden.

