파일 서버에서 워크스테이션으로 일부 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
그래서 기본적으로 첫 번째 로그인 셸이 시작될 때 폴더를 마운트합니다. 컴퓨터에 로그인하여 터미널을 열면 정상적으로 작동합니다. 이는 제가 일반적으로 수행하는 작업입니다.
시작하는 동안 이 설치가 자동으로 수행되기를 원합니다. 확실한 선택은 위의 코드 조각을 /etc/rc.local
.
그런 다음 스크립트를 실행하는 명령을 추가합니다. 단, 루트가 아닌 사용자로 실행하고 싶습니다.
/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
/etc/fstab
스크립트를 사용하여 실행하는 대신 마운트 명령을 추가할 수 있습니까 ? 두 번째 부분의 경우 rc.local은 기본적으로 루트로 실행되므로 nass로 실행하는 단계를 수행하지 않으면 NFS 공유가 /root/sg로 마운트됩니다. rc.local이 아닌 다른 사용자로 실행하려면 다음과 같이 해야 합니다.
su nass -c '/home/nass/audio_setup/scripts/start_audio'