오늘도 기록하는 중 GitHub

Linux 5

Base64

Base64란 무엇인가Base64는 이진 데이터를 64개의 ASCII 문자로 변환하는 인코딩 방식이다. 이 방식은 8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 문자로 바꾸어, HTTP나 이메일 등의 텍스트 기반 시스템에서 안전하게 전송할 수 있게 한다. 주로 이메일 첨부나 HTML에 이미지를 포함할 때 사용되며, 데이터 크기가 약 33% 증가하지만 플랫폼 간 호환성을 보장한다.Base64는 바이너리 데이터의 손실을 막기 위해 개발되었다. ASCII는 7비트 인코딩인데, 시스템마다 나머지 1비트를 다르게 처리하거나 제어 문자 코드가 달라 문제가 발생할 수 있다. Base64는 안전한 64개 문자(A-Z, a-z, 0-9, +, /)만 사용해 이러한 문제를 해결한다. 예를 들어, AP..

Linux 2025.08.25

리눅스 커널 모듈

🐧 리눅스 커널리눅스 커널은 하드웨어와 응용 프로그램 간의 중재자로 작동한다. 시스템의 물리적 자원(CPU, 메모리, 장치)을 관리하며, 다음과 같은 주요 기능을 수행한다.하드웨어 추상화: 복잡한 하드웨어 접근을 단순화하여 사용자 프로그램이 쉽게 활용할 수 있게 한다.프로세스 관리: PID(Process ID)를 통해 프로세스 스케줄링과 자원 할당을 최적화한다.메모리 관리: 가상 메모리와 스왑 공간을 활용해 물리적 메모리 이상의 용량을 제공한다.시스템 호출 제공: read(), write()와 같은 저수준 연산을 표준화된 인터페이스로 노출한다.이번엔 리눅스 커널 모듈에 대해서 알아보겠다.✒️ 커널 모듈리눅스 커널 모듈은 동적으로 로드/언로드 가능한 코드 조각으로, 시스템 재부팅 없이 커널 기능을 확장할..

Linux 2025.05.15

시스템 로그 분석 및 모니터링(logrotate)

로그는 중요하다로그 파일은 시스템 관리자가 서버의 상태를 파악하고 문제를 해결하는 데 필수적인 정보를 제공한다. 웹 서버, 애플리케이션 서버, 데이터베이스 등 모든 서비스는 자신의 활동을 로그 파일에 기록한다. 이러한 로그 파일들은 시간이 지날수록 크기가 커지게 되는데, 방치하면 디스크 공간을 빠르게 소진시켜 시스템 장애를 일으킬 수 있다.Logrotate란 무엇인가Logrotate는 리눅스 시스템에서 로그 파일을 자동으로 관리하고 압축, 백업, 삭제, 로테이션 등을 수행하는 유틸리티다로그 파일이 지나치게 커지는 것을 방지하고, 디스크 공간을 효율적으로 관리할 수 있게 도와준다대부분의 리눅스 배포판에는 logrotate가 기본적으로 포함되어 있으며, 필요한 경우 패키지 관리자를 통해 쉽게 설치할 수 있다..

Linux 2025.05.15

리눅스

Linux Shell 파일 구성자동화 목적의 리눅스 쉘 파일을 구성해보려고 한다.다음과 같은 상황을 가정하고 파일을 작성해보자.간단한 spring 앱을 실행하려고 한다.깃헙에 커밋을 푸시하면 이를 탐지해 github actions에서 스프링 어플리케이션을 실행할 인스턴스에 ssh로 접속하여 자동화 스크립트를 실행한다.스크립트 파일에는 다음과 같은 내용이 담겨 있다.깃헙 레포지토리(spring-app-simple)에서 변경사항을 Pull해온다.gradle로 빌드한다.기존 앱이 실행중인지 프로세스에서 확인한다. 실행중이면 종료한다.8080번 포트로 들어오는 트래픽을 처리하도록 한다.nohup 명령어로 백그라운드에서 실행하도록 한다.로그는 ./spring 경로에 저장한다.#!/usr/bin/env bashse..

Linux 2025.04.28

Shell

Shell이란?리눅스나 유닉스 시스템에서 자동화된 작업을 수행하기 위한 프로그램이다. 사용자와 운영체제 커널 사이의 인터페이스 역할을 하며, 사용자의 명령을 해석하고 실행한다.shell의 종류는 다음과 같다.bash : Bourne-Again Shell(프롬프트 : #, 경로 : /bin/bash)sh : Bourne Shell(프롬프트 : $, 경로 : /bin/sh)csh : C Shell(프롬프트 : %, 경로 : /bin/csh)ksh : Kron Shell(프롬프트 : $, 경로 : /bin/ksh)tcsh : TENEX C Shell(프롬프트 : >, 경로 : /bin/tcsh)Shell 명령어 기호shell 명령어를 다음과 같은 기호와 함께 사용하면 다양한 작업이 효율적으로 가능해진다.| :..

Linux 2025.04.23
반응형