[Linux] 리눅스 개발 환경 구축

jeffyun3061 ㅣ 2023. 12. 5. 09:06

 

리눅스 소개

 

리눅스는 1991년에 리누스 토르발스(Linus Torvalds)에 의해 개발된 오픈소스 운영체제

리눅스는 유닉스를 모방하여 만들어진 운영체제

●  맥 OS, 리눅스 등 많은 운영체제가 유닉스에 영향을 받아 만들어짐

- 이로 인해 맥북과 리눅스는 유사한 운영체제 환경

- 이에 반해 윈도우는 비교적 독자적인 방향

● 안드로이드 운영체제는 리눅스 커널을 기반으로 개발(2000년대 중반)

● 이후 많은 운영체제가 무료로 배포된 리눅스에 영향을 받아 만들어졌고, 리눅스 운영체제를 기반으로 다양한

  프로그램을 추가한 수많은 배포판이 나오게됨

리눅스 배포판

 

리눅스에는 수백개의 배포판이 존재

●   공통된 운영체제 커널을 사용하되 갖가지 다른 응용프로그램을 다르게 조합해 만든, 리눅스

  운영체제크게는 redhat계열, debian계열이 존재

●  크게는 redhat계열, debian계열이 존재

 - 데이만계열은 ubuntu, debian등이 대표적

 - 레드헷계열은 redhat, cenmtos등이 대표적인 배포판

● 도커에서 사용하는 가벼운 alphine리눅스도 존재

● 일반 웹서비스에서는 ubuntu가 1위

● 상업용 시장에서는 redhat이 1위

 

리눅스 주요 개념

 

커널

●  커널(kernel)은 컴퓨터 시스템의 핵심적인 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리

    메모리 관리, 입출력관리, 프로세스 관리등

●  프로세스는 컴퓨터에서 실행 중인 프로그램을 의미

파일 시스템 구조

● 파일 시스템은 계층적 구조를 가지며, 가장 상위에는 루트 디렉토리(/)

● 주요 디렉토리로는 /bin, /etc, /home, /var, /usr 등

 - /home은 사용자의 홈 디렉토리, / etc는 시스템 설정 파일을저장

 

사용자와 그룹

● 리눅스에서 사용자는 여러 그룹에 속하게 하여 그룹으로 관리

● 권한 관리를 통해 특정 사용자나 그룹이 파일이나 디렉토리에 접근할 수 있는 권한을 지정

 

쉘(Shell)

● 사용장와 운영체제 간의 인터페이스 프로그램. 쉘은 사용자의 명령을 해석하여 운영체제 커널에 전달

● 대표적인 쉘로는 bash, zsh 등

 

리눅스 실습 준비

 

● 가상환경에서 리눅스 설치

 

VSCode, Git, VMware, Ubuntu 설치

 

git repository에 user.name, user.email 잘 세팅해야 잔디가 잘 심어진다