So habe ich drei Installer für NVIDIAs CUDA API - der erste ist ein Treiber und kommt mit netten stillen Installation Flag-Optionen (aber Sie müssen root sein und Run Level haben 3).Formatieren Expect Skript innerhalb des Benutzerbefehls im Bash Skript
Die zweite zwei Folge manuell unten Installation (ausgeschnitten, die lange Durcheinander installieren danach der Kürze halber)
[root] # sh cudatoolkit_4.1.28_linux_64_rhel5.x.run Archiv Überprüfen Integrität .. . Alles gut. Dekomprimieren von NVIDIA CUDA .............................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ............................................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ..........................................
Installationspfad eingeben (Standard/usr/local/cuda, '/ cuda' wird angehängt):
Eine frühere Version von CUDA wurde in/usr/local/cuda/bin gefunden
Möchten Sie deinstallieren? (Ja/nein/Abbruch): ja
Mit anderen Worten, ich muss erkennen: „Pfad installieren Enter“ und geben ein ‚\ n‘
Jetzt kommt der schwierige Teil ist die Deinstallation kann nicht sei immer da. Wenn es nicht ist, muss ich einfach warten, bis die Installation abgeschlossen ist, aber wenn ich sehe "Möchten Sie deinstallieren?" Ich muss "Ja" ausgeben, um abzuschließen.
Die dritte und letzte Installateurs Ausgabe ist unten dargestellt ....
[root] # sh gpucomputingsdk_4.1.28_linux.run
Überprüfen Archiv Integrität ... Alles war gut.
Dekomprimieren von NVIDIA GPU Computing
SDK ......................................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ...
Geben Sie den Installationspfad ein (Standard ~/NVIDIA_GPU_Computing_SDK): /usr/local/CUDA_SDK
Befindet sich CUDA unter/usr/local/cuda
Wenn dies korrekt ist, wählen Sie den Standard unten.
Wenn es nicht korrekt ist, geben Sie den richtigen Pfad zu CUDA
eingeben CUDA Pfad (default/usr/local/CUDA) installieren:
Für diese gibt es keine Deinstallation Aktion, so dass es scheinbar ist ein bisschen einfacher.
Ich muss nur erkennen „Pfad installieren Enter“ und Ausgang „/ usr/local/CUDA_SDK \ n“ und dann erkennen „Enter CUDA Pfad installieren“ und Ausgang „\ n“
Meine Idee zu verwenden war ein Paar von Expect-Skripten - eines für jedes Installationsprogramm - aber aufgrund der Verschachtelung innerhalb der doppelten Anführungszeichen des Befehls, um zu root zu wechseln, habe ich einige Schwierigkeiten damit.Was ich zur Zeit haben, ist:
#!/bin/bash
CR="\"\n\""
YES="\"Yes\""
INSTALL_PATH_REQUEST="\"Enter install path\""
CUDA_PATH_REQUEST="\"Enter CUDA install path\""
UNINSTALL_REQUEST="\"Would you like to uninstall?\""
TOOLKIT=`ls -t cudatoolkit* | head -n 1`
TOOLKIT_EXPECT="sh $TOOLKIT"
SDK=`ls -t gpucomputingsdk* | head -n 1`
SDK_INSTALL_PATH="\"/usr/local/CUDA_SDK\n\""
SDK_EXPECT="sh $SDK"
/bin/su root -c "yum -q -y install expect expectk;
/sbin/init 3; sh `ls -t NVIDIA*|head -n 1` -s --update -a -X;
/usr/bin/expect <<EOF;
spawn $TOOLKIT_EXPECT
expect $INSTALL_PATH_REQUEST
send $CR
expect $UNINSTALL_REQUEST
send $YES
EOF
/usr/bin/expect <<EOF;
spawn $SDK_EXPECT
expect $INSTALL_PATH_REQUEST
send $SDK_INSTALL_PATH
expect $CUDA_PATH_REQUEST
send $CR
EOF
/sbin/init 5"
Diese richtig zu verankern Schalter (sobald das Passwort eingegeben wird) und installiert die Treiber mit dem korrekt in Optionen gebaut. Es scheint dann, den zweiten Installationsvorgang zu erzeugen und das erste Argument (einen Zeilenumbruch) einzugeben, scheint aber das zweite Installationsprogramm vorzeitig zu beenden (z. B. sehe ich die Option "ja" nicht).
Ich habe das Gefühl, dass ich ziemlich nah dran bin, hoffentlich kann mir jemand zeigen, wo ich falsch liege und die richtige Syntax vorschlage.
NOTES: Ich fügte hinzu, die yum Befehl installieren, da einige der Maschinen Ich bin die Installation hatte nicht erwartet hat (Lager CentOS 6
), so dass ich die es Ärger erspart ....
Bitte nicht Multi-Post - http://superuser.com/q/412259/4714 –