linux 18

[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..

System/Linux 2024.09.23

[Linux] 작업 예약 명령어: cron

한 회사의 서버 엔지니어가 되어 직원들이 출근하기 전인 오전 5시에 백업을 해야한다고 생각해보자. 하루 이틀 정도는 일찍 출근할 수 있겠지만 매일 해야 한다고 생각하면 정말 워라벨은 꿈도 꿀 수 없는 일이 따로 없을 것이다. 이러한 고통을 해소시켜줄 수 있는 소프트웨어가 바로 cron이다. cron은 주기적으로 반복되는 시스템 작업을 예약하는 소프트웨어이다. 주로 데몬인 crond, 설정 파일인 /etc/crontab을 이용해서 사용한다. *데몬(daemon): 백그라운드에서 항상 서비스를 제공중인 소프트웨어 작업 예약 관리 명령어 vi /etc/crontab/etc/crontab: 관리자(root)가 시스템 관리를 목적으로 설정한 예약 내용이 등록되는 곳 (시스템 전역에 영향) 임의의 사용자를 지정하여..

System/Linux 2024.09.21

[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] 하드 링크 & 심볼릭 링크 / 파일 관리 명령어

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