728x90
/etc/rc.local 에 스크립트를 넣고 재부팅후에 실행이 되지않아 확인해보니 7이상부턴 따로 활성화 해야 합니다.
왜 rc.local이 비활성화되었는가?
CentOS 7은 부팅 과정과 시스템 서비스를 관리하기 위해 SysVinit 시스템 대신 systemd를 도입했습니다.
systemd가 의존성 관리, 병렬 실행 등 다양한 기능을 제공하여 rc.local은 기본적으로 비활성화되었습니다.
rc.local 활성화 방법
1. rc.local 파일에 실행권한 부여
# chmod +x /etc/rc.d/rc.local
2. rc-local.service 파일 생성
# vi /etc/systemd/system/rc-local.service
아래 내용 추가
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionPathExists=/etc/rc.d/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
[Install]
WantedBy=multi-user.target
3. 서비스 활성화 및 시작
# systemctl enable rc-local
# systemctl start rc-local
/usr/lib/systemd/system/rc-local.service 파일이 있는 경우 2번을 생략해도 됨.
반응형
/usr/lib/systemd/system
- 기본 서비스 파일: 패키지 관리자에 의해 설치된 기본 서비스 파일이 포함됩니다. RPM 패키지를 설치할 때 이 디렉토리에 서비스 파일이 설치됩니다.
- 패키지 업데이트: 패키지 업데이트 시, 이 디렉토리의 서비스 파일이 업데이트될 수 있습니다. 따라서 사용자가 이 디렉토리의 파일을 직접 수정하는 것은 권장되지 않습니다.
/etc/systemd/system
- 사용자 정의 서비스 파일: 사용자가 직접 만든 서비스 파일이나, 기본 서비스 파일을 오버라이드하기 위해 사용하는 디렉토리입니다. 이곳에 있는 파일은 패키지 업데이트 시 덮어 쓰이지 않습니다.
- 심볼릭 링크: 이 디렉토리에는 /usr/lib/systemd/system에 있는 기본 서비스 파일을 참조하는 심볼릭 링크가 있을 수 있습니다. 이 링크는 사용자가 특정 서비스의 동작을 커스터마이즈하거나 활성화/비활성화하는 데 사용됩니다.
주요 차이점
- 설치 위치
- /usr/lib/systemd/system: 패키지 관리자에 의해 설치되는 기본 서비스 파일.
- /etc/systemd/system: 사용자가 직접 추가하거나 수정한 서비스 파일.
- 업데이트 관리
- /usr/lib/systemd/system: 패키지 업데이트 시 서비스 파일이 업데이트될 수 있음.
- /etc/systemd/system: 패키지 업데이트의 영향을 받지 않으며, 사용자가 수정한 내용이 유지됨.
- 우선순위
- /etc/systemd/system에 있는 서비스 파일이 /usr/lib/systemd/system에 있는 파일보다 우선적으로 적용됩니다.
- 기본 서비스 파일을 오버라이드하려면 /etc/systemd/system에 같은 이름의 서비스 파일을 두면 됩니다.
728x90
반응형
'OS > Linux' 카테고리의 다른 글
Linux - 계정 잠금 임계값 설정 (0) | 2024.06.21 |
---|---|
Linux - 싱글모드 진입 및 관리자 비밀번호 변경 (0) | 2024.06.20 |
Linux - 라우팅 테이블 구조와 route 명령어 (0) | 2024.06.19 |
Linux - 캐시 메모리 비우기 (0) | 2024.05.30 |
Linux - TC를 이용하여 QoS 설정하기 (0) | 2024.05.28 |