#1_리눅스 특징 및 장단점
(1) 리눅스의 특징
- 오픈 소스 운영체제
ㆍ소스코드 및 모든 관련 자료가 공개되어 있는 운영체제
- 멀티유저(다중 사용자), 멀티태스킹(다중 작업) 운영체제
ㆍ멀티유저 기능이란 여러 사용자가 동시에 동일한 시스템에 접근이 가능한 것을 의미
ㆍ멀티태스킹은 여러 개의 테스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능
ㆍ가상 터미널 환경으로 하나의 모티러에 여러 개의 가상 화면을 두어 화면마다 다른 작업 실행 가능
- 다중 스레드를 지원하는 네트워크 운영체제
ㆍ하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있기 때문에 강력한 네트워크 지원 가능
ㆍ네트워크 서버로 사용이 가능하며 인터넷과 이더넷에 안정적으로 연결 가능
ㆍ웹 브라우저, 메일, 뉴스, 웹 서버 등의 모든 인터넷 서비스 기능을 갖춤
- 여러 종류의 파일 시스템 지원
ㆍ리눅스의 기본 파일 시스템인 ext2, ext3, ext4, DOS의 FAT16, Windows의 FAT32, NTFS, 네트워크 파일 시스템 SMB, CIFS, NFS 등 지원
(2) 리눅스의 장점
- 리눅스는 유닉스와 완벽하게 호환 가능
ㆍ리눅스는 POSIX(Portavle Operating System Interface) 규격을 따름
ㆍPOSIX는 유닉스 운영체제에기반을 두고 있는 표준 운영체제 인터페이스를 말함
ㆍ리눅스는 POSIX 표준화를 기반하기 때문에 유닉스 소스코드를 전혀 사용하지 않고 개발됨
ㆍPOSIX 규격을 따르기 때문에 유닉스용 프로그램은 별도의 수정 없이 리눅스에서 동작할 수 있음
- 리눅스는 PC용 운영체제보다 안정적
ㆍ일반 PC는 업무가 끝나면 전원을 끄지만 리눅스는 네트워크 사용을 전제로 설계되었기 때문에 특별한 사항을 제외하고 항상 켜 놓아도 안정적으로 운영
ㆍ리눅스는 네트워크 기반 하의 멀티유저, 멀티태스킹이 가능하여 많은 작업자가 동시에 사용해도 안정적인 시스템 운영 가능
- 하드웨어 기능을 효과적으로 사용
ㆍ다른 운영체제보다 적은 양의 메모리를 필요로 함
ㆍSWAP 방식을 통해 램(RAM)이 부족한 경우 Swap 영역을 늘려 메모리의 효율성을 높일 수 있음
- 리눅스는 오픈 소스 운영체제임
ㆍ많은 인재가 확보되어 있기 때문에 우수한 소프트웨어 개발이 가능하고 여러 배포판 개발 업체들이 있어 사용자에게 넓은 선택권이 주어짐
ㆍ다양한 배포판이 존재하여 운영체제뿐만 아니라 여러가지 유틸리티 프로그램 및 응용 프로그램을 무료로 제공
(3) 리눅스의 단점
- 공개 운영체제이기 때문에 문제점 발생 시 기술 지원의 한계
ㆍRHEL과 SUSE과 같은 몇몇 엔터프라이즈용 리눅스 들은 기술 지원이 유료로 제공되고 있으나 대부분은 예상치 못한 오류 발생 시 개발자들의 기술 지원을 직접적으로 받는 것이 불가능
- 한글 지원 미흡
ㆍ배포판마다 별도의 한글 지원 패키지를 설치한 후 사용해야 한다는 불편함 존재
- 보안상의 취약점이 쉽게 노출될 가능성 존재
ㆍ공개 운영체제이기 때문에 보안에 취약할 것이라는 선입관이 있으나 꾸준한 기술 개발로 비교적 높은 보안성 지원
ㆍ많은 프로그래머들이 리눅스를 연구하고 있기 때문에, 보안 문제가 발생하였을 경우 신속하게 해결 가능
#2_리눅스 디렉터리 종류와 특징
(1) 디렉터리란 파일 저장소를 의미하며, 리눅스 디렉터리는 최상위 디렉터리(/)를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성
(2) 디렉터리 간에는 부모와 자식의 관계를 가지므로 상위 디렉터리와 하위 디렉터리는 부모 디렉터리와 자식 디렉터리로 구분
(3) 디렉터리별 저장 내용은 아래 표와 같음
디렉터리 |
저장 내용 |
/ |
ㆍ파일 시스템이 있는 최상위 디렉터리 ㆍ모든 디렉터리의 출발점인 동시에 다른 시스템과의 연결점이 되는 디렉터리 |
/boot |
부트 디렉터리로 부팅 시 커널 이미지와 부팅 정보 파일 저장 |
/proc |
ㆍ시스템 정보 디렉터리이며 커널 기능을 제어하는 역할 ㆍ현재 실행되는 프로세스와 실제로 사용되는 장치, 하드웨어 정보 저장 |
/lib |
ㆍ공유 라이브러리 디렉터리 ㆍ커널 모듈 파일들과 프로글매 실행을 지원해주는 라이브러리 저장 |
/bin |
ㆍ기본적인 명령어가 저장된 디렉터리 ㆍroot 사용자와 일반 사용자가 함께 사용할 수 있는 명령어 디렉터리 |
/dev |
ㆍ시스템 디바이스 파일들을 저장하는 디렉터리 ㆍ하드디스크 장치 파일, CD-ROM 장치파일 같은 파일 저장 |
/etc |
시스템 환경 설정 파일 저장 디렉터리 |
/root |
시스템 관리자용 홈 디렉터리 |
/sbin |
관리자용 시스템 표준 명령 및 시스템 관리와 관련된 실행 명령어 저장 |
/usr |
사용자 디렉터리로 사용자 데이터나 애플리케이션 저장 |
/home |
ㆍ사용자 계정 디렉터리로 계정들의 홈 디렉터리가 위치 ㆍ일반 사용자들이 로그인 시 처음으로 위치하게 되는 디렉터리 |
/var |
가변 자료 저장 디렉터리로 로그 파일이나 메일 데이터 저장 |
/tmp |
ㆍ각종 프로그램이나 프로세스 작업을 할 때 임시로 생성되는 파일 저장 ㆍ모든 사용자에 대해서 읽기와 쓰기가 허용 ㆍ스티키 비트(sticky bit) 설정으로 파일의 소유자만이 자신의 소유 파일 삭제 가능 |
/mnt |
파일 시스템을 일시적으로 마운트할 때 사용 |
/lost+found |
결함이 있는 파일에 대한 정보가 저장되는 디렉터리 |
- 디렉터리 /proc
ㆍ가상 파일 시스템
ㆍ시스템에서 운영되고 있는 다양한 프로세스들에 관한 내용과 프로그램에 대한 정보 포함
ㆍ디렉터리에서 볼 수 있는 것은 실제 드라이브가 아니라 메모리 상에 저장
ㆍ사용자가 /proc이나 하위 파일에 접근할 때마다 커널에서 파일 내용을 동적으로 생성
ㆍ각 프로세스는 고유의 식별자를 가지고 있으며, 이 식별자를 가진 디렉터리 밑에 정보 저장
- 디렉터리 /lib
ㆍ동적 공유 라이브러리 저장
ㆍ공유 라이브러리에는 많은 프로그램에서 공통으로 사용하는 함수들이 들어있어 디스크의 공간을 절약할 수 있으며, 프로그램마다 동일한 코딩을 할 필요가 없음
ㆍ라이브러리 공유 방법에는 정적 라이브러리와 동적 라이브러리 두 가지 방법 존재
ㆍ정적 라이브러리는 컴파일 과정에서 공유 라이브러리의 루틴을 사용하지 않고 프로그램 내에 라이브러리 루틴의 복사본을 갖도록 컴파일
ㆍ동적 라이브러리는 실행 파일 내부에 라이브러리를 넣어두지 않고 프로그램을 실행할 때 가져와 사용하므로 메모리의 효율성이 높음
- 디렉터리 /dev
ㆍ하드디스크, 프리넡, 입출력장치 등과 같은 장치들을 파일화하여 관리하므로 특정장치를 실행하기 위해서는 해당 장치파일을 실행해야함
ㆍ장치 파일(device file) 또는 특수 파일(special file)은 장치 드라이버임
ㆍ블록 장치 파일(block device)은 하드디스크, CD/DVD, 플로피 디스크와 같은 저장 장치들이며, 문자 장치 파일(character device)은 키보드, 마우스, 테이프, 모니터, 프린터 드의 같은 입출력장치들임
ㆍ리눅스의 표준 입력장치는 키보드이며, 표준 출력장치는 모니터
- 디렉터리 /etc
ㆍ시스템 환경설정 파일과 부팅 관련 스크립트 파일들이 저장되어 있는 디렉터리
ㆍ사용자 정보 및 암호 정보 파일, 보안 파일 등을 저장
디렉터리 |
설명 |
/etc/group |
그룹의 정보가 담겨 있는 파일 |
/etc/passwd |
자원을 사용할 수 있는 사용자 목록 저장 |
/etc/shadow |
ㆍ/etc/passwd의 두 번째 필드인 패스워드 부분을 암호화 관리 ㆍ패스워드 만기일, 계정 만기일 등을 설정 |
- 디렉터리 /usr
ㆍ시스템이 아닌 일반 사용자들이 사용하는 디렉터리
ㆍ공유 가능한 프로그램들이 설치되며 네트워크를 이용해서 여러 개의 시스템을 연결할 경우 이 디렉터리를 공유해서 설치된 프로그램들을 활용할 수 있음
ㆍ/usr 디렉터리는 읽기 전용으로 마운트 되어야 하며, 가변 자료들은 /var 디렉터리로 심볼릭 링크로 이동
- 디렉터리 /var
ㆍ시스템에서 사용되는 가변적인 파일들을 저장하는 디렉터리
ㆍ가변적인 파일들로는 로그파일, 스풀링, 캐싱 등 존재
- 디렉터리 /lost+found
ㆍ파일 시스템의 이상 유무를 진단하고 복구하는 fsck에 의해서 사용되는 디렉터리
ㆍ손상된 파일이나 디렉터리를 /lost+found 디렉터리로 연결한 뒤에 오류를 수정하게 되며 평상시에는 null 파일 링크에 의해서 비어있는 상태로 존재
ㆍ리눅스 파일 시스템 ext2에 의한 fsxk, ext2 프로그램도 해당 디렉터리를 사용
#3_리눅스 배포판
(1) 특징
- 리눅스 배포판은 리눅스 전체 시스템을 구성하는 소프트웨어 패키지 형태로 구성
- 리눅스 커널, GNU 소프트웨어 및 여러가지 자유 소프트웨어로 구성된 운영체제
ㆍ운영체제는 리눅스 커널과 GNU 프로젝트에서 가져온 라이브러리와 유틸리티, X 윈도우 시스템의 그래픽으로 구성되며, 워드 프로세서, 스트레드시트, 미디어 플레이어, 데이터베이스 등 여러 가지 소프트웨어 애플리케이션들도 포함
- 전 세계에 300여가지 배포판이 있으며, 배포판을 구성하는 소프트웨어도 자유롭게 구성되어 있음
ㆍ용량을 맞춰서 X 윈도우를 빼거나 용량이 작은 GNU 유틸리티를 선택하기도 함
- 대표적인 배포판은 슬랙웨어, 데비안, 레드햇 등 존재
ㆍ페도라(Fedora)는 레드햇, openSUSE는 노벨, 우분투(Ubuntu)는 캐노니컬 등의 기업이 관리하는 배포판
ㆍ데비안(Debian)이나 젠투(Gentoo)는 리눅스 커뮤니티 기반 배포판
(2) 종류
- 슬랙웨어 리눅스(Slackware Linux)
ㆍ배포판 가운데 가장 먼저 대중화된 배포판으로 1992년 패드릭 볼커딩에 의해 출시
ㆍ최근 패키지 관리의 문제점으로 인하여 인기가 다소 떨어짐
ㆍ구조가 간결하고 파악하기 쉽게 때문에 유닉스 학습에 리눅스를 사용하고 싶어 하는 사용자들에게 적합
- 데비안(Debian)
ㆍ1994년 이안머독(Ian Murdock)에 의해 비영리 조직으로 데비안 프로젝트 설립
ㆍ데비안 프로젝트에서 만들어 배포하는 공개 운영체제로 GNU의 공식적인 후원을 받고 있는 유일한 배포판
ㆍ리눅스 커널을 탑지한 대비안 GNU/리눅스, GNU 허드 커널을 탑재한 데비안 GUN/허드, FreeBSD 커널을 탑재한 데비안 GNU/KFreeBSD, NetBSD 커널을 탑재한 데비안 GNU/NetBSD 등으로 나뉘며 현재 이 가운데 정식판이 존재하는 것은 데비안 GNU/리눅스 뿐임
ㆍ데비안은 패키지 설치 및 업그레이드 과정이 단순하며, 인스톨 후 패키지 매니저인 apt 등을 이용하면 소프트웨어의 설치가 업데이트에서 다른 패키지와의 의존성 확인, 보안관련 업데이트 자동으로 수행 가능
- 우분투(Ubuntu)
ㆍ데비안 GNU/리눅스(Debian GNU/Linux)에 기초한 운영체제
ㆍ고유한 데스크탑 환경인 유니티를 사용하는 리눅스 배포판
ㆍ영국에 기반을 둔 회사인 캐노니컬의 지원을 받음
ㆍ여섯 달마다 새 버전이 하나씩 배포, GNOME의 새 버전이 나오는 시기와 유사
ㆍ사용자 편의성에 초점
- 레드햇
ㆍ미국의 레드햇사가 개발하던 리눅스 배포판
ㆍ현재는 레드햇사가 유료로 기술지원을 하는 기업용 레드햇 엔터프라이즈 리눅스(RHEL)와 페도라 프로젝트에서 개발하고 있는 페도라로 분류
ㆍ레드햇은 기업용 유료 리눅스 배포판인 RHEL의 개발을 지원
- RHEL(Red Hat Enterprise Linux)
ㆍ레드햇이 개발하여 판매하고 있는 상용 리눅스 배포판
ㆍ18~24개월에 한번씩 새로운 버전이 공개되며 라이선스는 별도로 판매하지 않음
ㆍ서브 스크립션의 형태로 요금을 지불하는 방식으로 계약
ㆍ기술 지원은 버전마다 출시 시점으로부터 7년동안 제공
ㆍ계약기간 중에는 추가 비용 없이 업그레이드 및 다운그레이드를 자유롭게 실시할 수 있음
ㆍ상업용 패키지는 구입해야 하지만 소스코드는 레드햇의 FTP 사이트를 통하여 공개
- 페도라
ㆍ리눅스 커널에 기반한 운영체제와 레드햇의 후원과 개발 공동체의 지원 아래 개발된 배포판
ㆍ일반적인 목적을 가진 RPM 기반의 소프트웨어가 결합된 운영체제
ㆍ6개월 간격으로 새로운 버전이 배포되며 지원기간은 각 버전마다 13개월
ㆍ소프트웨어 개발이 안정적으로 이루어지기 위해서는 새 버전으로 계속 교체되어야 한다는 문제점 존재
- CentOS
ㆍ업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 운영체제
ㆍ플랫폼을 제공할 목적으로 만들어진 리눅스 운영체제
ㆍ자체 커뮤니티에 의하여 관리
ㆍ기본적으로 포함되는 소프트웨어와 업데이트되는 소프트웨어를 아울러 이전 파일에 대한 상위판과 100%에 최대한 가까운 호환성을 유지하는 것이 원칙
ㆍ레드햇의 기술 지원은 받지 않음
- 수세(SUSE)
ㆍ독일에서 출시된 배포판으로 유럽에서 인기
ㆍ풍부한 기능과 안정성, 보안 기능 포함
ㆍ정기적인 배포판이 존재한다기보다는, 언제든지 새로운 버전이 출시되면 업데이트가 가능한 롤링 릴리즈(rolling release) 방식 사용
ㆍ오픈 수세, 수세 엔터프라이즈 리눅스로 분류