본문 바로가기

전체 글72

[Linux] init? runlevel? target? 리눅스 기초 명령어에 관한 포스트를 보다보면 콘솔을 종료할 때 사용하는 init 0, 재부팅할 때 사용하는 init 6과 같은 명령어를 볼 수 있다. 과연 init이란 무엇일까? init을 알기 위해서는 먼저 runlevel에 대해 알아야 한다.   runlevel은 시스템이 부팅된 후 운영 상태(ex. 종료 상태, 재부팅 상태,  CUI..)를 의미한다. runlevel은 7가지로 구성되어 있는데 다음과 같다. runlevel상태 비고0Power off, 종료 모드 1Rescue, 시스템 복구 모드(단일 사용자 모드) 2Multi-User사용하지 않음3 Multi-User  4 Multi-User 사용하지 않음5Graphical, GUI 다중 사용자 모드 6Reboot, 재부팅  initd(init d.. 2024. 9. 23.
[Linux] 작업 예약 명령어: cron 한 회사의 서버 엔지니어가 되어 직원들이 출근하기 전인 오전 5시에 백업을 해야한다고 생각해보자. 하루 이틀 정도는 일찍 출근할 수 있겠지만 매일 해야 한다고 생각하면 정말 워라벨은 꿈도 꿀 수 없는 일이 따로 없을 것이다. 이러한 고통을 해소시켜줄 수 있는 소프트웨어가 바로 cron이다. cron은 주기적으로 반복되는 시스템 작업을 예약하는 소프트웨어이다. 주로 데몬인 crond, 설정 파일인 /etc/crontab을 이용해서 사용한다. *데몬(daemon): 백그라운드에서 항상 서비스를 제공중인 소프트웨어 작업 예약 관리 명령어 vi /etc/crontab/etc/crontab: 관리자(root)가 시스템 관리를 목적으로 설정한 예약 내용이 등록되는 곳 (시스템 전역에 영향) 임의의 사용자를 지정하여.. 2024. 9. 21.
[Linux] DHCP 1. 자동으로 네트워크 설정을 관리해주는 프로토콜, DHCP DHCP(Dynamic Host Configuration Protocol)은 자신의 네트워크 안에 있는 컴퓨터가 부팅될 때, 자동으로 IP주소, 서브넷 마스크, DNS 주소, 게이트웨이 주소를 할당해주는 프로토콜이다. 이 DHCP 덕분에 우리는 IP, 서브넷 마스크, 게이트웨이 등에 대해 세세하게 알지 못하지만, 큰 어려움 없이 인터넷을 이용하고 있다고 봐도 무방하다. 또한 DHCP는 정적(Static)으로 IP를 부여했을 때와 다르게, 컴퓨터를 사용하지 않을 경우, 해당 컴퓨터에 부여되었던 IP를 다른 곳에 사용할 수 있어, 적은 개수의 IP 주소로도 여러 명이 사용 가능하다는 장점이 있다(주로 공인 IP에서 유용).  DHCP는 UDP를 전.. 2024. 9. 21.
[Linux] 도대체 프로세스가 뭐야?(프로세스 관리 명령어) 1. 프로그램과 프로세스란? 프로그램과 프로세스의 정의는 다음과 같다. 먼저 프로그램은 "저장 장치(storage, HDD, SSD)에 저장되어 있는, 실행되지 않은 정적인 실행 파일"을 의미한다. 그리고 이러한 프로그램이 실행되어 메모리(Main Memory, RAM)에 올라오면 동적인 상태의 프로세스가 된다고 볼 수 있다.  2. 프로세스의 상태(State)Ready 프로세스가 모든 자원을 가지고, 실행 준비를 마친 상태. 아직 CPU에서 실행되지 않고, 준비큐에서 실행을 기다리는 단계Dispatch (Ready => Running) 스케줄러에 의해 선택된 준비큐 맨 앞에 있는 프로세스에게 프로세서를 할당하는 것 Interrupt (=time out) (Running => Ready)예외, 입출력, .. 2024. 9. 19.
[Linux] 파일 소유권 & 권한 / 특수 권한 Linux 계정의 홈 디렉토리에 들어가서 ls -l 명령어를 쳐보면 다음과 같이 뜰 것이다.  이때 나오는 정보의 구성에 대해서는 디렉토리 권한 관련 포스트 에서 이미 언급하였지만, 다시 정리해보자면, 파일의 종류(-, d, l), 파일의 접근 권한(rwx --- r-x), 하드 링크, 소유자(root, user1), 소유그룹, 파일의 크기, MAC Time, 파일명으로 이뤄져 있다. 이번 포스트에서는 이중 파일의 접근 권한(Permission)과 소유권, 소유 그룹에 대해 설명할 것이다. 1. 소유권(File Ownership)? 권한(Permission)? 1) 파일/디렉토리의 권한을 변경할 수 있는 권리, 소유권 먼저 소유권(File Ownership)이란 해당 파일 또는 디렉토리의 권한을 누가 변.. 2024. 9. 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로 접속하면 제한을 걸거나, 접속을 거부하는 것.. 2024. 9. 14.