부팅 후 통과를 시도했습니다 /etc/rc.local
.
/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/home/startup.sh
exit 0
/home/startup.sh
mount -t vboxsf test /home/test
스타트업 결과입니다
이것이 출력이다systemctl status rc-local.service
rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static)
Active: failed (Result: exit-code) since Sun 2016-02-07 22:48:23 ICT; 18min ago
Process: 432 ExecStart=/etc/rc.local start (code=exited, status=1/FAILURE)
Feb 07 22:48:23 debian rc.local[432]: /sbin/mount.vboxsf: mounting failed with the error: No such device
Feb 07 22:48:23 debian systemd[1]: rc-local.service: control process exited, code=exited status=1
Feb 07 22:48:23 debian systemd[1]: Failed to start /etc/rc.local Compatibility.
Feb 07 22:48:23 debian systemd[1]: Unit rc-local.service entered failed state.
수동으로 실행해 보았습니다.sudo bash /home/startup.sh그리고 그것은 훌륭하게 작동합니다. 저도 이 방법을 적용했는데 Ubuntu 14.04
오류는 발생하지 않았습니다.
이번 실패의 이유는 무엇이었나요? 어떻게 해결할 수 있나요?
답변1
문제는 rc-local.service
시작하기 전에 발생한 것 같지만 vboxadd-service.service
시작 후에는 실행되어야 합니다. 이제 rc.local
이는 SysV(부팅 프로세스가 끝날 때 실행됨)이며 systemd에서 제공하는 호환성은 완벽하지 않습니다(스크린샷에서 볼 수 있듯이). home-test.mount
다음과 같은 맞춤 단위를 사용하는 것이 더 나을 것입니다 .
[Unit]
Requires=vboxadd-service.service
After=vboxadd-service.service
[Mount]
What=test
Where=/home/test
Type=vboxsf
[Install]
WantedBy = multi-user.target
그런 다음 통화를 systemctl enable home-test.mount
제거하고 다시 시작하여 새 설정을 테스트하십시오 ./home/startup.sh
/etc/rc.local
경고: 저는 VirtualBox에 대한 경험이 없으며 설치 장치에 대한 경험도 거의 없습니다. 그러나 당신은 요점을 이해합니다.
답변2
파일을 다음 위치에 넣어야 합니다.
/etc/init.d/
그런 다음 다음을 통해 실행 파일로 변경해야 합니다.
chmod +x /etc/init.d/myscript
그래도 작동하지 않으면 심볼릭 링크를 만들어야 합니다.
/etc/rc.d/
ln -s /etc/init.d/myscript /etc/rc.d/
최신 Debian에서는 스크립트가 LSB와 호환되어야 하므로 이 기능이 작동하지 않습니다(적어도 시작, 중지, 다시 시작, 강제 다시 로드 및 상태 등의 작업 제공).https://wiki.debian.org/LSBInitScripts