본문 바로가기
반응형

분류 전체보기41

[Linux] 리눅스 운영체제의 부팅 과정(systemd) 1. 운영체제의 부팅 과정 BIOS (Basic Input/Output System): 컴퓨터가 전원을 켜면 제일 먼저 실행되는 펌웨어입니다. 하드웨어를 초기화하고, 부트 가능한 장치(예: HDD, SSD, USB 드라이브 등)를 검색합니다. 설정된 부팅 순서에 따라 제일 먼저 부팅 가능한 장치를 찾아 해당 장치의 MBR로 이동합니다. MBR (Master Boot Record): 하드 디스크의 첫 섹터(512 바이트)에 위치합니다. 주요 부트 로더의 위치와 파티션 테이블 정보를 포함하고 있습니다. BIOS가 MBR을 메모리에 로드하고 실행시킵니다. MBR은 자신에 포함된 부트 로더 코드나 다른 위치에 있는 부트 로더(GRUB 등)를 실행시킵니다. GRUB (GRand Unified Bootloader).. 2023. 9. 1.
[Linux] 쉘 스크립트(shell script) - 7편 서비스 등록(systemd) systemd는 현대 리눅스 배포판에서 가장 널리 사용되는 초기화 (init) 시스템 및 시스템 및 서비스 매니저입니다. systemd는 시스템 부팅 과정을 관리하며, 서비스들을 시작, 중지, 재시작하는 등의 작업을 담당합니다. systemctl은 systemd의 주요 관리 도구로, 서비스의 상태를 확인하거나 시작/중지/재시작하는 데 사용됩니다. systemctl status [service-name]: 서비스의 상태 확인 systemctl start [service-name]: 서비스 시작 systemctl stop [service-name]: 서비스 중지 systemctl restart [service-name]: 서비스 재시작 systemctl enable [service-name]: 부팅 시 서비.. 2023. 8. 31.
[Linux] 쉘 스크립트(Shell script) 6편 - shellcheck(쉘체크) shellcheck는 쉘 스크립트에 대한 정적 분석 도구로, 스크립트의 문제점이나 개선할 수 있는 부분을 찾아줍니다. Bash, sh, dash, ksh 스크립트를 지원하며, 작성 중인 쉘 스크립트의 품질을 향상시키고, 버그, 일반적인 실수 또는 사용하지 않는 코드를 발견하는 데 유용합니다. shellcheck의 주요 기능: 문법 오류: 일반적인 문법 오류나 타이포를 감지합니다. 미사용 변수: 스크립트 내에서 선언되었지만 사용되지 않는 변수를 찾아줍니다. 코드 품질: 코드에서 개선할 수 있는 부분이나 더 나은 방법을 제안합니다. 보안: 안전하지 않은 코드 또는 취약한 패턴을 감지하고 권장 사항을 제공합니다. 1. 설치하기 대부분의 패키지 관리자를 통해 shellcheck를 설치할 수 있습니다. sudo .. 2023. 8. 31.
[Linux] 쉘 스크립트(Shell script) 5편 - 트랩(trap) 사용하기, 에러 옵션(set -e, set -o) 트랩(trap) 사용하기 trap 명령어는 시그널을 잡아내어 해당 시그널을 받았을 때 실행할 명령이나 작업을 정의할 수 있게 해줍니다. 즉, 특정 상황(예: 스크립트 종료, 오류 발생 등)에서 원하는 명령을 실행하도록 설정하는 도구입니다. 스크립트가 비정상적으로 종료될 때나 특정 시그널을 받을 때 정리 작업이나 로깅 작업 등을 수행하고자 할 때 유용하게 사용될 수 있습니다. 기본 구조: trap 'commands' signals 예시 1: 정리 작업을 위한 trap 아래의 스크립트는 일부 작업을 수행한 후 종료될 때 정리 작업을 수행합니다. #!/bin/bash # 정리 작업을 위한 함수 정의 cleanup() { echo "Cleaning up temporary files..." rm -f /tmp/m.. 2023. 8. 31.
반응형