개요

리눅스는 오픈 소스 운영체제로 윈도우처럼 다중 사용자, 다중 작업을 지원한다.
보통 리눅스 운영체제를 사용하게 되는 환경은 AWS에 배포할 때와 도커를 사용할 때로 리눅스 콘솔만 보면 항상 막막해진다.
이번 기회에 공부해보자.

특징

  • 오픈소스 운영체제
  • 유닉스와 완벽한 호환
  • 안정적인 운영체제
  • 하드웨어의 효율적 운영

리눅스는 오픈소스인 만큼 여러가지 버전이 존재한다. 가장 오래된 배포판은 슬랙웨어로 종류로는 SUSE, Vector Linux 등이 있다.

그 다음으론 데비안이라는 배포판이 등장했는데 1993년 이안 머독에 의해 설립되어 개발, 배포, 패키지 설치 및 업그레이드가 편리하다는 장점이 있다.
대표적인 것들은 Ubuntu, Linux Mint 등이 있다.

우분투는 영국 캐노니컬 사의 지원을 받아 개발 및 배포된 판으로 데비안 GNU/Linux에 기반한 배포판이다.
고유한 데스크톱 환경인 유니티를 사용하고 6개월 마다 새로운 버전을 배포한다.

레드헷은 미국의 레드헷사가 개발 및 배포한 버전으로 유로인 RHEL과 무료인 Fedora로 나누어 배포하고 있다.
대표적으로는 CentOS가 있다.

RHEL은 레드헷사가 개발 및 배포하는 사용 리눅스 배포판으로 상용 패키지는 유료지만 소스코드는 무로 공개하고 있다.
계약 기간에는 기술지원 및 추가 비용 없이 업그레이드가 자유롭다는 특징이 있다.

CentOS는 RHEL과 완벽하게 호환되는 기업용 무료 배포판이다.

리눅스 부팅 과정

  • Power On Sell Test과정을 수행 후 하드웨어 이상 유무를 검사한 후 에러가 발생할 시 알림을 준다. 이 때 부트 로더가 로딩된다.
  • 부트 로더를 실행하여 커널을 로딩하고 스와퍼 프로세스를 호출한다.
  • 장치들의 드라이버가 초기화된다. init프로세스가 실행된다.
  • init프로세스가 실행되어 /etc/inittab 파일을 읽는다.
  • 부트 레벨을 결정한다.
  • rc.sysinit 스크립트를 실행하여 시스템 초기화 작업을 수행한다.
  • rcs.d 스크립트를 실행하여 해당 부트 레벨 스크립트를 순차적으로 실행한다.
  • x 윈도를 실행한다.

기본 디렉터리 구조

  • /: 최상위 디렉터리
  • /bin: System Binary의 약자로 이진 파일과 리눅스의 기본 명령어가 저장된 디렉토리
  • /usr: 시스템에 사용되는 각종 프로그램이 설치되는 디렉토리
  • /etc: 리눅스 시스템의 각종 환경설정 파일과 디럭터리가 저장된 디렉토리
  • /sbin: 시스템 관리를 위한 명령어가 저장된 디렉토리
  • /lib: 프로그램의 각종 라이브라리 파일이 저장된 디렉토리
  • /var: 시스템에 사용되는 동적 파일을 저장하는 디렉토리
  • /tmp: 임시 디렉토리
  • /root: 시스템 관리자의 디렉토리
  • /proc: 시스ㅔㅁ의 각종 프로세서, 프로그램 정보와 하드웨어 정보가 저장된 디렉토리
  • /dev: 시스템의 각종 장치에 접근하기 위한 장치 드라이버가 저장된 디렉토리
  • /home: 일반 사용자의 홈 디렉토리

리눅스 운영

가장 간단하게 정처기, 네트워크 관리사 등등 어디서나 나오는 파일 구조와 권한 부여법을 알아보자.