Study: ComputerScience(CS)

    [Linux] 리눅스 시스템 디스크 파티션 및 관련 개념 정리

    💡 본 문서는 '리눅스 시스템 디스크 파티션 및 관련 개념'에 대해 정리해놓은 글입니다. 리눅스 시스템 관리에 있어 중요한 부분을 차지하는 디스크 파티셔닝 개념에 대해 다루겠습니다. 디스크 파티셔닝을 다루는 과정에서 필요한 용어들에 대해 알아보고, 특히 리눅스 시스템에 초점을 두었으니 참고부탁드립니다. 1. 파티셔닝 우선 파티셔닝은 하나의 물리 저장장치를 시스템 내부에서 여러 디스크 공간으로 나누는 작업을 일컫습니다. 이때 이 공간은 물리적으로 나뉠 수도 있고, 논리적으로 나뉠 수도 있습니다. 물리적으로 나뉜 공간을 프라이머리(Primary), 논리적으로 나뉜 공간을 익스텐디드(Extended)라고 부릅니다. 프라이머리 공간의 경우, 리눅스에서 최대 4개의 공간으로 나눌 수 있습니다. 따라서 더 많은 파..

    [Linux] gdb로 process/threads 디버깅하는 방법(feat. 좀비 프로세스)

    💡 본 문서는 'gdb를 활용한 실행 중인 프로세스 & 스레드 디버깅 하기'에 대해 정리해놓은 글입니다. 딱히 프로세스가 죽은 것은 아닌데 과도하게 cpu를 잡고 있거나(특정 스레드 무한루프), 프로세스가 살아는 있지만 아무런 응답을 하지 않는(데드락) 경우가 있습니다. 혹은 이경우에 사용하는 gdb 디버거를 이용하여 실행 중인 프로세스에 직접 붙어 현재 상태를 체크하는 방법을 정리하였으니 참고부탁드립니다. 1. 스레드/프로세스 상태 확인하기 $ ps -eLf | grep UID PID PPID LWP C NLWP STIME TTY TIME CMD kukuta 11048 1 11048 0 8 10:52 pts/0 00:00:00 kukuta 11048 1 11050 1 8 10:52 pts/0 00:00..

    [Network] 네트워크 기본 개념 정리 (IP, Route, Subnet...)

    💡 본 문서는 '네트워크 기본 개념'에 대해 정리해놓은 글입니다. 와이파이를 설정하거나 서버 및 네트워크에 접속하는 등 생활속이나 개발하는데에 있어 종종 네트워크의 기본개념이 활용됩니다. 관련 기초개념에 대해 자세히 다루었으니 참고하시기 바랍니다. 네트워크(Network) 란? 분산되어 있는 컴퓨터들을 자원이나 정보를 공유하기 위하여 통신망으로 연결한 것을 의미합니다. 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭하며, 전송 매체로 서로 연결된 시스템을 의미합니다. 1. 네트워크 활용의 장점과 단점 모든 종류의 물리적 및 논리적 자원을 공유할 수 있으므로 자원 활용이 극대화 병렬 처리가 가능해지고 성능이 향상 데이터의 중복 저장이 가능하므로 데이터 복구가 용이하고 신뢰성이 향상되지만 일관성 ..

    [Linux] 라우팅(Routing) 이란? 리눅스 라우팅 설정 (feat. route)

    💡 본 문서는 '리눅스 라우팅 설정'에 대해 정리해놓은 글입니다. 이는 라우팅에 대해 설명하고 라우팅 테이블 설정 및 특정 목적지까지 라우팅 경로를 확인하는 방법까지 다뤄었으니 참고하시기 바랍니다. 1. 라우팅 (Routing)이란? 라우팅이란? 한 네트워크에서 다른 네트워크로 최적의 경로를 탐색하여 지정한 후 네트워크 안의 호스트에게 패킷들을 전달하는 과정을 말합니다. 리눅스 시스템은 미리 설정되어 있는 라우팅 테이블이라는 지도를 보고 패킷을 어떤 네트워크 인터페이스를 거쳐 목적지로 보낼지 결정합니다. 2. 리눅스 라우팅 설정 2.1 라우팅 테이블 확인 route 명령어를 통해 현재 시스템에 설정된 라우팅 테이블을 확인할 수 있습니다. $ route Kernel IP routing table Desti..

    [Linux] NTP 서버 시간 동기화

    💡 본 문서는 'NTP 서버를 활용한 시간 동기화'에 대해 정리해놓은 글입니다. 각 서버의 시간이 조금이라도 틀어지게 되면 로그를 확인하는 과정에서 시간 간극으로 인해 정확한 원인을 파악하지 못하는 경우가 발생합니다. 이를 예방하기 위해 서버 간 시간 동기화 하는 과정이 필요하며, 글 하단에서는 내부망 내에서 NTP 서버를 이용하여 지속적으로 시간 동기화를 해주는 작업에 대해 소개하고 있으니 참고하시기 바랍니다. Linux 서버 간 시간 동기화 (일시적) 수동으로 시간 변경하기 (매우 비추천) 사용자가 특정 시간을 지정해서 시간을 설정하는 방법이 있으나, 이는 특정한 목적이 아니라면 매우 비추천하는 방법입니다. date -s "2022-09-27 18:00:00" 하나의 서버를 기준으로 시간 동기화 특정..