因此,我有三个用于NVIDIA CUDA API的安装程序 - 第一个是驱动程序,并带有很好的静默安装标志选项(但必须是root用户并且必须具有运行级别3)。在Bash脚本中格式化用户命令内的脚本
后两个后续手动如下所示安装(切出事后安装出于简洁的长乱七八糟)
[根]#SH cudatoolkit_4.1.28_linux_64_rhel5.x.run验证归档 完整性.. 。 都好。解压NVIDIA CUDA .............................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ............................................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ..........................................
输入安装路径(默认为/ usr/local/cuda,'/ cuda'将为 追加):
CUDA的早期版本位于/ usr/local/cuda/bin
要卸载吗? (是/否/中止):是
换句话说,我需要认识到: “进入安装路径”,并输出一个“\ n”
现在棘手的问题是卸载可能不永远在那里。如果不是,我只需等待安装完成,但是如果我看到“您想卸载吗?”我需要输出“是”才能完成。
下面的第三个也是最后的安装程序的输出显示....
[根]#SH gpucomputingsdk_4.1.28_linux.run
验证存档 完整性...都不错。
解压NVIDIA GPU计算
SDK ......................................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ..................................
输入安装路径(默认〜/ NVIDIA_GPU_Computing_SDK): /usr/local/CUDA_SDK
位于CUDA位于/ usr/local/cuda
如果 这是正确的,请选择下面的默认值。
如果它是不正确的, 输入正确的路径,CUDA
回车CUDA安装路径 (默认是/ usr /本地/ CUDA):
对于这一个,没有卸载动作所以它看似有点简单。
我只需要检测“进入安装路径”输出“在/ usr /本地/ CUDA_SDK \ n”,然后检测“进入CUDA安装路径”输出“\ n”
我的想法是使用一对期望脚本 - 每个安装程序都有一个 - 但由于在切换到root的命令的双引号内嵌套,我遇到了一些困难。我目前拥有的是:
#!/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"
这个切换到正确的根(一旦输入密码),并与内置的选项正确安装驱动程序。然后,它似乎产生第二个安装过程并输入第一个参数(回车),但似乎过早退出第二个安装程序(例如,我看不到“是”选项)。
我觉得我非常接近,希望有人能指出我要去哪里错误,并建议正确的语法。
注: 我加入了百胜安装命令,如一些我安装在机器没有想到(股票CentOS 6
),这样节省了我的麻烦有....
请不要多发帖子 - http://superuser.com/q/412259/4714 – 2012-04-14 10:48:01