분류 전체보기 58

[Linux] DHCP

1. 자동으로 네트워크 설정을 관리해주는 프로토콜, DHCP DHCP(Dynamic Host Configuration Protocol)은 자신의 네트워크 안에 있는 컴퓨터가 부팅될 때, 자동으로 IP주소, 서브넷 마스크, DNS 주소, 게이트웨이 주소를 할당해주는 프로토콜이다. 이 DHCP 덕분에 우리는 IP, 서브넷 마스크, 게이트웨이 등에 대해 세세하게 알지 못하지만, 큰 어려움 없이 인터넷을 이용하고 있다고 봐도 무방하다. 또한 DHCP는 정적(Static)으로 IP를 부여했을 때와 다르게, 컴퓨터를 사용하지 않을 경우, 해당 컴퓨터에 부여되었던 IP를 다른 곳에 사용할 수 있어, 적은 개수의 IP 주소로도 여러 명이 사용 가능하다는 장점이 있다(주로 공인 IP에서 유용).  DHCP는 UDP를 전..

System/Linux 2024.09.21

[Linux] 도대체 프로세스가 뭐야?(프로세스 관리 명령어)

1. 프로그램과 프로세스란? 프로그램과 프로세스의 정의는 다음과 같다. 먼저 프로그램은 "저장 장치(storage, HDD, SSD)에 저장되어 있는, 실행되지 않은 정적인 실행 파일"을 의미한다. 그리고 이러한 프로그램이 실행되어 메모리(Main Memory, RAM)에 올라오면 동적인 상태의 프로세스가 된다고 볼 수 있다.  2. 프로세스의 상태(State)Ready 프로세스가 모든 자원을 가지고, 실행 준비를 마친 상태. 아직 CPU에서 실행되지 않고, 준비큐에서 실행을 기다리는 단계Dispatch (Ready => Running) 스케줄러에 의해 선택된 준비큐 맨 앞에 있는 프로세스에게 프로세서를 할당하는 것 Interrupt (=time out) (Running => Ready)예외, 입출력, ..

System/Linux 2024.09.19

[Linux] 파일 소유권 & 권한 / 특수 권한

Linux 계정의 홈 디렉토리에 들어가서 ls -l 명령어를 쳐보면 다음과 같이 뜰 것이다.  이때 나오는 정보의 구성에 대해서는 디렉토리 권한 관련 포스트 에서 이미 언급하였지만, 다시 정리해보자면, 파일의 종류(-, d, l), 파일의 접근 권한(rwx --- r-x), 하드 링크, 소유자(root, user1), 소유그룹, 파일의 크기, MAC Time, 파일명으로 이뤄져 있다. 이번 포스트에서는 이중 파일의 접근 권한(Permission)과 소유권, 소유 그룹에 대해 설명할 것이다. 1. 소유권(File Ownership)? 권한(Permission)? 1) 파일/디렉토리의 권한을 변경할 수 있는 권리, 소유권 먼저 소유권(File Ownership)이란 해당 파일 또는 디렉토리의 권한을 누가 변..

System/Linux 2024.09.19

[Linux] Linux 서버를 통해 PC방에서 Tetris 대결을 할 수 있게 하자!

*해당 포스팅은 Rocky Linux 9.4를 기반으로 한 구성  정보입니다.*텍스트 기반의 터미널 용 테트리스(vitetris)를 설치하고, 실행하는 과정을 담은 엔지니어 노트입니다. 목표: Linux 서버에 터미널 용 vitetris를 설치하고, 해당 서버를 통해 PC방 내 컴퓨터에서 vitetris 네트워크 대전이 가능하도록 네트워크를 구성하라. 1. 네트워크 구성  1) PC방 내 PC IP 설정 및 라우터 설정 (신 PC방 기준) *TMI) PC방 내 PC의 IP주소는 모두 공인 IP이다. PC방에서 공인 IP를 사용하는데에는 여러 이유가 있는데, 그 이유는 다음과 같다. 일부 게임 서버는 중복된 NAT 변환을 통해 다수의 사용자가 하나의 공인 IP로 접속하면 제한을 걸거나, 접속을 거부하는 것..

System/Linux 2024.09.14

[Linux] 하드 링크 & 심볼릭 링크 / 파일 관리 명령어

1. 하드링크와 심볼릭 링크 하드 링크(Hard Link)같은 파일을 여러 이름으로 참조하는 방법같은 파일을 참조한 하드 링크끼리는 인덱스 노드(inode)를 공유한다 같은 하드 링크 파일인지 확인하는 방법: inode가 같은가? 다른 파일 시스템 간에는 별개의 inode 테이블을 참조하기 때문에 같은 파일 시스템 내에서만 하드 링크를 걸 수 있고, 파일 시스템 간 이동도 불가능하다파일을 처음 생성하게 되면 하드 링크 수는 1원본 파일을 삭제해도 하드 링크를 통해 파일에 접근 가능 (원본 파일과 하드 링크의 차이가 없다)하드 링크 파일을 만들면 실제로 파일이 만들어진 것처럼 보이지만 실제로는 용량이 없다별도의 파일이 생성되는 것이 아닌 이름만 추가되는 것ln 명령어로 하드 링크를 생성한다ln origin..

System/Linux 2024.09.12

[Linux] Rocky Linux에 Apache Web Service Demon 패키지 설치하기

*Rocky Linux에 Apache Web Service Demon 패키지(httpd) 설치하는 과정을 기록한 엔지니어 노트입니다.  선행 조건rocky9.4.dvd.iso  파일이 삽입되어 있어야 함mount /dev/cdrom /media/ 통해서 마운트하기(띄어쓰기 주의) 1. httpd 패키지 위치 확인 및 설치해보기  자, 문제 상황이 발생했다. 의존성 문제로 인해 httpd 패키지를 설치하기 위해서는 선행 파일들이 필요하다.   2. 패키지 간 의존 관계 정리여러 번의 시행착오를 통해 설치해야할 패키지들 간의 의존 관계를 다음과 같이 정리했다.  3. 관계도를 기반으로 httpd 패키지 설치 1) libapr-1[root@localhost a]# rpm -ivp apr-1.7.0-12.el9..

System/Linux 2024.09.12

[Linux] 디렉토리 구조 & 관리 명령어 / 절대 경로 & 상대 경로

*해당 정보는 Rocky Linux 9.4를 기반으로 한 정보입니다 1. 디렉토리(Directiory)란? Linux에서 디렉토리(Directioy)란 Windows의 폴더와 유사한 개념으로 특정 목적을 가지고 시스템 파일과 사용자 데이터를 저장하는 공간이다. 디렉토리의 특징은 계층적 구조를 가진다는 것(상위와 하위 디렉토리가 존재)이다. 디렉토리의 주소는 '/home/user1'와 같이 표현하는데, 가장 왼 쪽의 슬래시는 루트 디렉토리(Root Directioy)라고 부른다(루트 모드와는 관련 없는 개념이니 혼동하지 않길 바란다).  *Windows에서는 폴더의 주소를 '\user\user'와 같이 역슬래시를 통해 표현한다.  2. 디렉토리 관리 명령어 1. pwd: Print Working Direc..

System/Linux 2024.09.11

[Linux] Linux 관련 기본 정보와 기초 명령어

*해당 정보는 Rocky Linux 9.4를 기반으로 한 정보입니다1. Linux 관련 기초 상식1) Linux에 대한 기본적인 설명 Linux는 리누즈 토발즈(Linus Torbals)가 UNIX를 모방한 오픈 소스 운영 체제이다. 여기서 오픈 소스(Open Source)란, 소스코드를 공개한 것을 의미한다. 즉, 누구나 수정/재배포가 가능하다는 것이다. 단, GNU 선언*에 따라 반드시 수정한 코드를 공개해야 한다. Linux의 기본 UI(User Interface)는 CUI(Command User Interface)이며, 옵션으로 GUI(Graphic User Interface)를 지원한다. *GNU(GNU's not a Unix) 선언(GNU Manifesto) : Unix와 유사하지만 완전히 자..

System/Linux 2024.09.11

[Network] 고가용성, 이중화, 로드 밸런싱

1. 안정적인 네트워크의 요건: 고가용성(High Availability) 직접 크고 작은 네트워크를 구성해보다 보니 단순히 어떤 기능을 가진 네트워크를 설계하는 것 이상으로 중요한 것이 '네트워크를 얼마나 안정적으로 유지하느냐'라는 것을 알게 되었다. 아무리 좋은 성능을 가진 기계여도 툭하면 다운되고, 데이터가 날아가는 핸드폰을 사용하지는 않는 것과 같다. 특히 금융 서비스(인터넷 뱅킹), 메신저 서비스(카카오x)과 같이 24/7운영*이 필수적인 서비스 또는 서버의 경우 더더욱 안정성이 중요하다고 볼 수 있다.   그렇다면 '안정적인 서비스'는 어떻게 수치화하여 구분할 수 있을까? 안정성을 의미하는 용어로는 가용성(availability)와 고가용성(High Availability)이 있다. 가용성은 ..

Network 2024.09.08

[Network] LAN 이중화 - STP

한 가지 가정을 해보자, Topology1에서 세 개의 스위치 중 하나에 장애가 발생한다고 하면 어떻게 될까? 당연하지만 그쪽 호스트에서 통신이 불가능할 것이다. 이러한 상황을 방지하기 위해 오른쪽 Toplolgy2와 같이 스위치를 이중화하여 네트워크의 가용성(Availabilty)을 유지할 수 있다. 하지만 Topology2에서는 Looping(Broadcast Storm)이라는 의도치 않은 문제가 발생할 수 있다.   *Broadcast Storm: 스위치는 브로드캐스트 프레임(dest MAC addr: FF: FF: FF: FF: FF: FF)을 받으면 Flooding하게 된다. Topology2 같은 상황에서 한 스위치가 Flooding하면 다른 스위치를 거칠 떄마다 반복적으로 Flooding이 ..

Network 2024.09.05