4. 1.1 UNIX 계열
Linux BSDMac UNIX
4
http://en.wikipedia.org/wiki/File:Unix_history-simple.svg
5. 1.2 리눅스의 역사와 표준
LINUX (1991)
Linus Tobalds
핀란드헬싱키
GNU Project (1984 )
리처스 스톨만
• System Lib
• Compiler
• Editor
• Shell
• POSIX
• Portable Operating System Interface
Kernel
gcc
Library
Packages
Device
Module
Signal Process
Pipe File Memory
Schedule
Thread Shell
Application
5
UNIX System V( SysV)
support for inter-process
communication using
messages, semaphores, and shared memory.
(AT&T) first released in 1983.
POSIX : Portable Operating System Interface
(IEEE 1003 and ISO/IEC 9945)
• standardized user command
line and scripting interface were based on
the Korn shell.
• user-level programs, services, and utilities
including awk, echo, ed , du, df (512byte)
• program-level services including
basic I/O (file, terminal, and network)
services. ,standard threading library API
6. 2. 리눅스의 특징
1. BSD VS LINUX
2. 리눅스의 종류
3. 리눅스 설치전 알아야 하는 것
1. H/W 지원
2. FileSystem
6
7. 2.1 BSD VS LINUX
FreeBSD Both GNU/Linux
License BSD copyfree, GPL or LGPL GNU
GPLv2, a copyleft , MIT (Xwin)
Base Model
POSIX BSD Unix
x86 PC 기종에서 동작하는
고성능 운영 체제
POSIX SystemV
프리웨어로만 구성된 완전한 하나의
유닉스 시스템
FileSystem
AFS
Coda (experimental)
ReiserFS (read only)
UFS/UFS2
XFS (experimental)
ZFS
FFS
others
Ext2, ext3
FAT, NTFS (experimental)
NFS, SMBFS
ISO9660
swap
UDF
Procfs, RAM disk ,FUSE
ReiserFS
EXT4
UFS (read only)
XFS
JFS
BTRFS
SQUASHFS
others
Pagckage 24,004 44,893 (Ubuntou12.04 )
Security
Unix permissions, Mandatory
Access Control, and ACLs
Mandantory ACL only i686
Firewall IPFW2, IPFilter 및 PF 방화벽 iptables , Netfilter 방화벽
Upgrade
Base System Update
/ 소스컴파일
패키지 관리자
/ 바이너리 재설치
BSD : Berkeley Software Distribution / GNU : GNU is not UNIX / GPL : GNU Public license
FreeBSD : highly scalable on very high load network servers / NetBSD : portability (embeded) / OpenBSD : security / DragonFly
BSD : multi-processor capable infrastructures (SMP, NUMA)
Unix 기반으로 개발되 오픈소스는 FreeBSD와 Linux에서 포팅 가능
7
http://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems
8. 2.2 리눅스의 종류
Humanity towards others
Desktops (2004)
very little maintenance
Base ;Debian, Ubuntu (2006)
• Kubuntu(KDE), Xubuntu(xfce ), Lubuntu(LXDE) , Edubuntu, ubunt
ustudio (Multimedia user)./
• Mint : KDE, Xfce
8
http://cij96.tistory.com/25
http://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4
1994 설립 / 2007 기업용 출시
Freedom. Friends. Features. First
The CommunityENTerprise
Operating System
free and open source software
(Linux,Free BSD Kernel)
Developed in Europe (1994)
earlest Linux / Unix-like
(based on Softlanding Linux System)
9. 2.3 리눅스 설치전 알아야 하는 것 (H/W)
Support Hard Ware
9
http://en.wikipedia.org/wiki/Comparison_of_open_source_operating_systems
10. 2.3 리눅스 설치전 알아야 하는 것 (FILESYSTEM)
Support FileSystem
10
http://en.wikipedia.org/wiki/Comparison_of_file_systems
Filesystem base knowledge
innode : df –I
Link, directory, file
11. 3. 리눅스 설치
11
1. CENTOS 다운로드
2. CENTOS 설치 미디어 선택
3. 리눅스 모드의 종류
1. Centos-Netinstall 모드
2. Centos-그래픽 모드
4. 환경 준비
5. 파티셔닝시 고려해야 하는 운용정책
6. 파티션 설정
1. 파티셔닝
2. 파일 시스템 포멧
3. 부터로더 설치
7. 설치 패키지 선택
8. 사용자 정의 설치 패키지 선택
9. 패키지 설치
1. 기반 시스템
2. 데스크탑/데이터베이스
3. 서버
4. 시스템 관리 / 웹서비스
5. 응용 프로그램
10.패키지 설치 및 의존성 검증
11.설치 완료와 재부팅
12.FIRSTBOOT과 계정 설정
13.로그인
13. 3. 리눅스 설치 – CENTOS 설치 미디어 선택
CentOS-6.3-i386-netinstall.iso
This is the network install and rescue image. This image is designed to be burned onto a CD. You
then boot your computer off the CD
CentOS-6.3-i386-minimal.iso
The aim of this image is to install a very basic CentOS 6.3 system, with the minimum of packages
needed to have a functional system. Please burn this image onto a CD and boot your computer
off it. A preselected set of packages will be installed on your system Everything else needs to be
installed using yum.
Please read http://wiki.centos.org/Manuals/ReleaseNotes/CentOSMinimalCD6.3 for more details
about this image.
Beware that the set of packages installed by this image is NOT identical to the one installed when
choosing the group named "Minimal" from the full DVD image.
CentOS-6.3-i386-bin-DVD1.iso / CentOS-6.3-i386-bin-DVD2.iso
These two dvd images contain the entire base distribution.
Please burn DVD1 onto a DVD and boot your computer off it.
A basic install will not need DVD2.
After the installation is complete, please run "yum update" in order to update your system.
CentOS-6.3-i386-LiveCD.iso / CentOS-6.3-i386-LiveDVD.iso
This is a DVD live image of CentOS 6.3 designed to be burned onto a DVD. You then boot your
computer using that DVD. Please read
http://wiki.centos.org/Manuals/ReleaseNotes/CentOSLiveDVD6.3 for more details about this
image. The disk can also be used to install CentOS 6.3 onto your computer.
13
ftp://centos.mirror.cdnetworks.com/centos/6.3/isos/i386/0_README.txt
14. 3. 리눅스 설치 – 설치 모드의 종류
14
CentOS 의 설치 모드 종류
1. 초기 설치 나 이미 설치된 리눅스를 업그레이드 하는 모드
2. 기본 그래픽 모드로 설치 or Text 모드로 설치 (그래픽 인식 실패시)
3. 복구 모드 : 시스템의 내부 문제가 있거나, 패스워드를 잃었을때 복구 하기 위한 모드
4. 내부 DISK 미디어를 통한 부팅 (부트로더 장애시)
15. 3. 리눅스 설치 – CENTOS – NETINSTALL (1)
15
URL으로 Centos의 Mirror Site의 패키지를 다운 받
아 설치 합니다.
네트웍 드라이버를 설치하도록 합니다. 네트웍 드라이버 모듈을 자동으로 찾아 로딩합니다.
설치할 미디어 검사 는 통과 합니다.
설치 미디어 검사 설치 미디어 선택
네트웍 설정
네트웍 모듈 로딩
16. 3. 리눅스 설치 – CENTOS – NETINSTALL(2)
16
http://ftp.daum.net/centos/6.1/os/i386/IP : 192.168.0.2 / 255.255.255.0
GW: 192.168.0.1
NS : 164.124.101.2
설치 완료패키지 다운로드 와 설치
다운로드 URL
네트웍 설정
17. 3. 리눅스 설치 – CENTOS – GRAPHIC MODE
17
select_language
그래픽 모드 설치 환경 언어 설정
키보드 종류 와 언어
18. 3. 리눅스 설치 - 환경준비 (1)
18
설치 미디어 네트웍 환경
호스트명 설정 날짜 및 Locale
19. 3. 리눅스 설치 – 환경준비 (2)
19
일반 사용자 계정 등록
디스크 파티셔닝
설치 디스크 선택
20. 3. 리눅스 설치 - 파티셔닝시 고려해야 하는 운용정책
파티션명 종류 포멧형식
디렉토
리
웹 서버용 파일 서버 DB 서버 기타
/boot Primary ext2,3,4 필수 100MB (최소 100MB ) 운영체제
/ Primary ext2,3,4 필수
2GB이상 (최소 1GB : 계정 공간 만
큼 )
운영체제
Swap Primary swap 필수
4GB (메모리크기 만큼 2~86GB 사이
즈 단위)
운영체제
/usr ext2,3,4 필수 5GB이상 (설치 패키지 2~5GB 사용) 응용 프로그램
/var ext2,3,4 필수
2GB이상 (최소 1GB 정도:시스템 로
그, Spool)
시스템 로그
/usr/local,
/opt
ext2,3,4 필수 4GB이상
응용프로그램,
로그
/home ext2,3,4 옵션 4G이상 ~ 사용자 정책에 따라 사용자영역
/svc, /exp
ort
any,XFS,R
eiserfs
사용자
3G이상 (프로그램용량,
로그)
사용자영역, 소
스,로그
/oracle any 사용자
Oracle Client 설치시 2
GB이상
3GB이상
/data any 사용자 데이터 소요량 만큼
/oradataN any 사용자 증설 정책
20
1. 파일 시스템 용량 정책 요소
1. 사용자 관리
2. 보안, 통제
3. 확장, 증설 계획
2. 주요 고려 요소
1. 시스템 관리 용이성
1. 시스템 커널
2. 업그레이드
3. 증설,교체
4. 장애 복구
2. 데이터 관리
1. 데이터 증감율
2. 데이터 확장 용이성
3. 데이터 관리
3. 응용 프로그램 관리
1. 응용프로그램 별
2. 특성별
3. 요구 용량 규모별
4. 호환성, 이식성
39. 4. 서버 관리 사전 지식 GCC
39
yum search gcc
• compat-glibc.i386 : Compatibility C library
• binutils220.i386 : Binary utilities for the preview of GCC version 4.4
• compat-gcc-34.i386 : Compatibility GNU Compiler Collection
• compat-gcc-34-c++.i386 : 호환 컴파일 프로그램에 대한 C++ 지원
• compat-libgcc-296.i386 : 호환 2.96-RH libgcc 라이브러리
• compat-libstdc++-296.i386 : 2.96-RH 호환 표준 C++ 라이브러리
• compat-libstdc++-33.i386 : C++ 호환 표준 라이브러리
• cpp.i386 : C 전처리기(Preprocessor).
• gcc.i386 : 다양한 컴파일러 (C, C++, Objective-C, Java, ...)
• gcc-c++.i386 : GCC에 대한 C++ 지원
• gcc-objc++.i386 : Objective-C++ support for GCC
• gcc-objc.i386 : gcc에 대한 객체 C 지원.
• gcc44.i386 : GNU Compiler Collection version 4.4
• gcc44-c++.i386 : C++ support for GCC version 4.4
• libgcc.i386 : GCC version 4.1 shared support library
• libstdc++.i386 : GNU 표준 C++ 라이브러리
• libstdc++-devel.i386 : C++ 개발에 사용되는 헤더 파일과 라이브러리.
• libstdc++44-devel.i386 : C++ 개발에 사용되는 헤더 파일과 라이브러리.
40. 4. 서버 관리 사전 지식 – KERNEL
40
rpm -qa | grep kernel | yum search kernel
• kernel.i686 : Linux 커널 (Linux 운영 체제의 핵심)
• kernel-PAE.i686 : The Linux kernel compiled for PAE capable machines.
• kernel-PAE-devel.i686 : Development package for building kernel modules to match the PAE kernel.
• kernel-debug.i686 : The Linux kernel compiled with extra debugging enabled.
• kernel-debug-devel.i686 : 커널에 조화시키기 위해 커널 모듈의 개발에 필요한 개발용 패키지
• kernel-devel.i686 : 커널에 조화시키기 위해 커널 모듈의 개발에 필요한 개발용 패키지
• kernel-doc.noarch : 커널 소스에서 찾을 수 있는 문서 자료의 여러 부분.
• kernel-headers.i386 : glibc에 의해 사용될 Linux 커널의 헤더 파일
• kernel-xen.i686 : The Linux kernel compiled for Xen VM operations
• kernel-xen-devel.i686 : 커널에 조화시키기 위해 커널 모듈의 개발에 필요한 개발용 패키지
• kerneloops.i386 : Tool to automatically collect and submit kernel crash signatures
41. 4. 리눅스 관리 사전 지식 - UTILITY
FTP
Vsftp, pro-ftp, sftp
Active mode , passive mode
Telnet, SSH
.ssh/known_host .ssh/ remote shell : rsh, rhost
SSL, RSA
Mail
MDA, MTA, MUA
Sendmail, postfix, qmail
SpamAssin,
Pop3, qpoper, dovecot
Database
Mysql, Postgres, Oracle, bdb, shemepore
Data file, tablespace, index
Networking
Xinetd, port, ethernet config , DNS, dhcp
Ping, nslookup, dig, traceroute , ifconfig, route
Monitoring
Netstat, iostat, vmstat, sar
41
42. 5. 리눅스 운영의 기초
42
1. 부터로더 (BOOT LOADER)
2. 부팅과 런레벨 (RUNLEVEL)
3. 파티션 관리를 위한 FDISK
43. 5. 리눅스 운영의 기초 – BOOT LOADER (1)
리눅스의 부팅 순서
하드웨어 테스트 : POST (Power-On Self-Test)
펌웨어 부팅정보 : Initializes the hardware devices
부팅 디바이스 선택 : searching OS to boot
MBR읽어 파티션 선택 : first sector into RAM (512byte)
Boot Loader 구동 : BIOS can load the initial boot pgm.
커널을 읽어 메모리로 로딩
- 커널 압축 해제
- 하드웨어 검사, 장치 드라이버 설정
파일시스템 마운트
init 프로세스
런레벨 별 Daemon구동
43
http://unixbhaskar.wordpress.com/2010/03/19/insight-into-gnulinux-boot-process/
44. 5. 리눅스 운영의 기초 – BOOT LOADER (2)
Boot Loader 의 종류
LILO (LInux Loader)
부팅시 Boot image를 선택 하는 메뉴
MBR(Master boot record)에 위치
16개의 부트이미지 설정
/sbin/lilo –M : MBR에 저장
GRUB (GNU GRand Unified Bootloader)
LILO와 달리 설정 변경 후에 재설치가 필요 없음
동적설정으로 부팅시 조정가능
디스크 없는 시스템 지원
Stage1 직후 30KB, stage2는 일반 파티션내 저정
44
loadln
LILO
GRUB
large-memory
lba32
boot=/dev/hda
install=menu
map=/boot/map
prompt
default=Linux
image=/boot/vmlinuz-2.6.26
label="Linux"
root=/dev/hda1
append=""
read-only
optional
other=/dev/hda3
label="FreeBSD“
table = /dev/hda
45. 5. 리눅스 운영의 기초 – BOOT LOADER (3)
Bootloader 를 이용한 싱글모드로 부팅
패스워드를 상실 했을때, 디스크 장애로 복구가 필요 할때
45
Edit (e) key
Select 커널
Single 추가
두번째 라인 이동
password 수정, 파일 시스템 복구
46. 5. 리눅스 운영의 기초 – 부팅과 런레벨
부팅에 사용되는 명령
Init 0, init 6, shutdown –r now , halt, reboot , poweroff
runlevel 종류
0 : 시스템종료 ( init 0 , shutdown –h now , halt )
1: 싱글 모드 ( 관리자 모드), 콘솔로 접근, : 파일 시스템 페크시 사용 (init 1 )
2. NFS를 지원하지 않는 다중 사용자 모드
3 : 다중 사용자 모드 ( Text Mode, No GUI )
4 : 예약
5 : 다중 사용자 모드 ( 그래픽 모드, GUI )
6: 재부팅
부팅에 관련 된 환경 파일
/etc/inittab : 런레벨 설정 환경
/etc/rc.d/rc[0-6].d : 런레벨별 수행되는 스크립트 링크 파일
/etc/rc.d/init.d/ : 실제 데몬 구동 스크립트
/var/log/boot.log ( 부팅로그) /var/log/message (시스템로그), /var/log/wtmp (시스템 접속)
46
[/etc/inittab]
id:5:initdefault: # default RunLevel -> 그래픽모드
47. 5. 리눅스 운영의 기초 – 파일시스템 관리: FDISK
파티션 정보 확인
fdisk -l /dev/sdb
47
파티션 삭제
d : delete partition
파티션 정보 확인
P : print partition layout
파티션 관리
fdisk /dev/sda
48. 정리
48
1. 리눅스의 태생 목적과 리눅스의 특징을 이해
2. 리눅스 종류와 용도
3. 리눅스는 운영체제 : H/W 지원을 알아야 한다.
4. 리눅스 설치의 종류와 패키지 선택
5. 리눅스를 잘 쓰려면 ?
1. Unix 명령어
2. 부터로더
3. 커널
4. 파티셔닝