리눅스 systemd에서 rc.local 활성화 방법

systemd를 사용하는 리눅스에서 rc.local 파일을 부팅 시 실행시켜주는 rc-local 서비스를 활성화하여 부팅 시 자동 시작하도록 서비스를 등록하고 사용하는 방법에 대해 알아봅니다.
인프라코디
리눅스 systemd에서 rc.local 활성화 방법

systemd를 사용하는 CentOS 7 이상의 리눅스 버전에서는 /etc/rc.local에 명령어 및 스크립트를 추가해도 부팅 시 실행되지 않습니다. rc.local 파일을 부팅 시 실행시켜주는 rc-local 서비스를 시작하고, 부팅 시 자동 시작하도록 서비스 활성화 방법에 대해 알아보겠습니다.

rc.local

systemd에서 rc.local 파일은 이전 리눅스 버전과의 호환성을 위해 제공되며, 기본 설정으로 비활성화되어 있습니다. 그리고 rc.local 파일에 스크립트를 등록해서 사용하기보다는 systemd 서비스 등록을 추천합니다. rc-local 서비스는 SysVinit에서와 같이 마지막에 실행되지 않으며, systemd의 서비스의 하나로써 다른 서비스들과 함께 병렬 실행됩니다.

/etc/rc.local 파일 내용은 아래와 같으며, /etc/rc.d/rc.local 파일을 부팅 시 자동 실행하려면 실행 권한을 추가해야 한다고 안내하고 있습니다. 참고로 /etc/rc.local 파일은 /etc/rc.d/rc.local의 심볼릭 링크로 같은 파일입니다.

cat /etc/rc.local
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local

환경 정보

  • 운영 체제(OS) : CentOS Linux release 7.9.2009 (Core)
  • 로그인 계정 : root

rc.local 파일 실행 권한 추가하기

리눅스 부팅 후 자동 실행할 수 있도록 파일 실행 권한을 추가합니다.

chmod +x /etc/rc.d/rc.local

rc-local 서비스 상태 확인하기

systemctl status rc-local.service

rc-local 서비스 시작하기

systemctl start rc-local.service

부팅 시 자동 실행 rc-local 서비스 활성화하기

그래픽 모드가 아닌 multi-user 모드로 부팅 시 서비스 파일에 부팅 모드를 설정합니다.

vi /usr/lib/systemd/system/rc-local.service

/usr/lib/systemd/system/rc-local.service 파일의 제일 하단에 아래 내용을 추가합니다.

[Install]
WantedBy=multi-user.target
systemctl enable rc-local.service

rc-local 서비스 자동 실행 등록 확인하기

systemctl is-enabled rc-local.service

마무리

CentOS 7 이상의 systemd를 사용하는 리눅스 서버에서 rc.local 파일의 내용을 자동 실행하는 rc-local.service 등록 방법에 대해 알아보았습니다. rc-local 서비스로 이전 리눅스 버전에서의 시작 프로그램들을 그대로 사용할 수 있지만, systemd의 서비스로 마이그레이션하여 사용하는 것을 추천합니다.

인프라코디
서버, 네트워크, 보안 등 IT 인프라 관리를 하는 시스템 엔지니어로 일하고 있으며, IT 기술 정보 및 일상 정보를 기록하는 블로그를 운영하고 있습니다. 글을 복사하거나 공유 시 게시하신 글에 출처를 남겨주세요.

- 블로그 : www.infracody.com

이 글이 유익했나요? 댓글로 소중한 의견을 남겨주시거나 커피 한 잔의 선물은 큰 힘이 됩니다.
댓글