systemd 서비스와 기동 로그
웹 앱을 systemd로 관리하고 설정 오류를 로그로 진단합니다.
진도 0%
레슨
- 유닛과 프로세스의 관계
이전 웹 앱에 User·WorkingDirectory·ExecStart를 지정한 실습 전용 유닛을 작성합니다.
- 기동 오류 추적
제공된 잘못된 경로·권한·환경 설정 사례를 journalctl로 구분해 수정합니다.
- 기동 로그 집계
표준 입력 로그에서 서비스별 오류 횟수를 집계하고 정렬된 결과를 출력합니다.
- 설정 변경 전 보관
유닛과 환경 설정을 날짜별로 보관하고 diff와 체크섬으로 변경 전후를 비교합니다.
systemd 서비스와 기동 로그 미션
이전 모듈 m03-packages-processes의 산출물을 가져와 웹 앱을 systemd로 관리하고 설정 오류를 로그로 진단합니다.
요구사항
- 이전 앱을 bootcamp-systems.service로 관리하고 일반 사용자 셸과 서비스 환경 차이를 문서화합니다.
- 변경 전 설정 사본과 권한 오류의 로그·수정 이유를 evidence/service.md에 기록합니다.
- m03 미션 solution 전체를 previous/에 보존하고 앱·권한·데이터·app.conf를 이어 씁니다.
- 전용 service.py로 환경 사전 검증과 20초 자연 종료를 추가하며 Restart=no로 실습합니다. 임의의 프로세스를 종료하지 않습니다.
- evidence/backups/시각-PID에 유닛·환경 원본과 SHA-256·소유권·모드를 보관하고 두 설정을 복원합니다.
완료 기준
- systemctl의 active 상태와 HTTP 정상 응답을 각각 검사합니다.
- 잘못된 경로·읽기 권한·환경 값 사례를 검증기가 주입했을 때 진단 기록이 원인과 연결되는지 검사합니다.
- 설정 사본의 해시가 변경 전 값과 같고 되돌림 뒤 /items가 정상인지 검사합니다.
- bash check.sh는 유닛 계약·환경 경계값·기존 HTTP/동시 갱신 회귀와 실제 bcweb PID·기동 중 active·HTTP 본문을 검사합니다.
- 없는 DATA_FILE·잘못된 RUN_SECONDS·별도 root 전용 fixture·없는 WorkingDirectory를 한 번에 하나씩 주입하고 해당 journal 원인 문자열을 검사합니다. 원본 데이터 권한은 변경하지 않습니다.
- 복원 해시와 기존 app.conf·items.json 불변 및 복원 기동 /items 응답을 검사합니다. 실제 systemd VM 검증은 external이며 이 맥에서는 PENDING입니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 관측 결과와 판단 근거가 연결되어 있습니다.
- 실습 VM 범위와 필요한 권한을 명시하고 재현 순서를 기록합니다.