[ 운영체제 ]
사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어
우리가 실행하는 대부분의 프로그램은 운영체제에서 관리, 제어한다.
[ Linux ]
- 오픈 소스 운영체제
> 소스코드 및 모든 관련 자료가 공개되어 있다.
- 멀티유저, 멀티태스킹 운영체제
- 다중 스레드를 지원하는 네트워크 운영체제
- 여러 종류의 파일 시스템을 지원
- 유닉스와 완벽하게 호환 가능
- 하드웨어 기능을 효과적으로 사용
> 적은 양의 메모리를 필요로 함
> 램이 부족할 경우 SWAP방식을 통해 swap영역을 늘려 메모리의 효율성을 높일 수 있다.
- 보안상의 취약점이 쉽게 노출될 가능성이 있다.
> 꾸준한 기술 개발로 보완 중
+ 리눅스 디렉터리 종류와 특징
- 리눅스 디렉터리 : 최상위 디렉터리( / )를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성
+ 리눅스 배포판
: 리눅스 전체 시스템을 구성하는 소프트웨어 패키지
- 리눅스 커널, GNU 소프트웨어 및 여러가지 자유 소프트웨어로 구성된 운영체제
운영체제는 리눅스 커널과 GNU 프로젝트에서 가져온 라이브러리 유틸리티, X윈도우 시스템의 그래픽으로 구성.
워드프로세서, 스프레드시트, 미디어 플레이어, 데이터베이스 등 여러가지 소프트웨어 애플리케이션들도 포함한다.
- 대표적인 배포판 : 슬랙웨어, 데비안, 레드햇 ....
[ Debian ]
- 1994년 이안머독에 의해 비영리 조직으로 데비안 프로젝트 설립
- 데비안 프로젝트에서 만들어 배포하는 공개 운영체제로 GNU의 공식적인 후원을 받고 있는 유일한 배포판
- 리눅스 커널을 탑재한 데비안 GNU/리눅스(현재 정식판 존재), GNU hurd 커널을 탑재한 데비안 GNU/허드, FreeBSD 커널을 탑재한 데비안 GNU/KFreeBSD, NetBSD 커널을 탑재한 데비안 GNU/NetBSD등으로 나뉜다.
- 넓은 유저층을 가지고 있어 사용법이 온라인 웹사이트나 커뮤니티에 자세히 기술되어 있다는 점이 진입장벽을 낮추어 초보 리눅스유저들이 접근하기 쉬운 OS
- 데비안은 패키지 설치 및 업그레이드의 과정이 단순하다. Install 후 패키지 매니저인 apt등을 이용하면 소프트웨어의 설치나 업데이트에서 다른 패키지와의 의존성 확인, 보안관련 업데이트 등을 자동으로 해준다.
# GNU (GNU's Not Unix)
GNU는 유닉스가 아니다 - 의 약자
GNU 프로젝트를 통해 개발한 유닉스 계열 컴퓨터 운영체제로 완전한 유닉스 호환 소프트웨어 시스템이 되는 것이 목표
# 자유 소프트웨어 재단 (FSF, Free Software Foundation)
- 사용자가 소프트웨어를 실행하고, 복제, 배포, 학습, 개작, 향상시킬 수 있는 소프트웨어
[ 특징 ]
- 어떤 목적이든 원하는 대로 프로그램을 실행시킬 수 있는 자유
- 무료 또는 유료로 프로그램 복제물을 재배포할 수 있는 자유
- 필요에 따라 프로그램을 개작할 수 있는 자유
- 공동체 전체가 개선된 이익을 나눌 수 있게 개작한 프로그램을 배포할 수 있는 자유
# BSD (Berkeley Software Distribution) 라이센스
[ CentOS ]
- 업스트림 소스인 레드햇 엔터프라이즈 리눅스에서 레드햇의 로고, 브랜드를 제거하고 배포한 무료버전
- 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 운영체제
- 플랫폼을 제공할 목적으로 만들어진 리눅스계 운영체제
- 레드햇의 기술 지원을 받지 않고 자체 커뮤니티에 의해 관리되고 있다. > 패치가 다소 느리다.
- 기본적으로 포함되는 소프트웨어와 업데이트되는 소프트웨어를 아울러 이전 파일에 대해 상위판과 100%에 가까운 호환성을 유지하는 것을 원칙으로 한다.
- 서버용 운영체제로 인기가 많다.
[ AppArmor & SELinux ]
: 시스템 관리자가 프로그램 프로필별로 프로그램의 역량을 제한할 수 있게 해주는 리눅스 커널 보안 모듈(LSM)
> 정책 파일을 통해 각 애플리케이션이 접근할 수 있는 파일과 경로를 제한한다.
> 개발자가 프로세스에서 수행할 수 있는 작업을 제한할 수 있다.
- 강제 접근 통제(MAC, 필수 엑세스 제어)를 제공(하여 전통적인 유닉스의 임의적 접근 통제 모델(DAC)을 지원한다.)
- 웹 브라우저, 서버 소프트웨어와 같이 악용될 수 있는 소프트웨어를 제한하는데 유용하다.
# MAC (Mandatory Access Control, 강제 접근 통제)
- 정의된 정책을 활용하여 사용자와 프로세스의 행동을 제어
- 파일의 유형, 사용자의 역할, 프로그램의 기능과 신뢰도, 데이터의 민감성과 무결성을 고려
# DAC (Discretionary Access Control, 임의 접근 통제)
- 소유자가 사용자 또는 그룹이 자원에 접근하는 것을 조절할 수 있음
- 소유자가 파일을 제어
- 계정과 소유권에만 기반
# LSM (Linux Security Modules, 리눅스 보안 모듈)
+ AppArmor (Application Armor)
- Debian , Ubuntu , Synology (DEB-base)
- 개별 응용프로그램을 보호하는 일에 집중한다.
- 응용 프로그램 단위의 보안 모델을 구현한다.
- 정책 파일을 기반으로 작동한다.
- 파일 경로를 통해 작동한다.
+ SELinux (Security-Enhanced Linux)
- Red Hat, Fedora, CentOS (RPM-based)
- 시스템 전체에 보안 설정
- AppArmor에 비해 설정이 복잡하다.
- 정책파일에 올바른 파일 시스템 레이블이 필요하다.
- 파일에 라벨을 적용한다.
[ apt .vs. aptitude ]
+ apt (Advanced Package Tool)
- 데비안 리눅스의 소프트웨어 설치와 제거를 위한 패키지 관리 툴
(apt-get과 거의 비슷하지만, apt-get이 지원하는 옵션이 더 많긴 하다.)
- 패키지 관련 정보를 확인하거나 패키지 설치 시 발생할 수 있는 의존성과 충돌문제를 해결하기 위해 '/etc/apt/source.list' 파일을 사용
> 어떤 패키지를 설치할 때 종속성 문제를 고민하지 않아도 된다.
- 매우 유연하여 사용자가 패키지를 검색하기 위해 새 소스 추가, 적절한 고정, 즉 시스템 업그레이드 중에 사용할 수없는 패키지를 표시하여 현재 버전이 설치된 최종 버전의 다양한 구성을 쉽게 제어 할 수 있습니다.
+ aptitude
- 주요 패키지 작업 과정을 자동화하여 가능한 쉽게 작업할 수 있도록 한다.
- 기능에 사용자 인터페이스를 추가하여 사용자가 대화형으로 패키지를 검색하고 설치 또는 제거 할 수 있는 고급 패키징 도구
+ apt .vs. aptitude 차이점
apt | aptitude |
- 다른 상위 수준의 패키지 관리자가 사용할 수있는 하위 수준의 패키지 관리자 - apt-get이 모든 패키지 설치, 업그레이드, 시스템 업그레이드, 패키지 제거, 종속성 해결 등을 처리 - 명령 줄로만 제한 - 설치된 패키지를 제거시에 사용자가 추가 옵션을 추가하거나 명시적으로 지정 - 패키지의 설치 또는 제거와 관련하여 충돌하는 작업의 경우에는 죽을 수 있음 |
- 상위 수준의 패키지 관리자 - apt-mark 및 apt-cache의 기능을 포함하여 apt보다 훨씬 많은 작업을 처리. 설치된 패키지 목록, 패키지가 자동 또는 수동으로 설치되도록 표시하고, 패키지를 보관하여 업그레이드 할 수 없도록 만드는 등의 작업을 수행 - 필요한 명령을 입력하여 명령 줄 작업 옵션과 함께 (기본 텍스트 전용) 대화형 인터페이스 - 설치된 패키지를 제거하는 동안 사용하지 않는 패키지를 자동으로 제거 - 특정 조치가 차단되는 이유 또는 특정 조치를 취해야하는 이유 또는 이유에 대해 자세히 조사하기 위해 why 및 why-not 명령을 제공 - 패키지의 설치 또는 제거와 관련하여 충돌하는 작업의 경우에 해당 충돌을 제거하기위한 가능한 조치를 제안 할 수 있음 |
'42seoul > circle-1' 카테고리의 다른 글
[ born2beroot ] 4. 방화벽에 대하여 (0) | 2022.02.04 |
---|---|
[ born2beroot ] 3. SSH에 대하여 (0) | 2022.02.04 |
[ born2beroot ] 1. 가상머신 (Virtual Box) (0) | 2022.02.04 |
[ born2beroot ] 0. 과제 이해하기 (0) | 2022.02.04 |
[ft_printf] 2. 가변인자 (variadic arguments) (0) | 2022.01.16 |
댓글