我将一些 nfs 导出从文件服务器安装到我的工作站。工作站是ubuntustudio 64位14.04。
为了使安装尽可能透明,我在我的文件中插入了以下内容.bashrc
SG=sg
mount | grep $SG &> /dev/null
if [ $? -eq 1 ] ; then
sudo mount -o vers=3 fileserver:/nfs/home/nass ~/$SG
fi
所以我基本上在第一个登录 shell 启动时挂载我的文件夹。当我登录到电脑并打开终端时,这工作得很好 - 这是我通常所做的。
我希望这种安装在启动期间自动发生,显而易见的选择是将上面的代码片段添加到/etc/rc.local
.
然后我添加一个命令来运行我的脚本,但是我想以我的用户(而不是 root)身份运行它。
/home/nass/audio_setup/scripts/start_audio 2>&1 | tee -a /tmp/audio.log
audio.log
但正如我在文件中看到的
/etc/rc.local: 22: /etc/rc.local: /home/nass/audio_setup/scripts/start_audio: not found
为什么会发生这种情况?我缺少什么?
答案1
您可以添加 mount 命令/etc/fstab
而不是使用脚本来执行它吗?至于第二部分,rc.local 默认情况下由 root 运行,因此如果您不采取措施以 nass 身份运行,您将把 NFS 共享挂载为 /root/sg。如果你希望它以与 rc.local 不同的用户身份运行,你必须执行类似的操作
su nass -c '/home/nass/audio_setup/scripts/start_audio'