rc.local 활성화 사용하기(CentOS,Fedora,우분투)

Last Updated on 2월 15, 2021 by 태랑(정현호)



0. rc.local

rc.local 은 부팅시 자동으로 실행 명령어나 스크립트를 수행하는 동작을 하며 OS 부팅시 마다 매번 자동으로 실행 되기를 원하는 명령어나 작업 스크립트를 파일에 입력하면 수행이 되게 됩니다.
부팅을 하면서 스크립트나 명령어를 자동으로 실행 하도록 하는 방법에는 여러가지가 있으며 그 중에서 가장 쉽게 빠르게 할 수 있는 방법이 /etc/rc.local 을 사용 하는 것이기도 합니다.

각 OS 마다 어느 버전 부터 해당 파일의 퍼미션과 서비스가 활성화가 기본적으로 되어 있지 않아서 사용 하기 위해서 아래의 작업이 선행 되어야 합니다.



• 포스팅 환경
CentOS: 7.9
우분투: 18.04
Fedora : 33




1. 파일 생성

• 우분투
파일을 생성 후 아래와 같이 입력 합니다.

user$ sudo vi /etc/rc.local


#!/bin/bash

touch /tmp/test


• 페도라

파일 생성 후 심볼릭 링크를 생성 합니다.

user$ sudo vi /etc/rc.d/rc.local

#!/bin/bash

touch /tmp/test



user$ sudo ln -s /etc/rc.d/rc.local /etc/rc.local


• CentOS
파일이 생성 되어 있으므로 별도의 생성은 하지 않아도 됩니다.

user$ ls -al /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Jun 17  2020 /etc/rc.local -> rc.d/rc.local


user$ sudo echo "touch /tmp/test" | sudo tee -a /etc/rc.local


* touch /tmp/test 이부분은 서비스가 정상적으로 실행 되는지를 확인 해보기 위해서 추가한 내역으로 서비스가 정상적으로 실행되었고 /etc/rc.local 이 수행되었다면 /tmp 아래 test 라는 파일이 생성될 것입니다.

파일 생성 여부로 해당 작업의 정상 유무를 확인 할 수 있습니다.



2. 퍼미션 권한 부여

• 우분투

user$ sudo chmod 755 /etc/rc.local


• Fedora, CentOS

user$ sudo chmod 755 /etc/rc.d/rc.local




3. rc-local.service 파일 수정

3-1 파일 수정
공통 작업으로 rc-local.service 파일 맨 마지막에 [Install] 부분을 추가 합니다

user$ sudo vi /lib/systemd/system/rc-local.service

[Install]
WantedBy=multi-user.target


3-2 저장 후 reload 실행

user$ sudo systemctl daemon-reload


3-3 서비스 활성화,시작,상태 확인

user$ sudo systemctl enable rc-local

user$ sudo systemctl start rc-local

user$ sudo systemctl status rc-local




4. 테스트 파일 생성 여부 확인

4-1 파일 생성 여부 확인

user$ ls -al /tmp | grep test
-rw-r--r-- 1 root root 0 Oct 20 15:28 test


4-2 touch 명령어 부분 삭제

user$ sudo vi /etc/rc.local

touch /tmp/test 
<== 삭제합니다


이제 /etc/rc.local 파일에 명령어나 실행할 스크립트를 추가하게 되면 부팅시 실행이 되게 됩니다. 



관련된 다른 글

답글 남기기