본문 바로가기
CS/Unix 시스템

리눅스 시작과 종료, 운영체제 부팅, 초기화 데몬, 시스템 종료

by Renechoi 2023. 11. 30.

운영체제의 부팅

부팅 과정

  • 전원을 켜고 로그인 프롬프트가 나올 때 까지 과정
  1. ROM BIOS의 펌웨어가 실행됨

    • BIOS 기반 x86 컴퓨터를 가정
    • 하드에어 검사 후, 부트 로더를 적재
  2. MRR에 있는 부트 로더가 실행됨

    • 파티션 테이블을 조사하여 부팅 가능한 파티션을 찾음
    • 리눅스의 부트로더인 GRUB를 찾아 적재함
    • GRUB는 그래픽 인터페이스와 멀티부팅을 지원
  3. 커널 이미지와 initramfs를 로드

    • 커널 이미지는 /boot/vmlinuz <kernel-version>
      • initramfs는 부팅 과정에서 필요한 임시 파일 시스템
  4. 커널이 실행됨

  5. 하드웨어를 점검하고 초기화함

    • 메모리, 프로세서, 저장장치, 주변장치 등
    • 디바이스를 찾고 디바이스 드라이버를 로드함
  6. 루트(/) 파일 시스템을 마운트하고 검사함

  7. 커널은 /lib/systemd/systemd 프로그램을 실행시키고 제어를 넘김

    • systemd 프로세스는 시스템 운영을 위한 나머지 초기화 과정을 처리
    • systemd는 부팅이 끝난 후에도 계속 수행됨

부팅 과정과 초기화

POST (power on) -> BIOS -> 부트로드 -> Boot device -> GRUB -> kernel + initramfs -> systemd (/lib/system/systemd) -> /etc/systemd/system/default.target

초기화 데몬

전통적 init 데몬

  • 'System V init 데몬'이라고 함
    - 런레벨 (runlevel)에 기초하여 순차적으로 서비스를 실행하는 방식
  • 런레벨에 따라 실행되어야 또는 중단되어야 하는 서비스가 정해짐
  • 시간이 오래 걸리며, 복잡한 초기화 스크립트로 인해 새로운 하드웨어나 서비스의 등장에 효율적 대처가 어려움

upstart init 데몬

  • 이벤트 기반으로 서비스를 실행하는 방식
  • 복잡한 스크립트가 간단한 설정 파일들로 대체됨
  • Upstart는 Ubuntu에서 개발되어 2006년에 포함되었고 RHEK 6에서 채택됨
  • systemd 데몬은 2011년 Fedora에서 처음 채택되었음
  • RHEL 7과 SUSE 및 Ubuntu 16.04에서 systemd가 Upstart를 대체함

systemd 프로세스

  • 커널이 실행시키는 첫 번째 사용자 프로세스
  • 모든 사용자 프로세스의 최상위 조상 프로세스 (PID가 1)
    • ps -e 또는 ps ax 명령으로 확인
  • 나머지 부팅 과정, 즉 시스템 초기화 작업을 실행함
    • 초기화 데몬이라고 함
    • 사용자 환경을 준비함. 파일 시스템의 마운트, 시스템 운영을 위한 서비스 프로그램의 실행 등
    • 서비스들의 병렬 시작, 온디맨드 활성화, 서비스 간 의존성 해결
  • 이후 계속 수행되며 시스템 운영을 관리하고 셧다운까지 처리함
    • 시스템 상태 모니터링, 데몬 관리
    • 사용자 프로세스의 정리, 로그아웃 처리와 로그인 서비스의 제공 등

유닛

  • systemd가 관리하는 시스템 자원이나 서비스와 같은 시스템 구성요소
  • 유닛의 동작, 의존성, 실행 옵션 등은 '유닛 설정 파일'에서 설정 항목으로 제어됨
  • 종류:
유닛 유형 유닛 설정 파일의 확장자 설명
service .service 시스템 서비스로 보통 데몬에 해당
tartget .target 유닛의 그룹(예: 부팅 레벨을 표현할 때 사용
device .device 커널이 인식한 디바이스 파일
mount .mount 파일 시스템 마운트 지점
path .path 파일 시스템의 파일 또는 디렉터리
socket .socket 프로세스 간 통신에 사용되는 소켓
snapshot .snapshot 저장된 시스템의 상태
  • 유닛 파일이 존재하는 디렉터리

    • /usr/lib/systemd/system : 포스트웨어 패키지를 설치할 때 함께 설치된 유닛 파일
    • /run/systemd/system : 런타임시 만들어진 유닛 파일
    • /etc/systemd/system : systemctl enable을 이용해 만들어진 유닛 파일. 우선순위가 가장 높은 디렉터리
  • systemd 데몬의 동작에 적용되는 기본 설정은 /etc/system/system.conf 파일에 있음

기본 타깃과 런레벨

  • 기본 타깃 (부팅 모드 또는 런레벨)을 확인 또는 변경하는 명령
    • systemctl get-default 또는 systemctl set-default <name.target>
  • 초기 런레벨은 0 또는 6이 되어서는 안됨
  • 타깃과 런레벨의 비교
런레벨 타깃 유닛 설명
0 runlevel0.target, poweroff.target 시스템을 종료하고 전원을 끔
1 runlevel1.target, rescue.target 단일 사용자 모드로 복구 셸을 설정
2-4 runlevel2.target, runlevel3.target, runlevel4.target, multi-user.target 그래픽이 없는 다중 사용자 시스템을 설정
5 runlevel5.target, graphical.target 그래픽 다중 사용자 시스템을 설정
6 runlevel6.target, reboot.target 시스템을 종료하고 재부팅함
  • 현재 타깃을 다른 타깃 유닛으로 바꾸는 관리자 명령
    • systemctl isolate <name.target>

telinit 명령

  • 런레벨을 바꾸는 관리자 명령
  • telinit runlevel
    • telinit 3은 런레벨을 변경하여 텍스트모드만 지원
    • telinit 0은 종료, telinit 6은 재부팅을 의미

runlevel 명령

  • 이전 런레벨과 현재 런레벨을 확인하는 명령

시스템 서비스의 관리

  • 과거 서비스 수행을 위한 초기화 스크립트는 서비스 유닛으로 대체됨
  • 관리자는 systemctl 명령을 사용하여 시스템 서비스의 상태 보기, 시작, 멈춤, 재시작, 활성화 및 비활성화 작업을 수행할 수 있음
  • systemctl [options] command [units]
    • 서브 명령으로 start, stop, reload, restart, status, enable, disable, is-active, is-enabled 등이 있음

systemctl 명령

  • 서비스 실행과 상태 확인을 위한 명령
명령 설명
systemctl start name.service 서비스를 시작함. service name start와 같음
systemctl stop name.service 서비스를 중지함. service name stop과 같음
systemctl restart name.service 서비스를 재시작함. service name restart와 같음
systemctl try-restart name.service 실행 중인 경우에만 서비스를 재시작함. service name condrestart와 같음
system reload name.service 설정을 다시 로드함. service name reload와 같음
system status name.service, system is-active name.service 서비스가 실행 중인지 확인함. service name status와 유사함
systemctl list-units --type service --all 모든 서비스의 상태를 출력함. service --status-all과 유사함
  • 서비스 활성화와 서비스 종속성 확인을 위한 명령
명령 설명
systemctl enable name.service 서비스를 활성화하는 것으로 부팅시 자동으로 시작되게 함. chkconfig name on과 같음
systemctl disable name.service 서비스를 비활성화 함. chkconfig name off와 같음
systemctl status name.service, systemctl is-enabled name.service 서비스가 활성화되어 있는지 확인함. chkconfig --list name과 유사함
systemctl list-unit-files --type service 모든 서비스를 나열하고 활성화 여부를 확인함. chkconfig --list와 유사함
systemctl list-dependencies --after name.service 지정된 유닛 전에 시작하도록 된 서비스를 나열함
systemctl list-dependencies --before name.service 지정된 유닛 후에 시작하도록 된 서비스를 나열함

웹 콘솔의 사용

  • 웹 브라우저를 이용해 리눅스 서버를 관리하고 모니터링하기 위한 도구
  • cockpit 패키지 설치 후, 서비스를 활성화/시작시키고, 방화벽 설정을 확인
  • 브라우저로 http:localhost:89090에 접속하고 root 사용자로 로그인 함

시스템 종료

전원 관리 명령

  • 호환상의 이유로 shutdown 명령을 계속 사용할 수는 있음

  • 가급적 systemctl 명령을 사용하는 것이 좋음

  • systemctl halt - 과거 명령 halt: 시스템을 종료함

  • systemctl poweroff - 과거 명령 poweroff : 시스템을 종료하고 전원을 끔

  • systemctl reboot - 과거 명령 reboot : 시스템을 재부팅함

  • systemctl suspend - 과거 명령 pm-suspend: 시스템을 일시 중단함

  • systemctl hibernate - 과거 명령 pm-hibernate: 시스템을 최대 절전 모드로 전환함

shutdown 명령

  • 시간을 정해 시스템을 안전하게 종료하는 명령

  • shutdown [options] time [message]

  • 옵션

    • -r은 재부팅, -c는 예약된 셧다운의 취소 (time 인수가 필요 없음)
    • -k는 실제 셧다운을 하는 것처럼 경고 메시지만 보냄
    • shutdown -r +10
  • time 인수

    • 종료 시간으로 23:15은 절대 시간 형식, +10은 10분 후 종료를 의미
    • shutdown -H 23:15 또는 shutdown -P +10
    • 인수로 now는 즉시 종료를 의미
    • shutdown -h now

시스템의 종료 절차

  • 실제 systemctl 프로세스를 통해 셧다운이 처리됨

    • systemctl 프로세스는 모든 프로세스에게 종료를 알림
    • 각 프로세스가 스스로 종료하도록 TERM 시그널을 보냄
    • 종료하지 않은 프로세스에게 강제 종료를 위한 KILL 시그널을 보냄
    • 파일 시스템을 잠그고 루트 파일 시스템을 제외한 모든 파일 시스템을 언마운트함
    • 시스템 호출을 통해 커널에 재부팅 또는 종료를 요청함
  • 종료를 위해 halt 명령을, 재부팅을 위해 reboot 명령을 사용할 수도 있음

시스템의 일시 중단

  • systemctl suspend
    • 일시 중단: 시스템 상태를 RAM에 저장하고 저전력 상태로 함
  • systemctl hibernate
    • 최대 절전모드: 시스템 상태를 하드디스크에 저장하고 전원을 끔
  • systemctl hybrid-sleep
    • 하이브리드 슬립: 메모리 외에 디스크에도 시스템 상태를 저장함

데스크톱

데스크톱

  • GUI를 제공하는 사용자 환경
  • 대부분의 데스크톱은 X윈도우 시스템에 기반을 둠
  • 시각적으로 다양한 스타일의 데스크톱이 존재
    • 일반적으로 서버 리눅스에는 명령 행 인터페이스만 존재

GNOME

  • RED HAT 계열 리눅스에서 기본 데스크톱
  • 단순함, 편의성, 안정성에 초점
  • 미니멀한 사용자 인터페이스

KDE

  • K 데스크톱이라고도 하며 MS 윈도우 환경과 유사

요약

  • 부트 로더는 운영체제 커널을 메모리에 로드하고 커널은 부팅 작업을 시작한다.
  • 커널은 초기화 데몬을 통해 부팅 과정을 마무리하고 사용자 환경을 준비하게 한다.
  • Rock Linux나 CentOS-7은 'systemd 데몬'을 이용하여 시스템 초기화 작업을 수행한다.
  • 'systemd 데몬'은 병렬 수행을 통한 부팅 속도의 증가, 자원 사용의 효율화, 보안 강화를 통해 안정적이고 신뢰성 있는 시스템 관리 기능 제공
  • systemd 프로세스는 PID가 1이며, 모든 사용자 프로세스의 부모 또는 조상 프로세스
  • 초기 부팅 모드는 심벌릭 링크 /etc/systemd/system/default.target이 가리키는 대상으로 설정되며, 대개 그래픽 사용자 환경과 다중 사용자 모드를 지원하는 graphical.target으로 설정되어 있다.
  • systemd에서는 시스템 자원과 서비스를 나타내기 위해 유닛 개념을 도입하였으며, 유닛 설정 파일은 기본적으로 /usr/lib/systemd/system/ 디렉터리에 위치한다.

예상 문제

1. 부트 로더가 컴퓨터 부팅 과정 중 어떤 역할을 하는가?

  • A) 하드웨어를 초기화
  • B) 운영 체제 커널을 메모리에 로드
  • C) 파일 시스템을 마운트
  • D) 사용자 인터페이스를 제공
  • 정답: B) 운영 체제 커널을 메모리에 로드
  • 해설: 부트 로더는 컴퓨터의 부팅 과정에서 운영 체제 커널을 메모리에 로드하는 역할을 수행한다.

2. systemd 프로세스의 주요 기능은 무엇인가?

  • A) 그래픽 인터페이스 제공
  • B) 하드웨어 드라이버 로드
  • C) 시스템 초기화 및 관리
  • D) 네트워크 설정
  • 정답: C) 시스템 초기화 및 관리
  • 해설: systemd 프로세스는 리눅스 시스템의 초기화 및 운영을 관리하는 주요 프로세스로, 시스템의 부팅, 서비스 관리, 종료 과정 등을 담당한다.

3. 리눅스 시스템에서 systemctl 명령의 주요 용도는 무엇인가?

  • A) 파일 탐색
  • B) 시스템 서비스 및 유닛 관리
  • C) 텍스트 편집
  • D) 웹 브라우징
  • 정답: B) 시스템 서비스 및 유닛 관리
  • 해설: systemctl 명령은 리눅스 시스템에서 서비스와 유닛을 관리하는 데 사용되며, 서비스의 시작, 정지, 재시작, 활성화, 비활성화 등을 수행할 수 있다.

4. 리눅스 시스템에서 systemd 유닛 파일의 주요 역할은 무엇인가?

  • A) 사용자 계정 관리
  • B) 시스템 설정 저장
  • C) 서비스 및 자원 설정 제어
  • D) 네트워크 연결 설정
  • 정답: C) 서비스 및 자원 설정 제어
  • 해설: systemd 유닛 파일은 시스템 서비스, 자원 및 다양한 구성 요소의 동작, 의존성 및 실행 옵션을 제어하는 설정 파일이다.

5. 'systemctl reboot' 명령의 기능은 무엇인가?

  • A) 시스템 종료
  • B) 시스템 재부팅
  • C) 서비스 재시작
  • D) 네트워크 재설정
  • 정답: B) 시스템 재부팅
  • 해설: 'systemctl reboot' 명령은 리눅스 시스템을 재부팅하는 데 사용된다.

6. 리눅스에서 'systemctl suspend' 명령이 수행하는 작업은 무엇인가?

  • A) 시스템 종료
  • B) 시스템 재시작
  • C) 시스템 일시 중단
  • D) 서비스 재시작
  • 정답: C) 시스템 일시 중단
  • 해설: 'systemctl suspend' 명령은 리눅스 시스템을 일시 중단 상태로 전환한다. 이 상태에서 시스템은 저전력 상태로 유지된다.

7. 리눅스 시스템에서 'systemctl enable' 명령의 목적은 무엇인가?

  • A) 서비스 시작
  • B) 서비스 중지
  • C) 서비스 자동 시작 활성화
  • D) 서비스 수동 시작 설정
  • 정답: C) 서비스 자동 시작 활성화
  • 해설: 'systemctl enable' 명령은 특정 서비스가 시스템 부팅 시 자동으로 시작되도록 설정한다.

8. 리눅스에서 'shutdown -r +10' 명령의 결과는 무엇인가?

  • A) 즉시 시스템 재부팅
  • B) 10분 후 시스템 종료
  • C) 10분 후 시스템 재부팅
  • D) 10분 동안 시스템 중단
  • 정답: C) 10분 후 시스템 재부팅
  • 해설: 'shutdown -r +10' 명령은 10분 후 시스템을 재부팅하도록 예약한다.

9. GNOME 데스크톱 환경의 특징 중 하나는 무엇인가?

  • A) MS 윈도우와 유사한 인터페이스
  • B) 단순함과 편의성에 중점
  • C) 고성능 그래픽 요구
  • D) 커맨드 라인 중심
  • 정답: B) 단순함과 편의성에 중점
  • 해설: GNOME 데스크톱 환경은 단순함과 사용자 편의성에 초점을 맞춘 인터페이스를 제공한다.

10. 리눅스 시스템의 부팅 과정에서 커널이 로드된 후 수행하는 첫 번째 작업은 무엇인가?

  • A) 사용자 인터페이스 초기화
  • B) 네트워크 설정
  • C) 하드웨어 점검 및 초기화
  • D) 사용자 로그인 프로세스 시작
  • 정답: C) 하드웨어 점검 및 초기화
  • 해설: 커널이 로드된 후, 시스템의 하드웨어를 점검하고 초기화하는 작업이 수행된다. 이 과정에서 메모리, 프로세서, 저장 장치, 주변장치 등이 검사되고 초기화된다.

11. BIOS에서 수행되는 초기 하드웨어 검사의 명칭은 무엇인가?

  • A) POST

  • B) Bootstrapping

  • C) Firmware loading

  • D) Kernel loading

  • 정답: A) POST

  • 해설: BIOS는 컴퓨터가 전원을 켤 때 POST(Power-On Self Test)를 수행하여 하드웨어 상태를 검사한다.

12. GRUB 부트 로더의 주요 기능 중 하나는 무엇인가?

  • A) 파일 시스템 마운트

  • B) 사용자 인터페이스 제공

  • C) 멀티부팅 지원

  • D) 하드웨어 드라이버 로드

  • 정답: C) 멀티부팅 지원

  • 해설: GRUB 부트 로더는 멀티부팅을 지원하며, 사용자가 다양한 운영 체제 중에서 선택할 수 있게 해준다.

13. 'System V init 데몬'이 사용하는 시스템 초기화 방식은 무엇인가?

  • A) 병렬 처리

  • B) 이벤트 기반 처리

  • C) 순차적 처리

  • D) 비동기 처리

  • 정답: C) 순차적 처리

  • 해설: 'System V init 데몬'은 런레벨에 기초하여 서비스를 순차적으로 실행하는 방식을 사용한다.

14. Upstart init 데몬이 처음 도입된 운영 체제는 어디인가?

  • A) Fedora

  • B) Ubuntu

  • C) Red Hat Enterprise Linux

  • D) SUSE Linux

  • 정답: B) Ubuntu

  • 해설: Upstart init 데몬은 이벤트 기반으로 서비스를 실행하며, 처음으로 Ubuntu에서 개발 및 도입되었다.

15. 'systemd' 프로세스의 PID는 몇 번인가?

  • A) 0

  • B) 1

  • C) 2

  • D) 3

  • 정답: B) 1

  • 해설: 'systemd' 프로세스는 시스템의 첫 번째 사용자 프로세스로, PID가 1이다.

16. 리눅스 시스템에서 'systemctl hibernate' 명령이 수행하는 작업은 무엇인가?

  • A) 시스템 종료

  • B) 시스템 재시작

  • C) 시스템 일시 중단

  • D) 최대 절전 모드

  • 정답: D) 최대 절전 모드

  • 해설: 'systemctl hibernate' 명령은 리눅스 시스템을 최대 절전 모드로 전환한다.

17. 리눅스 시스템에서 '.mount' 유닛 파일은 무엇과 관련이 있는가?

  • A) 서비스

  • B) 장치

  • C) 파일 시스템 마운트

  • D) 네트워크 설정

  • 정답: C) 파일 시스템 마운트

  • 해설: '.mount' 유닛 파일은 파일 시스템 마운트 지점을 설정하고 관리하는 데 사용된다.

18. 'systemctl isolate' 명령의 목적은 무엇인가?

  • A) 서비스 시작

  • B) 서비스 중지

  • C) 현재 타깃 변경

  • D) 서비스 재시작

  • 정답: C) 현재 타깃 변경

  • 해설: 'systemctl isolate' 명령은 시스템의 현재 타깃을 다른 타깃 유닛으로 변경하는 데 사용된다.

19. 'telinit' 명령의 주요 용도는 무엇인가?

  • A) 시스템 종료

  • B) 런레벨 변경

  • C) 서비스 시작

  • D) 시스템 재시작

  • 정답: B) 런레벨 변경

  • 해설: 'telinit' 명령은 리눅스 시스템에서 런레벨을 변경하는 데 사용된다.

20. 리눅스 시스템에서 'systemctl list-dependencies --after name.service' 명령은 무엇을 나열하는가?

  • A) 서비스의 시작 순서

  • B) 지정된 유닛 전에 시작되는 서비스

  • C) 지정된 유닛 후에 시작되는 서비스

  • D) 서비스의 의존성

  • 정답: C) 지정된 유닛 후에 시작되는 서비스

  • 해설: 'systemctl list-dependencies --after name.service' 명령은 지정된 유닛 후에 시작되는 서비스 목록을 나열한다.

21. 리눅스 시스템의 systemctl list-units --type service --all 명령의 용도는 무엇인가?

  • A) 특정 서비스의 상태 보기

  • B) 모든 서비스의 상태 출력

  • C) 특정 서비스 재시작

  • D) 서비스 활성화 여부 확인

  • 정답: B) 모든 서비스의 상태 출력

  • 해설: 이 명령은 시스템에서 실행 중인 모든 서비스의 상태를 출력한다.

22. 리눅스에서 systemctl try-restart name.service 명령의 기능은 무엇인가?

  • A) 서비스를 무조건 재시작

  • B) 실행 중인 경우에만 서비스를 재시작

  • C) 서비스를 중지

  • D) 서비스를 시작

  • 정답: B) 실행 중인 경우에만 서비스를 재시작

  • 해설: 이 명령은 서비스가 이미 실행 중일 경우에만 해당 서비스를 재시작한다.

23. 리눅스의 systemctl list-unit-files --type service 명령의 목적은 무엇인가?

  • A) 모든 서비스의 상태 출력

  • B) 특정 서비스의 상태 확인

  • C) 모든 서비스의 활성화 여부 확인

  • D) 서비스의 의존성 확인

  • 정답: C) 모든 서비스의 활성화 여부 확인

  • 해설: 이 명령은 시스템의 모든 서비스와 그 활성화 여부를 나열한다.

24. systemctl list-dependencies --before name.service 명령의 기능은 무엇인가?

  • A) 특정 서비스의 시작 전에 실행되는 서비스 나열

  • B) 특정 서비스의 시작 후에 실행되는 서비스 나열

  • C) 특정 서비스의 의존성 나열

  • D) 모든 서비스의 의존성 확인

  • 정답: A) 특정 서비스의 시작 전에 실행되는 서비스 나열

  • 해설: 이 명령은 지정된 서비스가 시작되기 전에 실행되는 서비스들을 나열한다.

25. 리눅스 시스템에서 systemctl disable name.service 명령의 목적은 무엇인가?

  • A) 서비스를 시작

  • B) 서비스를 중지

  • C) 서비스의 자동 시작을 비활성화

  • D) 서비스의 의존성을 제거

  • 정답: C) 서비스의 자동 시작을 비활성화

  • 해설: 이 명령은 시스템 부팅 시 자동으로 시작되는 서비스를 비활성화한다.

26. systemctl is-enabled name.service 명령은 무엇을 확인하는가?

  • A) 서비스가 실행 중인지 여부

  • B) 서비스가 활성화되어 있는지 여부

  • C) 서비스의 의존성

  • D) 서비스의 현재 상태

  • 정답: B) 서비스가 활성화되어 있는지 여부

  • 해설: 이 명령은 특정 서비스가 부팅 시 자동으로 시작되도록 설정되어 있는지 확인한다.

27. 리눅스에서 systemctl poweroff 명령의 결과는 무엇인가?

  • A) 시스템 재부팅

  • B) 시스템 종료 및 전원 끄기

  • C) 시스템 일시 중단

  • D) 최대 절전 모드 전환

  • 정답: B) 시스템 종료 및 전원 끄기

  • 해설: 'systemctl poweroff' 명령은 시스템을 종료하고 전원을 끈다.

28. 리눅스 시스템에서 systemctl hibernate 명령은 어떤 상태로 시스템을 전환하는가?

  • A) 재부팅

  • B) 종료

  • C) 최대 절전 모드

  • D) 일시 중단

  • 정답: C) 최대 절전 모드

  • 해설: 'systemctl hibernate' 명령은 시스템을 최대 절전 모드로 전환한다, 이 모드에서 시스템 상태는 하드 디스크에 저장되고 전원이 꺼진다.

29. 리눅스 시스템에서 systemctl suspend 명령은 어떤 작업을 수행하는가?

  • A) 시스템 종료

  • B) 시스템의 최대 절전 모드 전환

  • C) 시스템의 일시 중단

  • D) 시스템 재부팅

  • 정답: C) 시스템의 일시 중단

  • 해설: 'systemctl suspend' 명령은 시스템을 일시 중단 상태로 전환한다, 이 상태에서 시스템은 저전력 모드로 유지되고 빠르게 복귀할 수 있다.

30. 리눅스에서 systemctl hybrid-sleep 명령은 어떤 기능을 수행하는가?

  • A) 시스템을 종료하고 재부팅

  • B) 시스템을 일시 중단하고 하이브리드 슬립 모드로 전환

  • C) 시스템을 최대 절전 모드로 전환

  • D) 서비스를 재시작

  • 정답: B) 시스템을 일시 중단하고 하이브리드 슬립 모드로 전환

  • 해설: 'systemctl hybrid-sleep' 명령은 시스템을 일시 중단하고 하이브리드 슬립 모드로 전환한다. 이 모드에서 시스템 상태는 RAM과 하드 디스크에 동시에 저장된다.

31. 리눅스 시스템의 부팅 과정에서 initramfs의 역할은 무엇인가?

  • A) 그래픽 인터페이스 제공

  • B) 네트워크 구성

  • C) 임시 파일 시스템 제공

  • D) 사용자 인터페이스 초기화

  • 정답: C) 임시 파일 시스템 제공

  • 해설: initramfs는 리눅스 시스템 부팅 과정에서 필요한 임시 파일 시스템을 제공한다. 이는 커널이 필요한 드라이버와 기타 자원을 로드하는 데 사용된다.

32. 리눅스에서 systemctl restart name.service 명령의 기능은 무엇인가?

  • A) 서비스를 시작

  • B) 서비스를 중지

  • C) 서비스를 재시작

  • D) 서비스의 상태를 확인

  • 정답: C) 서비스를 재시작

  • 해설: 'systemctl restart name.service' 명령은 지정된 서비스를 재시작한다. 이는 서비스를 중지한 다음 다시 시작하는 과정을 포함한다.

33. 리눅스 시스템의 systemctl status name.service 명령은 무엇을 제공하는가?

  • A) 서비스의 시작

  • B) 서비스의 중지

  • C) 서비스의 상태 정보

  • D) 서비스의 활성화 여부

  • 정답: C) 서비스의 상태 정보

  • 해설: 'systemctl status name.service' 명령은 특정 서비스의 상태 정보를 제공한다. 이 정보에는 서비스의 활성 상태, 로그 메시지 등이 포함될 수 있다.

34. 리눅스에서 systemctl reload name.service 명령의 목적은 무엇인가?

  • A) 서비스를 재시작

  • B) 서비스 설정을 다시 로드

  • C) 서비스를 중지

  • D) 서비스를 시작

  • 정답: B) 서비스 설정을 다시 로드

  • 해설: 'systemctl reload name.service' 명령은 변경된 설정을 적용하기 위해 서비스의 설정 파일을 다시 로드한다.

35. 리눅스의 systemctl is-active name.service 명령은 어떤 정보를 제공하는가?

  • A) 서비스가 활성화되어 있는지 여부

  • B) 서비스가 실행 중인지 여부

  • C) 서비스의 의존성 정보

  • D) 서비스의 상태 정보

  • 정답: B) 서비스가 실행 중인지 여부

  • 해설: 'systemctl is-active name.service' 명령은 서비스가 현재 실행 중인지 아닌지를 나타내는 정보를 제공한다.

36. 리눅스에서 systemctl set-default <name.target> 명령의 기능은 무엇인가?

  • A) 기본 런레벨 설정

  • B) 기본 서비스 설정

  • C) 기본 네트워크 설정

  • D) 기본 사용자 인터페이스 설정

  • 정답: A) 기본 런레벨 설정

  • 해설: 'systemctl set-default <name.target>' 명령은 시스템의 기본 타깃(부팅 모드 또는 런레벨)을 설정한다.

37. 리눅스의 systemctl get-default 명령은 어떤 정보를 제공하는가?

  • A) 현재 런레벨

  • B) 기본 런레벨

  • C) 사용 가능한 모든 런레벨

  • D) 현재 활성화된 서비스

  • 정답: B) 기본 런레벨

  • 해설: 'systemctl get-default' 명령은 시스템의 기본 타깃(부팅 모드 또는 런레벨)을 표시한다.

38. 리눅스의 systemctl list-dependencies 명령은 무엇을 나열하는가?

  • A) 서비스의 의존성

  • B) 실행 중인 모든 서비스

  • C) 활성화된 모든 서비스

  • D) 시스템의 모든 유닛 파일

  • 정답: A) 서비스의 의존성

  • 해설: 'systemctl list-dependencies' 명령은 특정 서비스의 의존성을 나열한다. 이 명령은 서비스가 시작되기 위해 필요한 다른 서비스나 리소스를 보여준다.

39. 리눅스 시스템에서 'systemctl list-units --type=service' 명령의 결과는 무엇인가?

  • A) 활성화된 모든 서비스 나열

  • B) 모든 서비스의 종속성 표시

  • C) 현재 실행 중인 모든 서비스 나열

  • D) 모든 서비스와 그 상태 표시

  • 정답: D) 모든 서비스와 그 상태 표시

  • 해설: 'systemctl list-units --type=service' 명령은 시스템의 모든 서비스와 그 상태(활성, 비활성 등)를 나열한다.

40. 리눅스에서 'systemctl enable name.service' 명령의 기능은 무엇인가?

  • A) 서비스를 즉시 시작

  • B) 서비스를 부팅 시 자동으로 시작하도록 설정

  • C) 서비스를 즉시 중지

  • D) 서비스의 설정을 변경

  • 정답: B) 서비스를 부팅 시 자동으로 시작하도록 설정

  • 해설: 'systemctl enable name.service' 명령은 지정된 서비스가 시스템 부팅 시 자동으로 시작되도록 설정한다.

41. 리눅스 시스템에서 'systemctl disable name.service' 명령은 무엇을 수행하는가?

  • A) 서비스를 즉시 시작

  • B) 서비스를 즉시 중지

  • C) 서비스를 부팅 시 자동으로 시작하지 않도록 설정

  • D) 서비스의 우선순위 변경

  • 정답: C) 서비스를 부팅 시 자동으로 시작하지 않도록 설정

  • 해설: 'systemctl disable name.service' 명령은 서비스가 시스템 부팅 시 자동으로 시작되지 않도록 설정한다.

42. 리눅스 시스템에서 'systemctl stop name.service' 명령의 결과는 무엇인가?

  • A) 서비스를 즉시 시작

  • B) 서비스를 재시작

  • C) 서비스를 즉시 중지

  • D) 서비스의 상태 확인

  • 정답: C) 서비스를 즉시 중지

  • 해설: 'systemctl stop name.service' 명령은 지정된 서비스를 즉시 중지한다.

43. 리눅스 시스템의 'systemctl restart name.service' 명령은 어떤 작업을 수행하는가?

  • A) 서비스를 재시작

  • B) 서비스를 중지 후 다시 시작

  • C) 서비스를 중지

  • D) 서비스의 구성을 다시 로드

  • 정답: B) 서비스를 중지 후 다시 시작

  • 해설: 'systemctl restart name.service' 명령은 서비스를 중지한 후 다시 시작한다, 이는 서비스를 재시작하는 방법 중 하나이다.

44. 리눅스의 'systemctl reload name.service' 명령은 무엇을 수행하는가?

  • A) 서비스의 구성을 다시 로드

  • B) 서비스를 재시작

  • C) 서비스를 중지

  • D) 서비스의 상태 확인

  • 정답: A) 서비스의 구성을 다시 로드

  • 해설: 'systemctl reload name.service' 명령은 변경된 구성을 적용하기 위해 서비스의 구성 파일을 다시 로드한다.

45. 'systemctl status name.service' 명령은 리눅스 시스템에서 무엇을

제공하는가?

  • A) 서비스의 현재 상태 정보

  • B) 서비스의 구성 정보

  • C) 서비스의 실행 로그

  • D) 서비스의 시작 시간

  • 정답: A) 서비스의 현재 상태 정보

  • 해설: 'systemctl status name.service' 명령은 지정된 서비스의 현재 상태, 로그 및 기타 관련 정보를 제공한다.

46. 'systemctl is-enabled name.service' 명령은 리눅스에서 어떤 정보를 나타내는가?

  • A) 서비스가 현재 활성화되어 있는지

  • B) 서비스가 부팅 시 자동으로 시작되도록 설정되어 있는지

  • C) 서비스가 현재 실행 중인지

  • D) 서비스의 종속성 정보

  • 정답: B) 서비스가 부팅 시 자동으로 시작되도록 설정되어 있는지

  • 해설: 'systemctl is-enabled name.service' 명령은 지정된 서비스가 시스템 부팅 시 자동으로 시작되도록 설정되어 있는지 확인한다.

47. 리눅스에서 'systemctl list-dependencies name.service' 명령의 목적은 무엇인가?

  • A) 서비스의 종속성 정보 표시

  • B) 서비스의 구성 정보 표시

  • C) 서비스의 실행 순서 표시

  • D) 서비스의 상태 정보 표시

  • 정답: A) 서비스의 종속성 정보 표시

  • 해설: 'systemctl list-dependencies name.service' 명령은 지정된 서비스의 종속성, 즉 해당 서비스가 의존하는 다른 서비스나 리소스를 나열한다.

48. 'systemctl list-unit-files' 명령은 리눅스 시스템에서 무엇을 제공하는가?

  • A) 모든 유닛 파일과 그 상태

  • B) 실행 중인 모든 유닛

  • C) 활성화된 모든 유닛

  • D) 유닛 파일의 구성 정보

  • 정답: A) 모든 유닛 파일과 그 상태

  • 해설: 'systemctl list-unit-files' 명령은 시스템의 모든 유닛 파일과 각각의 활성화 상태(예: 활성화됨, 비활성화됨)를 나열한다.

49. 리눅스에서 'systemctl set-default graphical.target' 명령의 결과는 무엇인가?

  • A) 시스템의 기본 런레벨을 그래픽 모드로 설정

  • B) 시스템의 기본 네트워크 설정을 변경

  • C) 시스템의 기본 서비스 구성을 변경

  • D) 그래픽 환경을 기본 데스크톱 환경으로 설정

  • 정답: A) 시스템의 기본 런레벨을 그래픽 모드로 설정

  • 해설: 'systemctl set-default graphical.target' 명령은 시스템이 부팅할 때 기본적으로 그래픽 사용자 인터페이스(예: GNOME, KDE)를 사용하도록 설정한다.

50. 'systemctl get-default' 명령은 리눅스에서 어떤 정보를 반환하는가?

  • A) 시스템의 현재 사용 중인 기본 타깃
  • B) 시스템의 기본 네트워크 설정
  • C) 시스템의 기본 서비스 구성
  • D) 시스템의 기본 사용자
반응형