메뉴 건너뛰기

시스템프로그램 - RaspberryPi.NCLab

RaspberryPi에는 rc.local이 어디에?

NCLab8th.김대경 2015.03.04 01:49 조회 수 : 13782

(Linux alarmpi 3.18.8-1-ARCH 기준입니다.)

리눅스 기반 운영체제에서 부팅되면서 자동으로 실행 될 명령어들은 일반적으로
/etc/rc.local

에 위치합니다.


그런데;;; RaspberryPi에서 찾아봤더니 없더군요.

[root@alarmpi etc]# ls rc.local
ls: cannot access rc.local: No such file or directory



구글링 해 본 결과 해결 방법이 여기에 나와 있습니다.

http://www.raspberrypi.org/documentation/linux/usage/rc-local.md

http://superuser.com/questions/278396/systemd-does-not-run-etc-rc-local


그냥 새 파일로 만들고 

[root@alarmpi ~]# cd /etc
[root@alarmpi etc]# vim /etc/rc.local

맨 앞과 뒤에 이렇게 추가해 주시면 됩니다.

#!/bin/bash

exit 0

1번 줄과 3번 줄 사이에 추가할 명령어들을 입력해 주시면 됩니다.


저장하고 난 후 다음과 같이 실행 권한을 부여해야겠죠?

[root@alarmpi etc]# chmod +x rc.local


이제  service를 만들고 이 service가 시작시 자동으로 실행되면서 /etc/rc.local을 실행하도록 할거에요.

우선 /etc/systemd/system/에 다음과 같은 파일을 만드시고요.

[root@alarmpi ~]# cd /etc/systemd/system/
[root@alarmpi system]# vim rc-local.service


내용을 다음과 같이 작성한 다음

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target


실행 권한을 주고 다음과 같이 사용 가능하게 만들어 상태를 확인합니다.

[root@alarmpi system]# chmod +x rc-local.service
[root@alarmpi system]# systemctl enable rc-local.service
[root@alarmpi system]# systemctl restart rc-local.service
[root@alarmpi system]# systemctl status rc-local.service
* rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 1969-12-31 17:17:36 MST; 7s ago
  Process: 254 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)

Dec 31 17:17:36 alarmpi systemd[1]: Started /etc/rc.local Compatibility.


그 다음 재부팅하면 끝.



위로