https://sparcs.org/static/seminars/grandmarnier-20110617-2.pdf
리눅스의 특징
1)대부분 무료(오픈소스)
2)대부분의 하드웨어어 호환됨
3)다양한 설정가능(네트워크 등)
4)다양한 파일시스템 지원
5)낮은 하드웨어 사양에서도 사용가능
리눅스 배포판
Debian
-패키지 설치 및 업그레이드가 쉽다는 장점
Dpkg, apt 등을 이용하여 소프트웨어 설치나 업데이트에서 다른 패키지와의 의존성 확인, 보안관련 업데이트 등을 자동으로 해준다
Ubuntu
-데스크톱에서 리눅스를 쉽게 사용할 수 있게 만든 리눅스 배포판
-Debian을 바탕으로 만들어짐
Centos(the Community ENTerprise Operation System)
-레드헷 엔터프라이즈 리눅스(상용)의 소스 코드를 그대로 가져와 사용함.
-업데이트되는 상위판과 호환성 유지
리눅스의 구조
USER <-> SHELL <-> LINUX KERNEL <-> COMPUTER HARDWARE
APPLICATION <-> LINUX KERNEL <-> COMPUTER HARDWARE
SHELL
-유저와 직접 소통하며 유저에게 명령을 전달받아 실행
-주로 bash가 많이 쓰임
/etc/shells에 사용가능한 쉘의 위치가 기록되어 있음
리눅스에서 관리하는 모든 것은 파일로 인식
(일반파일, 하드웨어, 현재 실행되는 프로세스 등...)
리눅스의 사용자 계층
-root
-user(root외 사용자)
*sudoer
root가 허가한 사용자이며 sudo라는 명령어를 통해서 root의 권한을 행사(명령어실행)할 수 있는 사용자
/etc/sudoers 파일에 sudo를 사용할 수 있는 사용자와 각 사용자가 root권한으로 실행할 수 있는 명령이 정의되어 있음
-사용자들은 그룹으로 묶어서 관리함
모든 유저는 적어도 하나의 그룹에 속해있음
-일반적으로 모든 파일은 파일의 소유주, 그룹, 그 외 사용자의 세가지 단위로 분리되어 각 단위마다 권한을 다르게 지정할 수 있음
권한을 변경할 수 있는 권한은 파일의 소유주와 root가 가지고 있음
리눅스의 디렉토리 구조
/
/bin - common programs
/boot - kernel and other boot files
/dev - device files
/etc - configuration files
/lib - shared libraries
/lost+found - damaged files
/misc - miscellaneous files(여러가지 다양한 파일 = 기타 파일들)
/mnt - mounted file systems
/proc - directories and files that report system status
/root - root user's home directory
/tmp - temporary files
/var - log files, spool files and other dynamic files
/home - user's home directory
/usr - 모든 유저가 쓸수 있는 애플리케이션과 파일들
/usr/bin - common programs
/usr/etc - configuration files
/usr/games - games
/usr/include - C header files
/usr/lib - shared libraries
/usr/local - other applications
/usr/sbin - system administration programs
/usr/share - shared information
/usr/src - source code
/opt - 추가적인 프로그램들의 설치 경로(오픈오피스, 파이어폭스 등등)
추가적으로 개발을 해서 프로그램을 배포할때 서버에서의 디렉토리 위치는
/usr
/usr/local
/opt
정도가 될듯
POSIX(Portable Operating System Interface)
유닉스 운영체계에 기반을 두고 있는 표준 운영체계 인터페이스