본문 바로가기
네트워크/Linux

1. 리눅스의 이해

by Testengineer 2021. 10. 23.
반응형

리눅스의 개요

리눅스의 특징

  • 오픈소스 운영체제
  • 멀티유저(다중 사용자). 멀티태스킹(다중작업) 운영체제
  • 다중 스레드를 지원하는 네트워크 운영체제
  • 여러 종류의 파일 시스템을 지원함

 

리눅스의 장단점

  • 유닉스와 완벽하게 호환 가능함
  • PC용 운영체제보다 안정적
  • 하드웨어 기능을 효과적으로 사용함
  • 오픈 소스 운영체제
  • 공개 운영체제이기 때문에 문제점 발생 시 기술 지원을 받는데 한계가 있음
  • 한글 지원이 미흡함
  • 보안상의 취약점이 쉽게 노출될 수 있음

 

리눅스 디렉터리 종류와 특징

최상위 디렉터리(/)를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성되어 있음.

디렉터리 저장 내용
/ - 파일 시스템이 있는 최상위 디렉터리. (=루트 디렉터리)
/boot - 부트 디렉터리로 부팅시 커널 이미지와 부팅 정보 파일 저장
/proc - 시스템 정보 디렉터리이며 커널 기능을 제어함
- 현재 실행되는 프로세스와 실제로 사용되는 장치, 하드웨어 정보 저장
- 디렉터리에서 볼 수 있는 것은 실제 드라이브가 아니라 메모리 상에 저장되어 있음
- 사용자가 /proc이나 하위 파일에 접근할때마다 커널에서 파일 내용을 동적으로 만들어냄
/lib - 커널 모듈 파일들과 프로그램 실행을 지원해주는 라이브러리 저장
- 공유 라이브러리 디렉터리, 동적 공유 라이브러리를 저장하고 있음
동적 라이브러리는 실행 파일 내부에 라이브러리를 넣어두지 않고 프로그램을 실행할때 가져와 사용하므로 메모리 효율성이 높음
/bin - 기본적인 명령어가 저장된 디렉터리
- root 사용자와 일반 사용자가 함께 사용할 수 있는 명령어 디렉토리
/dev - 시스템 디바이스 파일들을 저장하는 디렉터리
- 하드디스크 장치파일, CD-ROM 장치파일 같은 파일저장
/etc - 시스템 환경설정 파일 저장 디렉터리
- 사용자 정보 및 암호정보 파일, 보안 파일등을 저장함
- /etc/group : 그룹의 정보가 담겨있는 파일
- /etc/passwd : 자원을 사용할 수 있는 사용자 목록 저장
- /etc/shadow : /etc/passwd의 두번째 필드인 패스워드 부분을 암호화 관리, 패스워드 만기일, 계정 만기일등을 설정
/root 시스템 관리자용 홈 디렉터리
/sbin 관리자용 시스템 표준 명령 및 시스템 관리와 관련된 실행 명령어 저장
/usr - 사용자 디렉터리로 사용자 데이터나 애플리케이션 저장
- 공유 가능한 프로그램들이 설치됨
- /usr 디렉터리는 읽기 전용으로 마운트 되어야 하며, 가변 자료들은 /var 디렉터리로 심볼릭 링크로 사용하게 됨
/home - 사용자 계정 디렉터리로 계정들의 홈 디렉터리가 위치
- 일반 사용자들이 로그인시 처음으로 위치하게 되는 디렉터리
/var - 시스템에서 사용되는 가변적인 파일들을 저장하는 디렉터리
- 가변적인 파일들로는 로그파일, 스풀링, 캐싱 등이 있음
/tmp - 각종 프로그램이나 프로세스 작업을 할 때 임시로 생성되는 파일 저장
- 모든 사용자에 대해 읽기,쓰기 허용
- sticky bit 설정으로 파일의 소유자만이 자신의 소유 파일 삭제 가능
/mnt 파일 시스템을 일시적으로 마운트 할 때 사용
/lost+found - 결함이 있는 파일에 대한 정보가 저장되는 디렉터리, 평상시에는 null 파일 링크에 의해 비어있는 상태로 존재함
- 파일 시스템의 이상 유무를 진단하고 복구하는 fsck에 의해서 사용되는 디렉터리

 

리눅스 배포판 특징

리눅스 배포판은 리눅스 전체 시스템을 구성하는 소프트웨어 패키지 형태로 리눅스 커널, GNU 소프트웨어 및 여러 가지 자유 소프트웨어로 구성된 운영체제이다. 전 세계에 300여 가지의 배포판이 있으며, 배포판을 구성하는 소프트웨어도 자유롭게 구성되어 있다. 대표적인 배포판으로 슬랙 웨어, 데비안, 우분투, 레드햇 등이 있다.

 

리눅스 라이선스

GNU(GNU's Not UNIX)

리처드 스톨만이 자유 소프트웨어 재단에서 진행하며 유지중인 운영체제 프로젝트. 1983년에 개발을 처음 시작했고, 유닉스 계열 컴퓨터 운영체제로 '완전한 유닉스 호환 소프트웨어 시스템'이 되는 것이 목표

 

자유 소프트웨어 재단, FSF(Free Software Foundation)

1985년 리처드 스톨만이 설립한 재단/ 자유 소프트웨어는 사용자가 소프트웨어를 실행하고, 복제하고, 배포하고, 학습하고, 개작하고, 향상시킬 수 있는 소프트웨어로 자유 소프트웨어를 유료로 판매할 때 문제가 생기지 않음.

 

오픈 소스 소프트웨어(Opne Source Software)

자유가 가진 무료의 의미와는 다른 개념으로 사용됨.

 

GNU GPL(General Public License)

GPL은 FSF에서 만든 Free 소프트웨어 라이선스. 기본적으로 어떤 프로그램을 개발할 때, GPL 코드를 일부라도 사용하게 되면 해당 프로그램은 GPL이 됨. 유료 판매가 가능하지만 반드시 전체 소스코드는 무료로 제공해야 함. 

 

GNL LGPL(Less General Public License)

LGPL은 GPL보다 완화된 조건의 공개 소프트웨어 라이선스. LGPL을 이용해 개발했을 경우 소스코드는 공개하지 않아도 되고 사용했음을 명시만 하면 됨. LGPL 코드를 단순 이용한 것이 아니라 이를 수정하거나 파생 라이브러리를 개발해 배포하는 경우에는 전체 코드를 공개해야 함.

 

BSD(Berkeley Software Distribution) 라이선스

버클리 캘리포니아 대학의 자유 소프트웨어 저작권의 한가지. 소스코드 공개 의무가 없으며 상업적 소프트웨어에서도 무제한 사용 가능한 라이선스. 

 

아파치(Apache) 라이선스

아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정. 아파치 2.0 라이선스는 누구나 해당 소프트웨어에서 파생된 프로그램 제작 가능, 저작권을 양도, 전송할 수 있는 규정이 있음.

 

MIT(Massachusetts Institute of Technology) 라이선스

미국 매사추세츠 공과대학 공학도들을 위해 개발한 허가서. BSD 계열 라이선스 중의 하나로 누구나 개작가능하고 수정본 재배포 시에 소스코드 비공개가 가능함. 이 라이선스가 적용된 소프트웨어에는 X Window System, JQuery, Node.js 등이 있음. 소프트웨어를 개조한 제품을 반드시 오픈 소스로 배포해야 한다는 규정이 없음.

 

MPL(Mozilla Public License)

오픈 소스와 자유 소프트웨어 라이선스. MPL은 BSD 사용 라이선스와 GNU 일반 공중 사용 라이선스의 혼합적 성격을 띄고 있음. 특징은 소스코드와 실행파일의 저작권을 분리했음. 사용한 MPL 소프트웨어와 수정한 MPL 소프트웨어에 대한 공개 의무만 가지며, 별도의 소스코드와 실행 파일은 독점 라이선스를 가질 수 있음.

반응형

'네트워크 > Linux' 카테고리의 다른 글

6. 리눅스 프로그램 & 주변장치 연결  (0) 2021.12.18
5. 프로세스 관리  (0) 2021.12.11
4. Shell  (0) 2021.12.04
3. 파일 시스템 관련 명령어  (0) 2021.11.27
2. Partition & Boot Manager  (0) 2021.10.30

댓글