Microsoft PowerPoint - 09_(Linux)_(Fundamental)_System_Management

Similar documents
PowerPoint 프레젠테이션

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

리눅스 프로세스 관리

PowerPoint 프레젠테이션

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBABFCD20BBE7BFEBC0DA20B8EDB7C920C0CDC8F7B1E22E >

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

시스템 사용자 계정 관리

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Chapter 06. 프로세스관리하기

사용예 mount t msdos /dev/hda2 /mnt/msdos mount t vfat /dev/hda3 /mnt/win98 mount t ntfs /dev/hda4 /mnt/win2000 mount t ext2 /dev/hda5 /mnt/inux umount 명

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

PowerPoint 프레젠테이션

Microsoft PowerPoint - comp_prac_081223_2.pptx

PowerPoint 프레젠테이션

Microsoft Word _LT_리눅스 마운트강좌 mount 1편.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

PowerPoint 프레젠테이션

Microsoft PowerPoint - 07-EDU-LinuxUser-3.ppt

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

C++ Programming

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Adobe Flash 취약점 분석 (CVE )

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Microsoft PowerPoint - 04Àå.ppt [ȣȯ ¸ðµå]

Microsoft PowerPoint - 02_Installation

벤처연구사업(전동휠체어) 평가

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

문서 대제목

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

PowerPoint 프레젠테이션

C++ Programming

01Àå

4. SELinux 상태확인 ( 상세 ) # sestatus v SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

LN_5_Rootfs

Chapter 05. 파일접근권한관리하기

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - LN_10_rootFS.ppt [호환 모드]

제1장 Unix란 무엇인가?

Sena Technologies, Inc. HelloDevice Super 1.1.0

Microsoft PowerPoint - 리눅스부팅과정.pptx

PowerPoint 프레젠테이션

Microsoft Word - Armjtag_문서1.doc

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D206D61696E D F6E D20C7D8C5B720BDC3BDBAC5DB20C0FCC1A620C1B6B0C7202D20B3D7C6AEBFF6C5A920C0CEC5CDC6E4C0CCBDBA20C4ABB5E520BCB3C1A4>

휠세미나3 ver0.4

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

Microsoft PowerPoint - chap9 [호환 모드]

Tablespace On-Offline 테이블스페이스 온라인/오프라인

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

FreeBSD Handbook

MySQL-Ch10

Microsoft PowerPoint 통신 및 압축 명령어.ppt

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

슬라이드 제목 없음

Microsoft PowerPoint UNIX Shell.ppt

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

1 Live CD(USB) 란? 1.1 Live CD(USB) 란? LiveCD(USB) 란 CD( 또는 USB) 를하드디스크로인식하여해당매체를기반으로동작하는운영체제를말한다. 즉 CD에설치된운영체제이다. 이는자신의 PC의하드디스크에설치된내용은 CD에그대로복사하였다고생각

운영체제실습_명령어

작성자 : 기술지원부 김 삼 수

2-11Àå

PowerPoint 프레젠테이션

벤처연구사업(전동휠체어) 평가

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

망고100 보드로 놀아보자-4

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

Discrete Mathematics

PowerPoint 프레젠테이션

Chap 5 루트파일시스템 (Root F/S)

Linux Server - FTP Good Internet 소 속 IDC실 이 름 정명구매니저

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Mango220 Android How to compile and Transfer image to Target

Microsoft PowerPoint - 10Àå.ppt

2009년 상반기 사업계획

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

lecture01

Install stm32cubemx and st-link utility

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

Transcription:

GNU/Linux 리눅스시스템관리 (Linux System Management) Seo, Doo-Ok Clickseo.com clickseo@gmail.com

목 차 사용자관리 프로세스관리 리눅스초기화과정 파일시스템 패키지관리 2

사용자관리 사용자관리 리눅스사용자 사용자및그룹관리 사용자정보관리 프로세스관리 리눅스초기화과정 파일시스템 패키지관리 3

리눅스사용자 리눅스사용자 (1/6) 파일이나프로그램에대한접근가능성 UID(User ID) 와 GID(Group ID) 를바탕으로검사 수행중인프로그램은그것을실행한사용자의권한과허가권을상속받는다. 패스워드 (Password) AT&T 가개발한 DES(Data Encryption Standard) 알고리즘 초기 : 패스워드를암호화하고그내용은아무나볼수있게했다. 해결방안 : 쉐도우패스워드기법, MD5 기법채용 (FreeBSD) 홈디렉터리 (Home Directory) 시스템에로그인하는모든사용자가자신의환경설정파일을저장하는장소 대부분 /home 디렉터리에각계정의홈디렉터리생성 단, root 사용자는별도의디렉터리생성 : /root -- 유닉스에서는 / 시작스크립트.bashrc : bash 가사용하는시작스크립트파일의이름 환경설정파일은쉘스크립트형태로존재한다. 리눅스에서모든파일과프로그램은어떤사용자에의해소유되어야한다. 4

리눅스사용자 (2/6) 사용자계정관련파일 : /etc/passwd /etc/passwd 파일 clickseo:x:1000:1000:clickseo:/home/clickseo:/bin/bash 리눅스사용자에대한정보 : 7개의필드로구성 1. 계정이름 2. 암호화된패스워드 : /etc/shadow 파일에별도보관 3. User ID 4. Group ID 5. 설명 6. 홈디렉터리 7. 로그인쉘 : 우분투에서는 /bin/bash 를기본쉘로사용 5

리눅스사용자 (3/6) 사용자계정관련파일 : /etc/shadow /etc/shadow 파일 암호화된패스워드필드외에도패스워드유효시한및계정사용여부에관한정보 clickseo:$6$2w/3k4gsqrrrbv9:17989:0:99999:7::: 1. 계정이름 2. 암호화된패스워드 3. 최종변경일 : 1970년 1월 1일부터마지막으로패스워드가변경된날짜지정 4. 최소기간 (MIN) : 패스워드를변경한후에다시변경이가능한날까지남은날짜수 5. 최대기간 (MAX) : 패스워드를변경해야만하는날까지남은날짜수 6. 경고시간 (Warning) : 패스워드가만료되기전에사용자에게미리경고하는날짜수 7. 비활성화 (Inactive) : 암호가만료된후에도지정한날짜동안은로그인가능 8. 만료일 (Expire) : 1970년 1월 1일이후로사용자계정이만료되는날짜수 9. 예약항목 (Flag) : 향후사용할목적으로비워둔항목 6

리눅스사용자 (4/6) 사용자계정관련파일 : /etc/login.defs /etc/login.defs 파일 사용자계정설정과관련된기본값을정의 ( 생략 ) UMASK 022 # Password aging controls: PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_WARN_DAYS 7 # useradd : 사용자계정의 UID 범위 UID_MIN 1000 UID_MAX 60000 #SYS_UID_MIN 100 #SYS_UID_MAX 999 # groupadd : 사용자계정의 GID 범위 GID_MIN 1000 GID_MAX 60000 #SYS_GID_MIN 100 #SYS_GID_MAX 999 7

리눅스사용자 (5/6) 사용자계정관련파일 : /etc/group /etc/group 파일 각사용자는적어도하나의그룹에속하고, 필요에따라여러그룹에동시에소속 clickseo:x:1000: 그룹이름 암호화된그룹패스워드 : /etc/gshadow 파일에그룹암호를저장 Group ID 그룹멤버 : 쉼표로사용자구분 8

사용자계정전환 : su 리눅스사용자 (6/6) 임의의사용자가다른사용자계정으로전환하도록하는명령 su 와 su - 의차이점 su : 현재사용자의환경을그대로물려받고 root 계정으로전환 PATH의설정도원래의사용자와동일 관리자명령어가있는 /sbin 이나 /usr/sbin 등은 PATH에포함되지않는다. su - : root 사용자로로그인했을때와동일한환경으로초기화 sudo : 특정작업만수행할수있는권한만부여 9

사용자관리 사용자및그룹관리 10

사용자및그룹관리 (1/9) 사용자추가 : useradd 일반형식 useradd [option] 계정명 -u UID 직접 UID 값지정 -g GID 사용자의기본그룹지정 ( 기본그룹 ) -G group[,...] 사용자가기본그룹외에추가적으로속할그룹지정 ( 다중그룹 ) 주요옵션 -c COMMENT 사용자이름또는부가적인설명을지정 ( 값에공백이있을때는작은따옴표를사용해야한다.) -d HOME_DIR 사용자의홈디렉터리를직접지정 -s SHELL 사용자의로그인쉘을직접지정 -m DIR 사용자홈디렉터리를생성 passwd : 생성된계정의암호를설정하여야한다. 11

사용자및그룹관리 (2/9) 사용자추가 : 사용자계정관련정보및파일 useradd D : 기본설정값확인 기본설정항목들은 /etc/default/useradd 파일에저장 GROUP : 기본등록그룹의 GID로 100은 users 그룹이다. HOME : 홈디렉터리의생성위치 INACTIVE : -1 이면 INACTIVE 기능이비활성화된다 (0 이면암호가만료되자마자바로계정이잠긴다.) EXPIRE : 계정종료일을지정한다. SHELL : 기본로그인셸을지정한다. SKEL : 홈디렉터리에복사할기본환경파일의위치 -- /etc/skel/ 디렉터리 CREATE_MAIL_SPOOL : 메일디렉터리의생성여부를지정한다. 12

사용자및그룹관리 (3/9) 사용자추가 : 사용자계정관련디렉터리 /etc/skel/ 디렉터리 사용자계정의홈디렉터리에공통으로배포할파일들이존재한다. 사용자계정생성시에자동으로복사한다. 13

사용자및그룹관리 (4/9) 사용자추가 : adduser 일반형식 adduser [option] 계정명 --uid UID 직접 UID 값을지정 --gid GID 사용자의기본그룹지정 ( 기본그룹 ) 주요옵션 --home DIR --shell SHELL --gecos GECOS 사용자의홈디렉터리를직접지정사용자의로그인쉘을직접지정사용자이름또는부가적인설명을지정 ( 값에공백이있을때는작은따옴표를사용해야한다.) 14

사용자추가 useradd test 사용자및그룹관리 (5/9) adduser test 15

사용자및그룹관리 (6/9) 사용자계정정보변경 : usermod 일반형식 usermod [option] 계정명 -u UID 사용자의 UID 값을변경 -g GID 사용자의그룹을변경 주요옵션 -c COMMENT 사용자설명필드의내용을변경 -d HOME_DIR 사용자의홈디렉터리를변경 -s SHELL 사용자의로그인쉘을변경 -l USER_NAME 사용자의계정명을변경 ( 주의 ) 사용자의로그인이름이나 UID를변경하기전에사용자가현재시스템에로그인하고있거나프로세스를수행시키고있는지를확인해야한다. 16

사용자및그룹관리 (7/9) 사용자계정삭제 : userdel 일반형식 주요옵션 userdel [option] 계정명 -r 사용자의홈디렉터리와메일디렉터리를삭제한다. -f 사용자가로그인중에도강제로삭제한다. 17

사용자및그룹관리 (8/9) 그룹추가 : groupadd /etc/group 파일에그룹추가 일반형식 주요옵션 groupadd [option] 그룹명 -g GID 새로운그룹의 GID 지정 -r 추가하려는그룹이시스템그룹일때주는옵션 addgroup [ 옵션 ] 그룹명 --gid GID : 새로운그룹의 GID 지정 별도의옵션을지정하지않으면 /etc/adduser.conf 파일에지정된 GID를기준으로가장마지막번호의다음번호로자동설정된다. 그룹삭제 : groupdel 18

사용자및그룹관리 (9/9) 그룹등록정보변경 : groupmod 일반형식 주요옵션 groupmod [option] 그룹명 -g GID 변경할그룹의 GID 를변경한다. -n newgroupname 그룹에부여할새로운이름을지정할때사용한다. 19

사용자관리 사용자정보관리 20

사용자정보관리 (1/3) 사용자확인 : id, groups id 자신의사용자번호 (UID) 와그룹번호, 그리고자신이속한그룹명을보여준다. [clickseo@localhost clickseo]$ id uid=1000(clickseo) gid=1000(clickseo) groups=1000(clickseo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116 (lpadin),126(sambashare) groups 자신이속한그룹및다른계정의그룹을볼수있다. [clickseo@localhost clickseo]$ groups clickseo adm cdrom sudo dip plugdev lpadmin sambashare 21

사용자정보확인 사용자정보관리 (2/3) finger : 사용자정보구하기 일반형식 주요옵션 finger [option] default 자신의시스템에로그인한사용자정보를알고싶을때이용한다. user_name 특정계정의정보를알고자할때사용한다. users : 현재시스템에로그인한사용자계정조회 22

사용자확인 사용자정보관리 (3/3) 사용자확인 who whoami who am i 설명현재시스템을이용하고있는사용자확인현재자신이어떤계정으로로그인하여시스템을사용하고있는지확인사용자계정, 접속단말, 접속시간, 호스트이름확인 [clickseo@localhost clickseo]$ who clickseo :0 2019-12-31 23:59 (:0) [clickseo@localhost clickseo]$ whoami clickseo [clickseo@localhost clickseo]$ who am i tty (teletypewriter) : 가상콘솔또는터미널 pts (Unix98 pseudo-terminal) : 가상터미널 (X-window 에서사용 ) 23

프로세스관리 사용자관리 프로세스관리 프로세스관리 데몬관리 리눅스초기화과정 파일시스템 패키지관리 24

프로세스 (Process) 프로세스 (1/2) 실행중인프로그램상태 언제든지실행가능한프로그램 프로그램자체인실행코드와자료그리고실행제어정보가들어있는 PCB가결합된단위 프로세스제어블록 (PCB : Process Control block) 운영체제가프로그램실행제어를위하여필요한정보를포함하고있는자료구조 프로세스관련용어 포그라운드프로세스 (foreground process) 백그라운드프로세스 (background process) 프로세스번호 (PID) 작업번호 부모프로세스와자식프로세스 25

프로세스 (2/2) 프로세스상태 실행 (running) 실행종료 종료 (halted) 디스패치 (dispatch) 선점또는시간할당량초과 입출력발생 제출 (submit) 보류 (hold) 준비 (ready) 입출력종료 대기 (wait) 스풀러에의해 작업스케줄러에의해 프로세스스케줄러에의해 26

프로세스관리 프로세스관리명령어 27

프로세스목록보기 : ps 프로세스관리 (1/10) 현재진행중인프로세스를출력한다. 일반형식 ps [option] -a [-e] 시스템에서실행중인모든프로세스의정보를출력 -r (running) 실행중인프로세스만출력 -f (full format) 프로세스간에부모와자식관계를보여준다. 주요옵션 -l 자세한형식으로보여준다. -u UID 특정사용자에대한프로세스정보를출력 -p PID 지정된프로세스 ( 특정 PID) 의정보를출력 -x 제어터미널이없는프로세스정보를출력 -t 지정된터미널에연관된프로세스에대한정보를출력 28

프로세스관리 (2/10) 프로세스목록보기 : 사용예 ps : 현재쉘이나터미널에서실행한사용자프로세스정보출력 ps f : 프로세스의상세정보출력 UID, PID, PPID C : CPU 사용량 (%) STIME : 프로세스의시작날짜와시간 TTY : 프로세스가실행된터미널의종류와번호 TIME : 프로세스실행시간 CMD : 실행되고있는프로그램이름 ( 명령어 ) ps ef : 전체프로세스의상세정보출력 29

프로세스관리 (3/10) 프로세스목록보기 : 사용예 ps aux : 시스템에서실행중인모든프로세스의상세정보출력 USER, PID %CPU : CPU 사용량 (%) %MEM : 물리적인메모리사용량 (%) VSZ : 사용중인가상메모리의크기 (KB) RSS : 사용중인물리적메모리의크기 (KB) TTY : 프로세스가실행된터미널의종류와번호? : 더이상제어터미널과연결되지않음 ( 대부분데몬으로시스템이실행한프로세스 ) STAT : 프로세스의현재상태 START : 프로세스시작시간 TIME, COMMAND 30

프로세스관리 (4/10) 프로세스목록보기 : 사용예 STAT : 프로세스의현재상태 R : (running) 프로세스가 CPU 를사용하고있는상태 ( 실행상태 ) S : (sleep) Sleep 상태 ( 인터럽트가가능한대기상태 ) T : (stopped) 작업제어에의해정지된상태 Z : (zombie) 좀비프로세스 자식프로세스가실행을종료했는데도테이블목록에남아있는경우 좀비프로세스가증가하면프로세스테이블의용량이부족해서일반프로세스가실행되지않을수도있다. I : (idle) 비활동상태 : BSD, 중간적상태 : SYSV W : 스왑 out 된상태 N : nice 되어진상태 > : 우선순위가인위적으로높아진상태 + : 포그라운드프로세스그룹 (BSD 형식 ) D : 디스크관련대기상태 (BSD 형식 ) P : 페이지관련대기상태 (BSD 형식 ) X : 메모리확보를위해대기중 (SYSV 형식 ) K : 사용가능한커널프로세스 (AIX 형식 ) 31

프로세스관리 (5/10) top : display Linux processes ps 명령어의대화형버전 2, 3초마다 ( 사용자가조정가능 ) 프로세스의목록을보여주는명령어 top 프로그램의단점은 CPU를많이소모한다는것이다. 일반형식 top [option] -d seccond 스크린에업데이트간격을조정한다. 주요옵션 -u user 해당사용자에대한프로세스정보만을출력한다. -p pid 해당프로세스 ( 특정 PID) 에대한정보만을출력한다. 32

top : 사용예 프로세스관리 (6/10) 33

시그널 (signal) 프로세스간통신 프로세스관리 (7/10) 하나의프로세스가다른프로세스에게메시지를보내기위한수단 이름 번호 의미 HUP 1 (Hangup) 실행종료 ( 로그아웃등터미널과연결이끊어졌을때발생 ) INT 2 (Interrupt) 실행종료 (CTRL + C 입력시발생 ) QUIT 3 (Quit) 실행종료 (CTRL + \ 입력시발생 ) KILL 9 (Kill) 해당프로세스는강제로무조건종료한다. SEGV 11 (Segmentation Violation) 허가되지않은메모리영역에접근하였을때발생 TERM 15 (Terminate) 가능한한정상종료 (kill 명령이보내는기본시그널 ) STOP 19 (Stop) 무조건적으로그리고즉각적으로정지 TSTP 20 (Stop) 실행을정지후다시실행을계속하기위하여대기 (CTRL + Z) CONT 18 (Continue) STOP이나 TSTP에의해정지된프로세스가다시실행을계속한다. 34

프로세스관리 (8/10) 시그널 (signal) : 리눅스시그널 리눅스에서지원하는시그널목록 : kill -l 35

프로세스관리 (9/10) kill 프로세스에시그널보내기 일반형식 주요옵션 kill [option] PID -l (list) 시그널전체목록을보여준다. -<signal> 지정된시그널을해당프로세스에보낸다. killall 해당데몬명을직접이용하여프로세스에시그널을보낸다 36

프로세스관리 (10/10) 멀티태스킹 (Multitasking) 동시에하나이상의프로그램을수행시킬수있는다중처리 포그라운드 (foreground) 와백그라운드 (background) 로구별 foreground : 화면에보여주면서실행되는상태 포그라운드실행 : fg 작업번호 background : 화면에보여주지않으면서실행되는상태 백그라운드실행 : 명령어 & 백그라운드로수행중인작업확인 : jobs [clickseo@localhost clickseo]$ tar xvzf sample.tar.gz * & [1] 25889 [clickseo@localhost clickseo]$ suspend : 메모리에올라가있지만정지된상태 37

프로세스관리 데몬관리명령어 38

데몬관리 (1/6) 데몬 (daemon) 커널상에서백그라운드모드로작동하여비활성화상태에서요청이있을때만동작하는프로세스 데몬들이커널상의백그라운드모드로존재하여작동하지않고있을때는 CPU에부하를주지않지만, 시스템자원 ( 메모리 ) 을차지한다. 시스템자원이부족한시스템에서는상당한시스템부하로인하여시스템이느려지거나다운될수있기때문에시스템관리차원에서데몬을관리한다. 서버데몬의유형 standalone 타입데몬 시스템에독자적으로프로세스가구동되어서비스를제공하는데몬» 메모리에항상구동되어야하기때문에자주호출되는서비스에적당» 예 : 웹서버 (httpd), DB서버 (mysqld), 센드메일서버 (sendmail) 등 xinetd 타입데몬 xinetd 데몬자체는 standalone 타입의데몬으로항상프로세스가구동 39

데몬관리 (2/6) 데몬 : xinetd / inetd inetd 데몬 /etc/inetd.conf 파일에서데몬에대한설정을읽고, /etc/services 파일에서설정된포트번호에대해클라이언트의요청이있을때요청데몬을실행한다. xinetd 데몬 (Xinetd, extended inetd) /etc/xinetd.conf : xinetd 데몬에대한공통적인설정 /etc/xinetd.d/ 디렉터리안에각데몬별설정파일이따로존재 40

데몬종류와기능 데몬관리 (3/6) 데몬명 amd apmd arpwatch atd autofs bootparamd crond dhcpd gated gpm httpd inetd 기능설명 요청이있을때장치와 MFS 호스트를마운트시켜주는자동마운트데몬 배터리상태를조회하는데사용되는데몬으로배터리가부족한경우시스템을 shutdown 하는데이용 이더넷카드와 IP 할당관계를보여주는데몬 특정시간에지정된명령을실행하거나시스템부하가적을때배치명령을실행하도록해준다. 파일시스템을이용하고있을때는자동적으로 mount 되게하고, 파일시스템을이용하지않을때는자동적으로 umount 시켜준다. 옛썬워크스테이션이리눅스박스에서네트워크부팅이될수있게해주는데몬 사용자가지정한프로그램을특정시간에주기적으로실행할수있도록해주는데몬 동적호스트통제프로토콜에접근할수있도록해주는데몬 라우팅데몬을시작하거나종료시키는데몬 마우스를지원해주는데몬으로시스템 shutdown 하는옵션을제공 아파치데몬으로웹서버를운영하고자할때반드시선택 인터넷을관장하는인터넷슈퍼서버데몬으로텔넷, FTP, rlogin 등서비스요청시에될수있도록관여한다. 41

데몬종류와기능 데몬관리 (4/6) 데몬명 기능설명 inn 유즈넷뉴스서버로지역뉴스서버를설정할수있도록해준다. keytable 이를선택해야 /usr/sbin/kbdconfig 로키보드유형을변환할수있다. kerneld lpd mcserve named netfs network nfs 커널모듈을동적으로적재하는것을관리하는데몬프린터서비스데몬 Midnight Commnad(mc) 끼리네트워크를공유시키는데몬호스트이름을 IP로변환시켜주는 DNS 데몬삼바, NFS, NCP 등을 mount하거나 umount 할때필요한데몬설정된네트워크인터페이스가부팅시작동될수있도록해주는스크립트 NFS 서버로작동할수있게해주는데몬 nscd NIS 또는 NIS+ 를사용하고자할때선택해주어야한다. portmap postgresql random RPC 연결에관여하는데몬으로 NFS, NIC 사용시선택 postgresql DB 를이용하고할째선택 시스템에필요한난수발생및저장스크립트 routed 자동 IP 라우터테이블이가능하도록해준다. ruserd 어떤네트워크에특정사용자가있는지검색해주는서비스데몬 42

데몬종류와기능 데몬관리 (5/6) 데몬명 rwhod sendmail smb sound 기능설명원격사용자가접속되어있는사용자의목록을볼수있게해주는데몬메일서버를설정하기위해서반드시설정삼바서버가활성되도록해주는데몬부팅과종료시사운드믹서설정을저장하고복원해주는데몬 syslog 시스템에서발생된각종사건을기록해주는서버로 /var/log 에기록된다. ypbind yppasswd ypserv NIS/YP 클라이언트용을실행하는서버 NIS 클라이언트사용자가패스워드를변경할수있도록해주는데몬 표준 NIS/YP 네트워크프로토콜서버 43

데몬관리 (6/6) 데몬확인 44

사용자관리 프로세스관리 리눅스초기화과정 부트로더 systemd 서비스 파일시스템 패키지관리 리눅스초기화과정 45

리눅스부팅과정 리눅스초기화과정 (1/6) 로그인프롬프트 그래픽로그인시스템 : GDM(GNOME Display Manager) 46

부팅과정 : POST 리눅스초기화과정 (2/6) 1 단계 : POST 과정 Power On Self Test ROM BIOS(Basic Input Output System) 메모리용량과연결된하드디스크개수, 키보드및마우스연결여부등을자동으로점검 어느장치로부팅을할것인지확인하여설정된장치 ( 일반적으로하드디스크 ) 의부팅에필요한블록정보를읽어온다. BOIS 과정이후 BIOS에서설정된부팅할때사용할장치의 0번트랙, 0번실린더, 0번헤드에위치하는 Boot Block으로제어권이넘어간다. MBR(Master Boot Record) : 2 차부팅프로그램 (Boot Loader) 의위치저장 47

리눅스초기화과정 (3/6) 부팅과정 : Boot Loader 2 단계 : Boot Loader 리눅스에서는대표적인 Boot Loader는 GRUB와 LILO 이다. 여러운영체제중에서부팅할운영체제를선택할수있도록메뉴를제공 Boot Loader는리눅스커널을메모리에로딩한다. 리눅스커널은 /boot 디렉터리아래에 vmlinuz-버전명의형태로제공 48

리눅스초기화과정 (4/6) 부팅과정 : Kernel 3 단계 : Kernel Boot Loader(GRUB 또는 LILO) 에의해메모리에적재 리눅스커널은압축이미지파일 Kernel은 Boot Loader의정보를참조하여루트파일시스템마운트를시도» 루트파일시스템 (/) 마운트실패 --> kernel panic 혹은시스템종료 (halt) 를진행» 루트파일시스템 (/) 은읽기전용 (read-only) 으로마운트 커널은가장먼저시스템에연결된메모리, 디스크, 키보드, 마우스등장치들을검사 장치검사등기본적인초기화과정이끝나면커널은 fork를사용하지않고생성되는프로세스와스레드생성 swapper 프로세스구동 : 프로세스번호 (PID) 0 번 메모리관리, 디스크관리, 프로세스관리등을수행 프로세스번호 (PID) 1 번인 init 라는프로세스를실행 부팅시출력된메시지 dmesg 명령이나 more /var/log/boot.log 명령으로확인이가능하다. 49

부팅과정 : init 리눅스초기화과정 (5/6) 4 단계 : init 프로세스 전통적으로유닉스에서는 init 프로세스가처음생성된프로세스로 PID가 1번이다. init 프로세스는부팅과정에서커널에의해실행된다. init 프로세스는스크립트를순차적으로실행하여다른프로세스를동작시킨다. Ubuntu 에서는 systemd 서비스가기존의 init 스크립트를대체한것 init 와관련된스크립트파일은 /etc/init.d 디렉터리에있으며아직일부서비스의스크립트파일이남아있음 systemd : System and Service Manager 50

리눅스초기화과정 (6/6) 시스템종료 : shutdown 일반형식 shutdown [ 옵션 ] 시간 [ 경고메시지 ] -r 시스템종료후재부팅한다. -h 시스템종료후컴퓨터가중지상태에놓인다. -c 실행중인 shutdown 명령을취소한다. 주요옵션 -k 실제로시스템을종료하는것이아니라, 사용자들에게메시지만전달한다. 명령매개변수인시간은아래와같이지정할수있다. now 지금당장 +m 지정한 m분이후 hh : mm 몇시 (hh), 몇분 (mm) reboot : shutdown -r now halt : shutdown -h now reboot, halt, poweroff 명령은 /var/log/wtmp 파일에시스템종료기록을남기고시스템을종료하거나재시작 51

리눅스초기화과정 부트로더 52

부트로더 (1/2) GRUB(Grand Unified Bootloader) GNU 커널인 Hurd를위해개발 리눅스의전통적인 Boot Loader인 LILO의단점을보완하여 GNU 프로젝트의일환으로개발 RedHat 7.x 부터기본 Boot Loader로제공 LILO는리눅스에서만사용이가능하지만 GRUB는윈도에서도사용할수있다. GRUB의가장최신버전은 GRUB2로우분투에서기본 Boot Loader로사용한다. 설정파일 : /etc/default/grub GRUB 메뉴설정내용이저장되어있다. /etc/default/grub 파일수정후 update-grub 를실행하면자동으로 /etc/grub.d 의파일들이참조되어 /boot/grub/grub.cfg 가생성된다. 53

GRUB : /etc/default/grub 설정파일 : /etc/default/grub 부트로더 (2/2) GRUB 메뉴설정내용이저장되어있다. /etc/default/grub 파일수정후 update-grub 를실행하면자동으로 /etc/grub.d 의파일들이참조되어 /boot/grub/grub.cfg 가생성된다. 54

리눅스초기화과정 systemd 서비스 55

Run Level systemd 서비스 (1/4) init 는시스템의단계를 7 개로정의하여구분한다. 각단계에따라셸스크립트를실행하는데, 이단계들을런레벨이라고한다. RunLevel 의미관련스크립트위치 0 시스템종료 (halt) /etc/rc0.d 1, S 2 단일사용자모드 ( 응급복구모드 ) root 패스워드를잊어버렸거나, 시스템백업및복구작업시런레벨 1 로진입 /etc/rc1.d /etc/rcs.d /etc/rc2.d 3 다중사용자모드 /etc/rc3.d 4 /etc/rc4.d 5 그래픽다중사용자모드 /etc/rc5.d 6 재시작 (reboot) /etc/rc6.d 런레벨별로실행스크립트파일은 /etc/init.d 디렉터리에있는파일에대한심볼릭링크 56

systemd 서비스 (2/4) Run Level : runlevel runlevel : 이전과현재시스템의런레벨을출력하는명령어 runlevel 명령어는이번레벨과현재레벨을순차적으로표기 N 5 : 이전레벨이 N(none) 이며, 현재레벨이 5 라는것을의미한다. 시스템운영중런레벨전환 : init 57

systemd systemd 서비스 (3/4) systemd 는 init 방식에비해다음과같은장점을가지고있다. 소켓기반으로동작하여 inetd 와호환성을유지한다. 쉘과독립적으로부팅이가능하다. 마운트제어가가능하다. fsck 제어가가능하다. 시스템상태에대한스냅샷을유지한다. SELinux와통합이가능하다. 서비스에시그널을전달할수있다. shutdown 전에사용자세션의안전한종료가가능하다. 58

systemd : unit systemd 서비스 (4/4) systemd 는관리대상의이름을 서비스명. 유닛종류 의형태로관리 각유닛은같은이름과종류로구성된설정파일과동일한이름을사용 유닛과관련한보다자세한내용은 man systemd.unitname 으로확인 59

파일시스템 사용자관리 프로세스관리 리눅스초기화과정 파일시스템 리눅스디렉터리구조 리눅스파일시스템 디스크관리 패키지관리 60

리눅스디렉터리구조 (1/5) 리눅스디렉터리구조 고정적인파일 (Static Files) 공유가능한 (Shared) 카테고리 : /usr, /sbin, /opt 등 유동적인파일 (Dynamic Files) 환경파일, 디바이스파일, 커널파일, 로그파일, 임시파일, 사용자홈디렉터리등 /boot, /home, /tmp, /dev, /etc, /var 등 61

리눅스디렉터리구조 (2/5) 디렉터리구성과용도 디렉터리 설명 / 마운트되는리눅스파일시스템이있는최상위디렉터리 /root /home /bin /sbin /etc /proc /dev /tmp (ROOT) 시스템관리자인 root 사용자의홈디렉터리 (HOME) 사용자홈디렉터리 (BINares) 리눅스의기본명령어 (binary) 들이존재하는디렉터리 (System BINaries) 관리자가사용하는시스템운영에필요한명령어들이존재 (ETCetera) 환경설정파일들이존재하는디렉터리 (PROCess) 프로세스와시스템정보를제공하기위한목적으로설계된가상파일시스템을사용하는디렉터리 (DEVice) 장치파일들이존재하는디렉터리문자장치 (character device) 와블록장치 (block device) (TeMPorary) 프로세스생성과정에서발생되는임시파일을저장하는디렉터리시스템재구동을할경우이디렉터리에존재하는파일은모두삭제됨으로파일을저장하는용도로사용할수없다. 62

리눅스디렉터리구조 (3/5) 디렉터리구성과용도 디렉터리 설명 (USeR) 프로그램을설치할때패키지에포함된대부분의파일이위치한곳 /usr /usr/bin/ : 압축파일과네트워크실행파일, 자료전송파일등실행파일들이존재 /usr/sbin/ : 주로네트워크관련된실행명령어와실행데몬들 /usr/include/ : 기본 C 라이브러리 (OPeraTion) 애드온 (Add-on) 패키지가설치되는디렉터리 /opt /misc 표준레드햇리눅스배포판에존재하지않는패키지가설치될경우이디렉터리에설치되기도한다 ( 거의사용하지않는다 ). (MISCellaneous) 시스템아키텍처에독립적인자료들이저장되는디렉터리 ( 리눅스계열에서는거의사용하지않는다.) 63

리눅스디렉터리구조 (4/5) 디렉터리구성과용도 디렉터리 /boot /lib /lost+found 설명 (BOOT) 부팅에필요한커널과부팅할때필요한핵심파일이위치하는디렉터리 (LIBraries) 시스템운영및프로그램구동할때필요한공유라이브러리 (shared library) 와부팅할때사용되는커널모듈 (kernel module) 이포함되어있다. (LOST+FOUND) 시스템을부팅할때파일시스템의이상유무를진단하여문제가있으면구동되는 fsck(file System Check) 명령어가사용되는디렉터리로개별파일시스템의최상위디렉터리마다존재한다. 만약손상된데이터를복구하지못했다면, 문제가발생된파일시스템에존재하는 lost+found 디렉터리에복구하지못한데이터파일이복사된다. /mnt (MouNT) CD-ROM 과플로피장치에대한기본마운트포인트를제공 - CD-ROM : /mnt/cdrom - Floppy : /mnt/floppy 64

리눅스디렉터리구조 (5/5) 디렉터리구성과용도 디렉터리 설명 (VARiable data) 내용이자주변경되는가변 (variable) 자료가저장되는디렉터리 /var/ - 시스템운영할때발생되는로그 (log) - 메일송 / 수신할때임시로저장되는스풀 (spool) - 프린터로전송하기위해임시로저장하는프린트스풀 (spool) 데이터 - 레드햇배포판에서패키지로제공하는 Apache 웹서버관련자료 (/var/www) - MySQL의데이터베이스 - FTP의최상위디렉터리 65

파일시스템 리눅스파일시스템 66

/dev 디렉터리 리눅스파일시스템 (1/10) 문자 (Character) 장치 블록 (Block) 장치 IDE 하드디스크 : /dev/hda, /dev/hdb SCSI 하드디스크 : /dev/sda, /dev/sdb CD-ROM : /dev/cdrom SCSI CD-ROM : /dev/scd0 프린터포트 : /dev/lp0, /dev/lp1 리눅스는유닉스처럼모든것을파일로간주한다. 67

리눅스파일시스템 (2/10) 파일시스템 (File System) 운영체제가파일을시스템의디스크상에구성하는방식 파일과디렉터리의집합을구조적으로관리하는체계 파일의실제데이터와메타-데이터 ( 파일의위치, 크기, 소유자, 허가권등 ls -l로볼수있는파일정보 ) 를유지 / 저장하는체계 비동기식파일시스템 재부팅시무결성검사 (fsck) 를위해파일시스템의크기에따라상당한시간을소모 예 : 리눅스 ext2 파일시스템 저널링파일시스템 무결성, 속도, 쉬운변환 저널링파일시스템종류» IBM사의독자적인파일시스템인 JFS(Journaling File System)» SGI사의 XFS(eXtened File System)» 독일의한스라이저 (Hans Reiser) 가개발한 ReiserFS(Reiser File System)» ext3(extension3) 68

리눅스파일시스템 (3/10) 리눅스파일시스템 : ext1, ext2 Minix : 과거 Minix 에서사용되었던파일시스템 파일이름은 30문자로제한, 파일시스템마다최대 64MB 성능제한 Xiafs : Minix 파일시스템의수정버전 파일이름과파일시스템에대한제한을보완한버전 ext(ext1) : Extended File System, 리눅스초기에사용되던파일시스템 1992년 4월, 리눅스 0.96c 에포함되어발표 리눅스초기에사용되던파일시스템 호환성이없던 ext2의구버전 파일시스템의최대크기는 2GB, 파일이름의길이는 255바이트까지지원 ext2 1993년 01월, ext 파일시스템의문제해결 뛰어난안정성과속도로가장유명한파일시스템 이론적으로파일시스템의크기는 32TB까지가능 69

리눅스파일시스템 (4/10) 리눅스파일시스템 : ext3, ext4 ext3 2001년 11월, ext2 기반으로개발되어호환이가능 저널링 (journaling) 기능을도입복구기능강화 파일시스템의최대크기는블록의크기에따라 2~32TB까지지원 ext4 2008년 12월, ext3 와호환성유지 1EB( 엑사바이트, 1EB=1,024 1,024TB) 이상의볼륨과 16TB 이상의파일을지원 XFS(eXtended File System) 1993년, 실리콘그래픽스가개발한고성능저널링파일시스템 2000년 5월, GNU GPL로공개 2001년, 리눅스에이식되었고현재대부분의리눅스배포판에서지원 XFS는 64bit 파일시스템으로최대 16EB까지지원 70

리눅스파일시스템 (5/10) 리눅스파일시스템 : /proc/filesystems /proc/filesystems 현재시스템이지원하는파일시스템의종류확인가능 nodev : 해당파일시스템이블록장치와연결되어있지않다는것 ( 가상파일시스템 ) 71

파일시스템 디스크관리 72

한개의하드디스크추가 디스크관리 (1/8) 작은하드디스크 (0.1GB) 를하나장착하고, /mydata 라는디렉터리에마운트해보도록하자. Mother Board Primary Secondary Master IDE0:0 Slave IDE0:1 Master Slave /dev/hda1 (7GB) / 파티션 /dev/hda2 (1GB) SWAP /mydata /dev/hdb1 (0.1GB) /dev/hda (8GB) /dev/hdb (0.1GB) [ 하드디스크한개를추가하기위한구성도 ] 73

한개의하드디스크추가 디스크관리 (2/8) 하드디스크장착 하드디스크 hdb (IDE 0:1) /dev/hdb fdisk ext3 파티션 reboot /dev/hdb1 하드디스크 하드디스크 /etc/fstab 에등록 /mydata mount 파일시스템생성 mkfs.ext3 [ 하드디스크한개를추가하기위한전체흐름도 ] 74

디스크관리 (3/8) 한개의하드디스크추가 : fdisk 75

디스크관리 (4/8) 한개의하드디스크추가 : mkfs 76

한개의하드디스크추가 생성된파티션마운트 디스크관리 (5/8) 77

디스크관리 (6/8) mkfs 파일시스템만들기 일반형식 mkfs [ 옵션 ] < 파일시스템유형 > < 파티션 > mke2fs < 파티션 > -t 만들자고하는파티션작성 주요옵션 -c 파일시스템을만들면서 Bad Block 이있는지여부를설정한다. -m 루트를위한예비공간조절 파일시스템수리 : fsck, e2fsck [root@clickseo /]# fsck -t ext3 /dev/sda9 [root@clickseo /]# e2fsck /dev/sda9 78

mount 디스크관리 (7/8) 리눅스에서모든블록장치는마운트하여사용 Syntax mount -t < 파일시스템유형 > [ 파티션 ] [ 마운트된디렉터리 ] [ 파일시스템유형 ] [ 마운트옵션 ] 79

디스크관리 (8/8) umount 모든장치파일을사용한후주의할점은꼭언마운트 (umount) 한후뽑아야한다. 그렇지않으면 장치가사용중 (device is busy ) 이라는에러메시지를받는다. Syntax umount < 마운트된디렉토리 > umount < 마운트된장치명 > 마운트된장치와디렉터리정보는이미커널안에, 그리고 /etc/mtab 파일에보관되어있기때문에디렉터리또는장치명만적어주면알아서 umount 해준다. umount 되지않은상태에서강제로 umount 하고싶다면 fuser 명령을사용하면된다. [root@clickseo /]# fuser -km /mnt/cdrom 80

패키지관리 사용자관리 프로세스관리 리눅스초기화과정 파일시스템 패키지관리 Debian 및 Ubuntu 계열 RedHat 계열 81

Debian 및 Ubuntu 계열 (1/3) dpkg : wiki.debian.org/teams/dpkg 1994 년 01 월, 이안머독 (Ian Murdock) Debian Package Management system 라이선스 : GNU GPLv2 프로그래밍언어 : C/C++, Perl 82

Debian 및 Ubuntu 계열 (2/3) apt : wiki.debian.org/apt 1998 년 03 월, Debian Project APT, Advanced Package Tool Debian GNU/Linux 배포판계열에서소프트웨어설치및제거 라이선스 : GNU GPLv2 프로그래밍언어 : C++ 83

Debian 및 Ubuntu 계열 (3/3) apt : apt-get apt-get 설치 : apt-get install < 패키지이름 > 업데이트 : apt-get update < 패키지이름 > 업그레이드 : apt-get upgrade < 패키지이름 > 추가업그레이드 : apt-get dist-upgrade < 패키지이름 > apt-cache 패키지설치여부검색 : sudo apt-cache search < 패키지이름 > 설치패키지정보조회 : sudo apt-cache show < 패키지이름 > 84

패키지관리 RedHat 계열 85

RedHat 계열 (1/4) RPM 패키지관리자 : rpm.org RPM, RPM Package Manager RedHat Package Manager 컴퓨터소프트웨어패키지를설치, 제거, 확인, 쿼리및업데이트할수있는강력한명령어기반패키지관리시스템 MS-Windows의 setup.exe와비슷하게설치한후에바로실행할수있는설치파일 파일자동설치, 업그레이드기능, 시스템검증, 질의의용도로사용 Linux 배포판 RedHat Enterprise Linux, Fedora Project, CentOS SUSE Linux Enterprise, opensuse, Tizen 등 라이선스 : GNU GPL 프로그래밍언어 : C, Perl 86

YUM : yum.baseurl.org RedHat 계열 (2/4) Yellow dog Updater, Modified 의약자 듀크대학교의 Linux@DUKE 프로젝트의일부분으로개발 Yum 이전에있었던 Yellowdog Updater(YUP) 도구를대체 RPM 기반의시스템을위한자동업데이트및패키지설치 / 제거도구 콘솔기반의자동업데이트프로그램 인터넷을통하여 Fedora의 RPM 파일이저장된저장소에서, 설치하려고하는 RPM 파일과해당 RPM 파일이의존성을가지는다른 RPM 파일까지모두다운로드한후에자동으로설치까지해준다. Fedora Project, CentOS 등많은 RPM 기반리눅스배포판에서사용 라이선스 : GNU GPLv2 프로그래밍언어 : Python 87

YUM : 사용법 설치 : yum install RedHat 계열 (3/4) # yum install < 패키지이름 > // 설치여부를묻는부분에서무조건 yes 로간주 # yum y install < 패키지이름 > 삭제 # yum remove < 패키지이름 > 정보확인 # yum info < 패키지이름 > 로컬에서설치 # yum localinstall < 패키지이름 > 88

YUM : 사용법 업데이트목록확인 # yum check-update RedHat 계열 (4/4) 업데이트 : yum update yum install < 패키지이름 > 을실행하면, 기존에패키지가설치되어있지않을경우새로설치해주고, 이미설치되어있다면업데이트해준다. # yum update < 패키지이름 > YUM : 실행순서 1. updates 에서 < 패키지이름 > 을검색 2. extra 에서 < 패키지이름 > 을검색 3. base 에서 < 패키지이름 > 을검색 4. base에없다면설치할패키지가없다. 위의순서로검색후설치가안되어있거나기본버전보다최신이면설치한다. 89

참고문헌 [1] 이종원, IT CookBook, 우분투리눅스 ( 개정판 ) : 시스템 & 네트워크, 한빛아카데미, 2018. [2] 백창우, 유닉스리눅스프로그래밍필수유틸리티, 한빛미디어. 2010. 이강의자료는저작권법에따라보호받는저작물이므로무단전제와무단복제를금지하며, 내용의전부또는일부를이용하려면반드시저작권자의서면동의를받아야합니다. Copyright Clickseo.com. All rights reserved. 90