Your SlideShare is downloading. ×
시스템 관리자를 위한 리눅스강의 1강 20130203
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

시스템 관리자를 위한 리눅스강의 1강 20130203

1,620
views

Published on

일반 초급 사용자에게 설명이 부족하기는 하지만 …

일반 초급 사용자에게 설명이 부족하기는 하지만
시스템 관리자를 위해 작성된 강의로
리눅스의 역사와 리눅스 설치에 대한 자료 입니다.

Published in: Technology

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,620
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
67
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LINUX 강의 시스템 관리자를 위한 리눅스의 이해 최두립 COUPLEWITH@NAVER.COM
  • 2. LINUX 강의 1 1. 리눅스의 역사 2. 리눅스의 특징 3. 리눅스의 설치 4. 서버 관리 사전 지식 5. 리눅스의 운영 기초  Booter Loader  Super Daemon  Kernel  File System  Package 기초 60분 2
  • 3. 1. 리눅스의 역사 1. UNIX 계열 2. 리눅스 역사와 표준 3
  • 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.로그인
  • 12. 3. 리눅스 설치 – CENTOS 다운로드 12
  • 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. 호환성, 이식성
  • 21. [NOTICE]  FDISK 사용법 (참조)  Runlevel 과 가상 터미널 21
  • 22. 3. 리눅스 설치 - 파티션 설정 (1) 22  리눅스는 ext3,ext4를 기본 지원  Centos6 부터 ext4가 기본 파일 시스템으로 사용 됨 파티션 과 마운트 위치 파티션 용량, 속성 파티션 설정 완료파티션 포멧 설정
  • 23. 3. 리눅스 설치 - 파티션 설정 (2)  확장과 장애 복구를 위한 논리 파일 시스템 구성 23
  • 24. 3. 리눅스 설치 - 파티션 설정 (3)  파티션 레이아웃을 저장 24  파티션 포멧  부트 로더 설치 파티션 설정 저장 파티션 포멧 과정 GRUB 설치
  • 25. 3. 리눅스 설치 – 설치 패키지 선택 25 기본 용도별 설치 템플릿 사용자 정의 선택
  • 26. 3. 리눅스 설치 – 사용자 정의 패키지 선택  패키지 개발 : 호환성 을 고려한 compat, 추가 개발 라이브러러 설치 26
  • 27. 3. 리눅스 설치 – 패키지 설치 – 기반 시스템 27  호환성 라이브러리 : 이전버전 호환용 Lib  호환성 라이브러리 : 이전버전 호환용 Lib
  • 28. 3. 리눅스 설치 – 패키지 설치 – 데스크탑/데이터베이스 28  데스크탑  GUI 환경의 개인, 사무용, 개발용으로 설정, Gnome, Window Maker, KDE  데이터 베이스  기본적으로 제공되는 Mysql, PostGres
  • 29. 3. 리눅스 설치 – 패키지 설치 – 기반 시스템  기반 시스템  펄 : 시스템 관리툴을 위한 개발 언어 29  레거시 : 유닉스 기본 명령, telnet,xinetd  yum : 패키지 업그레이드 툴
  • 30. 리눅스 설치 : CENTOS – 패키지 설치  서버  FTP ( vsfptd ), 시스템 관리도구, 메일서버(sendmail) 30  관리용 유틸리티
  • 31. 3. 리눅스 설치 – 패키지 설치 – 시스템 관리/웹서비스  시스템 관리  SNMP 지원, 시스템 관리 툴 (sar) 31  웹서비스  웹서버 (Apache, php, tomcat 등)
  • 32. 3. 리눅스 설치 – 패키지 설치 – 응용 프로그램  응용 프로그램  오피스 : Open Office  인터넷 브라우저 : firefox, wget  인터넷 프로그램 : text-based Internet Tool, mail Clinet.. 32
  • 33. 3. 리눅스 설치 – 패키지 설치 및 의존성 검증  패키지 검증 및 설치  패키지의 의존성 검사와 설치 준비 33
  • 34. 3. 리눅스 설치 – 설치 완료 와 재부팅  설치 완료 34 재부팅 First boot
  • 35. 3. 리눅스 설치 – FIRSTBOOT – 계정 설정  사용자 생성 35
  • 36. 3. 리눅스 설치 – 로그인 36
  • 37. 4. 서버 관리 사전 지식 37 1. SHELLSCRIPT & UNIX UTILITY 2. PROGRAMING ENVIROMENT 3. GCC 4. UTILITY
  • 38. 4. 서버 관리 사전 지식 – SHELL& UTILTTY  Shell Script & Unix utility  bash, ksh, csh  cat, awk, sed, grep, wc, cut, iconv, sort, uniq, find, ls,diff  Shell enviroment controll : PATH, .bashrc .bash_profile, /etc/profile /etc/bashrc  Programming Enviroment  Gcc, compat-*  C language envroment : PATH, LD_LIBRARY_PATH, LIB, LIB64, make  Java language enviroment : JAVA_HOME, CLASS_PATH  Library Management : ldconfig • ld.so.cache ld.so.conf ld.so.conf.d/*.conf 38 * rpm -qa | grep gcc compat-gcc-34-3.4.6-4.1 gcc-gfortran-4.1.2-52.el5_8.1 gcc-java-4.1.2-52.el5_8.1 gcc-c++-4.1.2-52.el5_8.1 gcc-4.1.2-52.el5_8.1 compat-gcc-34-c++-3.4.6-4.1 libgcc-4.1.2-52.el5_8.1 compat-libgcc-296-2.96-138 compat-gcc-34-g77-3.4.6-4.1
  • 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. 파티셔닝
  • 49. 49 1강 종료 감사합니다.  최두립  couplewith@naver.com