init script 실행이 안되는데 이유를 모르겠네요.
안녕하세요.
Linux 초보입니다.
Ubuntu 를 사용하고 있고, 부팅 이후 init script 를 실행하는 방법을 알아보고있습니다.
관련 자료를 찾아서 테스트 해보았는데 도무지 제대로 동작하지 않는 것 같네요.
테스트 중인 shell script 의 기능은 부팅이 되면 /var/tmp/touch.file 을 생성하는 것이고요.
일단 1~4 와 같이 해본 상태입니다.
자료들을 찾아보면 아래와 같이 했을 때 문제없이 동작되어야 하는데 왜 안되는지 모르겠네요.
1. /etc/init.d/touchfile.sh 라는 파일 생성
파일 내용은 아래와 같습니다.
*****************************************************
#! /bin/sh
### BEGIN INFO
# Provides: touchfile
# Required Start: 2 3 4 5
# Required Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run Touchfile
# Description: Run Touchfile
### END INIT INFO
TOUCHFILE="/var/tmp/touch.file"
case "$1" in
start)
echo "Creating $TOUCHFILE"
touch $TOUCHFILE
;;
stop)
echo "Removing $TOUCHFILE"
rm $TOUCHFILE
;;
restart)
echo "Recreating $TOUCHFILE"
rm $TOUCHFILE
touch $TOUCHFILE
;;
reload)
echo "Re-Touching $TOUCHFILE"
touch $TOUCHFILE
;;
*)
echo "Usage: $0 "
;;
esac
exit 0
*****************************************************
2. 파일에 실행권한을 부여합니다.
*****************************************************
-rwxr-xr-x 1 root root 579 Sep 16 17:41 touchfile.sh
*****************************************************
3. update-rc.d 를 사용해 실행을 설정합니다.
*****************************************************
/etc/init.d$ sudo update-rc.d touchfile.sh defaults
*****************************************************
4. 재부팅 후 동작을 확인합니다.
*****************************************************
ubuntu 15.04 부터 systemd 로
ubuntu 15.04 부터 systemd 로 바뀌었습니다. 5 년이 넘었네요.
SysV init 을 사용할 방법이 없는 것은 아니지만, 그만 알아보셔도 될 것 같습니다.
UNIX 공부하고 싶은 거면 open solaris (지금은 oracle solaris) 알아보시고.
embedded 머신에서 쓰고 싶은 거라면, 설계 오류라 봐도 되는 것이니 생각을 좀 달리해보시고요.
헉 그런가요. 리눅스관련 도서에서 제시하는 방법들을
헉 그런가요. 리눅스관련 도서에서 제시하는 방법들을 따라하면 많은 시행착오를 겪을 수 있겠네요. 마침 책의 출판년도를 보니 2014년 이네요. 현재 제 주 관심분야 및 방향은 embedded linux 입니다. firmware 및 RTOS 경력이 10년 정도되는데요, 작년에 캐나다로 이사왔는데 이쪽에서는 대부분 embedded linux base로 하는 것 같아서 그렇네요. 조언 감사합니다^^
댓글 달기