PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

01Àå

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

PowerPoint 프레젠테이션

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

02Àå

슬라이드 제목 없음

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

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Discrete Mathematics

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

PowerPoint 프레젠테이션

DE1-SoC Board

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

문서 대제목

LXR 설치 및 사용법.doc

untitled

/chroot/lib/ /chroot/etc/

PowerPoint 프레젠테이션

Windows 10 General Announcement v1.0-KO

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

APOGEE Insight_KR_Base_3P11

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

7 강. 기본명령 l 파일의압축 Ÿ 아카이브백업등의목적을위해여러파일과디렉터리를묶은것 Ÿ tar(tape ARchive) 명령여러개의파일을하나의아카이브파일로만들거나아카이브파일에서파일들을추출 -만들기 : tar cvf 아카이브명묶을파일명... -풀기 : tar xvf 아카

MySQL-Ch10

PowerPoint 프레젠테이션

Sena Technologies, Inc. HelloDevice Super 1.1.0

Install stm32cubemx and st-link utility

PowerPoint 프레젠테이션

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Apache Ivy

PowerPoint Presentation


PowerPoint 프레젠테이션

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

Adobe Flash 취약점 분석 (CVE )

초보자를 위한 C++

PowerPoint 프레젠테이션

Mango220 Android How to compile and Transfer image to Target

무시하고진행합니다. $ sudo rootstock -d precise --seed ubuntu-standard -x en_us.utf-8 -f ubuntu -l ubuntu -p ubuntu -i 2G I: Running on a x86_64 machine I: Cre

Remote UI Guide

2008

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

PowerPoint 프레젠테이션


ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

6주차.key

vi 사용법

Microsoft PowerPoint - 03_(Linux)_(Fundamental)_File_Directory

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

What is Unix? A multi-task and multi-user Operating System Developed in 1969 at AT&T s Bell Labs by Ken Thompson (Unix) Dennis Ritchie (C) Douglas Mcl

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

페도라 코어 5 설치 가이드

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - comp_prac_081223_2.pptx

슬라이드 1

1. exit logout 하는 command 는아주간단하다. exit 을커맨드에서입력하고 return 키를누르면 logout 된다. 2. ls & command option 현재 directory 에서 file 의 list 를보는명령어, 즉 DOS 에서의 dir 에해

Abstract View of System Components

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

MV6410 Linux 마이크로비젼 MV6410-LCD Linux 활용가이드 마이크로비젼 MV6410 Linux 1

운영체제실습_명령어

JDK이클립스

Orcad Capture 9.x

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PowerPoint 프레젠테이션

CD-RW_Advanced.PDF

Chapter 06. 프로세스관리하기

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-02.pptx

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Transcription:

Chapter 09. 소프트웨어관리하기

00. 개요 01. RPM 패키지설치 02. yum을이용한패키지설치 03. 파일아카이브와압축 04. 소프트웨어컴파일

RPM의장점과단점을설명할수있다. rpm 명령으로패키지를설치하고업그레이드할수있다. rpm 명령으로패키지를검색하고상세정보를확인할수있다. yum 명령으로설치한패키지와설치가능한패키지, 업데이트할수있는패키지의목록을확인할수있다. yum 명령으로패키지를설치하고업데이트하고삭제할수있다. tar 명령으로아카이브를생성하고, 내용을확인하고풀수있다. 파일을압축하고압축을풀수있다. gcc로 C 파일을컴파일할수있다. makefile을작성하여 make 명령으로실행파일을만들수있다.

리눅스실습스터디맵

00 개요 [ 그림 9-1] 9 장의내용구성

01 RPM 패키지설치 리눅스에서주로사용하는패키지 RPM(Redhat Package Manager): 레드햇에서만든패키지관리도구.deb: 데비안, 우분투계열에서사용하는패키지 RPM 의특징 바이너리파일로구성되어있어컴파일이필요없다. 패키지의파일들이관련디렉터리로바로설치된다. 한번에설치된패키지의파일을일괄적으로삭제할수있다. 기존에설치된패키지를삭제하지않고바로업그레이드할수있다. 패키지의설치상태를검증할수있다. 패키지에대한정보를제공한다. 단점 : 패키지의존성에따라관련패키지가먼저설치되어있지않으면설치할수없다. RPM 패키지의이름구성 패키지이름 : 첫번째항목에는패키지의이름 패키지버전 : 두번째항목은패키지의버전 패키지릴리즈 : 릴리즈는해당버전에서몇번째만들어진것인지를나타냄. 1.fc19 에서 1은첫번째만들어진패키지임을, fc19는페도라 19용으로만들어진것임을의미 아키텍처 : 사용하는시스템아키텍처로 x86은인텔 x86 CPU를, 64는 64비트운영체제임을의미 확장자 : RPM 패키지의확장자는.rpm을사용하여다른패키지와구분

01 RPM 패키지설치 rpm 명령 현재사용중인 rpm 의버전확인 [root@localhost ~]# rpm --version RPM 버전 - 4.11.1 [root@localhost ~]#

01 RPM 패키지설치 RPM 패키지설치하기 CD/DVD 장치연결하기 페도라 iso 파일마운트 Player Removable Devices CD/DVD Settings ISO image file이선택되어있어야함 [ 그림 9-3] CD/DVD 장치확인

01 RPM 패키지설치 CD/DVD 장치연결하기 CD/DVD 마운트 [root@localhost ~]# mount -r -t iso9660 /dev/cdrom /mnt/cdrom [root@localhost ~]# cd /mnt/cdrom [root@localhost cdrom]# ls EFI LiveOS Packages TRANS.TBL images isolinux repodata [root@localhost cdrom]# 패키지위치찾기 : Packages 디렉터리아래에패키지이름의첫글자별로모아서디렉터리로구분 [root@localhost cdrom]# cd Packages [root@localhost Packages]# ls TRANS.TBL b d f h j l n p r t v x z a c e g i k m o q s u w y [root@localhost Packages]# x 디렉터리에서 xterm 패키지를찾아보자. [root@localhost Packages]# cd x [root@localhost x]# ls xterm* xterm-293-1.fc19.x86_64.rpm [root@localhost x]#

01 RPM 패키지설치 패키지설치와의존성 : ivh 옵션 [root@localhost x]# rpm -ivh xterm-293-1.fc19.x86_64.rpm 오류 : Failed dependencies: libxaw.so.7()(64bit) is needed by xterm-293-1.fc19.x86_64 [root@localhost x]# xterm 패키지를설치하려면 libxaw.so.7 이필요하다는것 : libxaw 부터설치해야함 [root@localhost x]# cd.. [root@localhost Packages]# cd l [root@localhost l]# ls libxaw* libxaw-1.0.11-5.fc19.x86_64.rpm libxaw-devel-1.0.11-5.fc19.x86_64.rpm [root@localhost l]# rpm -ivh libxaw-1.0.11-5.fc19.x86_64.rpm 준비중... ################################# [100%] Updating / installing... 1:libXaw-1.0.11-5.fc19 ################################# [100%] [root@localhost l]# 다시 xterm 설치 [root@localhost l]# cd../x [root@localhost x]# rpm -ivh xterm-293-1.fc19.x86_64.rpm 준비중... ################################# [100%] Updating / installing... 1:xterm-293-1.fc19 ################################# [100%] [root@localhost x]#

01 RPM 패키지설치 xterm 설치확인및실행 xterm 명령확인 [root@localhost x]# whereis xterm xterm: /bin/xterm /usr/bin/xterm /usr/share/man/man1/xterm.1.gz [root@localhost x]# xterm 실행 : X 윈도환경에서터미널을에뮬레이션해주는프로그램 [ 그림 9-4] xterm 동작화면

01 RPM 패키지설치 패키지강제설치하기 이미설치된패키지를다시설치할경우 [root@localhost x]# rpm -ivh xterm-293-1.fc19.x86_64.rpm 준비중... ################################# [100%] xterm-293-1.fc19.x86_64 패키지는이미설치되어있습니다 [root@localhost x]# 강제로패키지를설치할때는 --replacepkgs 옵션을사용 [root@localhost x]# rpm -ivh --replacepkgs xterm-293-1.fc19.x86_64.rpm 준비중... ################################# [100%] Updating / installing... 1:xterm-293-1.fc19 ################################# [100%] [root@localhost x]#

01 RPM 패키지설치 RPM 패키지업그레이드하여설치하기 : -Uvh [root@localhost x]# cd../l [root@localhost l]# rpm -Uvh lynx-2.8.8-0.1.dev15.fc19.x86_64.rpm 준비중... ################################# [100%] Updating / installing... 1:lynx-2.8.8-0.1.dev15.fc19 ################################# [100%] [root@localhost l]# -U 옵션으로패키지를설치할때기존에설치되어있던패키지는업그레이드하여설치하고새로운패키지는그대로설치 -> 따라서 -i 옵션보다는 -U 옵션을더많이사용

01 RPM 패키지설치 패키지정보검색하기 : -q 전체패키지목록출력하기 : -qa [root@localhost l]# rpm -qa kexec-tools-2.0.4-10.fc19.x86_64 libnice-0.1.3-2.fc19.x86_64 pam-1.1.6-12.fc19.x86_64 mtdev-1.1.3-3.fc19.x86_64 gnome-user-docs-3.8.2-1.fc19.noarch ( 생략 )

01 RPM 패키지설치 특정패키지설치여부확인하기 : -qa grep [root@localhost l]# rpm -qa grep bash bash-completion-2.1-2.fc19.noarch bash-4.2.45-1.fc19.x86_64 [root@localhost l]# 특정파일을포함한패키지확인하기 : -qf [root@localhost l]# rpm -qf ls 오류 :/mnt/cdrom/packages/l/ls 파일 : 그런파일이나디렉터리가없습니다 [root@localhost l]# 왜오류발생? -> -f 옵션으로파일을지정할때는절대경로사용 [root@localhost l]# rpm -qf /usr/bin/ls coreutils-8.21-11.fc19.x86_64 [root@localhost l]#

01 RPM 패키지설치 패키지상세정보확인하기 : -qi 패키지이름구성에서첫번째항목에해당하는부분을지정 [root@localhost l]# rpm -qi bash Name : bash Version : 4.2.45 Release : 1.fc19 Architecture : x86_64 Install Date : Group : System Environment/Shells Size : 3648696 License : GPLv3+ Signature : RSA/SHA256, 2013년 03월 14일 ( 목 ) 오후 02시 36분 55초, Key ID 07477e65fb4b18e6 Source RPM : bash-4.2.45-1.fc19.src.rpm Build Date : Build Host : buildvm-19.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.gnu.org/software/bash Summary : The GNU Bourne Again shell Description : The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. [root@localhost l]#

01 RPM 패키지설치 패키지상세정보확인하기 : qif -f 옵션을사용할경우, 해당파일이속한패키지의상세정보가출력 [root@localhost l]# rpm -qif /usr/bin/ls Name : coreutils Version : 8.21 Release : 11.fc19 Architecture : x86_64 Install Date : Group : System Environment/Base Size : 14559867 License : GPLv3+ Signature : RSA/SHA256, 2013년 05월 09일 ( 목 ) 오전 12시 56분 21초, Key ID 07477e65fb4b18e6 Source RPM : coreutils-8.21-11.fc19.src.rpm ( 생략 )

01 RPM 패키지설치 패키지상세정보확인하기 : -qip -p 옵션을사용할때는해당패키지가위치한디렉터리를지정 : 패키지이름만지정할경우오류발생 [root@localhost l]# rpm -qip bash 오류 : bash( 을 ) 를여는데실패함 : 그런파일이나디렉터리가없습니다 [root@localhost l]# -p 옵션을사용할때는다음과같이패키지파일이위치한디렉터리로이동하거나경로를지정 [root@localhost l]# cd../c [root@localhost c]# rpm -qip coreutils-8.21-11.fc19.x86_64.rpm Name : coreutils Version : 8.21 Release : 11.fc19 Architecture : x86_64 Install Date : (not installed) Group : System Environment/Base Size : 14559867 License : GPLv3+ ( 생략 )

01 RPM 패키지설치 패키지가설치한파일목록확인하기 : -ql [root@localhost c]# rpm -ql bash /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc /usr/bin/alias /usr/bin/bash /usr/bin/bashbug ( 생략 ) 패키지의의존성확인하기 : -qr [root@localhost c]# rpm -qr xterm /bin/sh /bin/sh /bin/sh /bin/sh libice.so.6()(64bit) libx11.so.6()(64bit) libxaw.so.7()(64bit) libxft.so.2()(64bit) libxmu.so.6()(64bit) libxpm.so.4()(64bit) ( 생략 )

01 RPM 패키지설치 패키지삭제하기 앞에서설치한 xterm 패키지를삭제 [root@localhost c]# rpm -e xterm [root@localhost c]# rpm -qa grep xterm [root@localhost c]#

02 yum 을이용한패키지설치 yum 이란? Yellowdog Updater Modified 의약자 Yellowdog이라는리눅스배포판에서제작했던패키지관리도구 (yup) 와비슷하다는데서이름이유래 yum은 rpm 기반의패키지관리도구 yum 의특징 패키지를분석하여패키지의의존성을해결하고원격자동업데이트와설치를할수있다. 설치가능한패키지에대한정보가담긴저장소 (repository) 를가지고있다. 저장소의정보에의거하여패키지를관리한다. yum 의기본형식

02 yum 을이용한패키지설치 패키지목록확인하기 yum list 명령의출력형식 패키지명. 아키텍쳐버전 - 릴리즈저장소또는 @ 설치한저장소 [root@localhost ~]# yum list more Loaded plugins: langpacks, refresh-packagekit Installed Packages GConf2.x86_64 3.2.6-6.fc19 LibRaw.x86_64 0.14.8-3.fc19.20120830git98d925 @anaconda ModemManager.x86_64 0.6.2.0-1.fc19 @anaconda NetworkManager.x86_64 1:0.9.8.2-9.git20130709.fc19 @updates NetworkManager-glib.x86_64 1:0.9.8.2-9.git20130709.fc19 @updates NetworkManager-l2tp.x86_64 0.9.8-4.fc19 @updates NetworkManager-openconnect.x86_64 0.9.7.0-2.git20120918.fc19 @anaconda NetworkManager-openvpn.x86_64 1:0.9.8.2-3.fc19 @updates ( 생략 ) @updates

02 yum 을이용한패키지설치 yum list 명령에서사용할수있는옵션

02 yum 을이용한패키지설치 yum list available: 설치가능한패키지의목록검색 [root@localhost ~]# yum list available more Loaded plugins: langpacks, refresh-packagekit Available Packages 0ad.x86_64 0.0.14-1.fc19 updates 0ad-data.noarch 0.0.14-1.fc19 updates 0xFFFF.x86_64 0.3.9-9.fc19 fedora 2ping.noarch 2.0-1.fc19 updates 389-admin.i686 1.1.35-1.fc19 updates 389-admin.x86_64 1.1.35-1.fc19 updates 389-admin-console.noarch 1.1.8-5.fc19 fedora 389-admin-console-doc.noarch 1.1.8-5.fc19 fedora ( 생략 ) yum list updates: 업데이트가가능한패키지의목록 [root@localhost ~]# yum list updates Loaded plugins: langpacks, refresh-packagekit Updated Packages yum-langpacks.noarch 0.4.1-3.fc19 updates [root@localhost ~]# yum list installed : 현재시스템에설치되어있는패키지목록을출력

02 yum 을이용한패키지설치 yum check-update: 업데이트가능한패키지목록확인하기 [root@localhost ~]# yum check-update Loaded plugins: langpacks, refresh-packagekit yum-langpacks.noarch 0.4.1-3.fc19 updates [root@localhost ~]#

02 yum 을이용한패키지설치 패키지설치하기 : yum install 패키지명 먼저의존성이있는패키지의존재여부를확인 함께설치해야할패키지목록출력 내려받을파일의크기와실제로설치되었을때필요한디스크용량 설치를진행할것인지확인 1 예 : autotrace 패키지설치 -> 의존성확인및함께설치할패키지목록출력 [root@localhost ~]# yum install autotrace Loaded plugins: langpacks, refresh-packagekit Resolving Dependencies --> Running transaction check ---> Package autotrace.x86_64 0:0.31.1-36.fc19 will be installed ( 생략 ) Dependencies Resolved =================================================================================== Package Arch Version Repository Size =================================================================================== Installing: autotrace x86_64 0.31.1-36.fc19 updates 130 k Installing for dependencies: ImageMagick x86_64 6.7.8.9-5.fc19 fedora 2.1 M OpenEXR-libs x86_64 1.7.1-5.fc19 fedora 214 k ilmbase x86_64 1.0.3-5.fc19 fedor 99 k libwmf-lite x86_64 0.2.8.4-36.fc19 fedora 65 k

02 yum 을이용한패키지설치 패키지설치하기 2 예 : autotrace 패키지설치 -> 용량확인및설치여부문의 Transaction Summary =================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 2.6 M Installed size: 9.4 M Is this ok [y/d/n]: 3 설치 : y 로응답한경우 Downloading packages: (1/5): ImageMagick-6.7.8.9-5.fc19.x86_64.rpm 2.1 MB 00:01 (2/5): OpenEXR-libs-1.7.1-5.fc19.x86_64.rpm 214 kb 00:00 (3/5): ilmbase-1.0.3-5.fc19.x86_64.rpm 99 kb 00:00 ( 생략 ) Installed: autotrace.x86_64 0:0.31.1-36.fc19 Dependency Installed: ImageMagick.x86_64 0:6.7.8.9-5.fc19 OpenEXR-libs.x86_64 0:1.7.1-5.fc19 ilmbase.x86_64 0:1.0.3-5.fc19 libwmf-lite.x86_64 0:0.2.8.4-36.fc19 Complete! [root@localhost ~]#

02 yum 을이용한패키지설치 패키지업데이트하기 : yum update 패키지명 [root@localhost ~]# yum update yum-langpacks Loaded plugins: langpacks, refresh-packagekit Resolving Dependencies --> Running transaction check ---> Package yum-langpacks.noarch 0:0.4.1-2.fc19 will be updated ---> Package yum-langpacks.noarch 0:0.4.1-3.fc19 will be an update Finished Dependency Resolution Dependencies Resolved =================================================================================== Package Arch Version Repository Size =================================================================================== Updating: yum-langpacks noarch 0.4.1-3.fc19 updates 27 k Transaction Summary =================================================================================== Upgrade 1 Package Total download size: 27 k Is this ok [y/d/n]: y 로응답하면업데이트진행

02 yum 을이용한패키지설치 패키지정보검색하기 : yum info 패키지명 패키지이름, 패키지아키텍처, 버전, 릴리즈, 패키지파일크기, 저장소, 요약정보, URL, 라이선스, 설명출력 [root@localhost ~]# yum info autotrace Loaded plugins: langpacks, refresh-packagekit Installed Packages Name : autotrace Arch : x86_64 Version : 0.31.1 Release : 36.fc19 Size : 339 k Repo : installed From repo : updates Summary : Utility for converting bitmaps to vector graphics URL : http://autotrace.sourceforge.net/ License : GPLv2+ and LGPLv2+ Description : AutoTrace is a program for converting bitmaps to vector graphics. ( 생략 ) Available Packages Name : autotrace Arch : i686 Version : 0.31.1 Release : 36.fc19 ( 생략 ) [root@localhost ~]#

02 yum 을이용한패키지설치 패키지삭제하기 : yum remove 패키지명 [root@localhost ~]# yum remove autotrace Loaded plugins: langpacks, refresh-packagekit Resolving Dependencies --> Running transaction check ---> Package autotrace.x86_64 0:0.31.1-36.fc19 will be erased --> Finished Dependency Resolution Dependencies Resolved =================================================================================== Package Arch Version Repository Size =================================================================================== Removing: autotrace x86_64 0.31.1-36.fc19 @updates 339 k Transaction Summary =================================================================================== Remove 1 Package Installed size: 339 k Is this ok [y/n]: 패키지를삭제할때도의존성을확인한후, 패키지삭제를진행할것인지를물어봄

03 파일아카이브와압축 파일아카이브 파일을묶어서하나로만든것 tar(tape archive) 명령은원래여러파일이나디렉터리를묶어서마그네틱테이프와같은이동식저장장치에보관하기위해사용하는명령 현재는다른시스템과파일을주고받거나, 백업을하기위해여러파일이나디렉터리를하나의아카이브파일로생성하거나, 기존아카이브에서파일을추출하기위해사용

03 파일아카이브와압축 아카이브생성하기 : cvf [user1@localhost linux_ex]$ tar cvf ch2.tar ch2 ch2/ ch2/data1.sl ch2/data1.ln ch2/data ch2/temp/ ch2/temp/data1.cp ch2/temp/services ch2/temp/hosts ch2/temp/text1 ch2/test ch2/one/ ch2/one/tmp/ ch2/one/tmp/test/ [user1@localhost linux_ex]$ ls ch2/ ch2.tar ch3/ ch4/ ch5/ ch6/ [user1@localhost linux_ex]$ tar 명령으로파일을묶어서아카이브파일을만들어도원본파일은그대로있음

03 파일아카이브와압축 아카이브내용확인하기 : tvf [user1@localhost linux_ex]$ tar tvf ch2.tar drwxrwxr-x user1/user1 0 2013-03-20 12:55 ch2/ lrwxrwxrwx user1/user1 0 2013-03-19 03:52 ch2/data1.sl -> data1 -rw-r--r-- user1/user1 158 2013-03-18 20:38 ch2/data1.ln -rw-r--r-- user1/user1 659878 2013-03-19 05:45 ch2/data drwxrwxr-x user1/user1 0 2013-03-19 08:17 ch2/temp/ -rw-r--r-- user1/user1 158 2013-03-19 05:09 ch2/temp/data1.cp -rw-r--r-- user1/user1 659878 2013-03-18 18:56 ch2/temp/services -rw-r--r-- user1/user1 158 2013-03-18 18:56 ch2/temp/hosts -rw-r--r-- user1/user1 158 2013-03-18 18:45 ch2/temp/text1 -rw-rw-r-- user1/user1 0 2013-01-01 12:00 ch2/test drwxrwxr-x user1/user1 0 2013-03-18 11:04 ch2/one/ drwxrwxr-x user1/user1 0 2013-03-19 08:12 ch2/one/tmp/ drwxrwxr-x user1/user1 0 2013-03-18 11:04 ch2/one/tmp/test/ [user1@localhost linux_ex]$

03 파일아카이브와압축 아카이브풀기 : xvf [user1@localhost linux_ex]$ mkdir ch9 [user1@localhost linux_ex]$ mv ch2.tar ch9 [user1@localhost linux_ex]$ cd ch9 [user1@localhost ch9]$ tar xvf ch2.tar ch2/ ch2/data1.sl ch2/data1.ln ( 생략 ) [user1@localhost ch9]$ ls ch2/ ch2.tar [user1@localhost ch9]$

03 파일아카이브와압축 아카이브업데이트하기 : uvf u 기능은지정한파일이아카이브에없는파일이거나, 아카이브에있는파일이지만수정된파일일경우아카이브의마지막에추가 -> ch2/data 파일의수정시간을 touch 명령으로수정후아카이브업데이트 [user1@localhost ch9]$ tar uvf ch2.tar data [user1@localhost ch9]$ touch ch2/data [user1@localhost ch9]$ tar uvf ch2.tar ch2/data ch2/data [user1@localhost ch9]$ tar tvf ch2.tar drwxrwxr-x user1/user1 0 2013-03-20 12:55 ch2/ lrwxrwxrwx user1/user1 0 2013-03-19 03:52 ch2/data1.sl -> data1 -rw-r--r-- user1/user1 158 2013-03-18 20:38 ch2/data1.ln -rw-r--r-- user1/user1 659878 2013-03-19 05:45 ch2/data drwxrwxr-x user1/user1 0 2013-03-19 08:17 ch2/temp/ -rw-r--r-- user1/user1 158 2013-03-19 05:09 ch2/temp/data1.cp -rw-r--r-- user1/user1 659878 2013-03-18 18:56 ch2/temp/services -rw-r--r-- user1/user1 158 2013-03-18 18:56 ch2/temp/hosts -rw-r--r-- user1/user1 158 2013-03-18 18:45 ch2/temp/text1 -rw-rw-r-- user1/user1 0 2013-01-01 12:00 ch2/test drwxrwxr-x user1/user1 0 2013-03-18 11:04 ch2/one/ drwxrwxr-x user1/user1 0 2013-03-19 08:12 ch2/one/tmp/ drwxrwxr-x user1/user1 0 2013-03-18 11:04 ch2/one/tmp/test/ -rw-r--r-- user1/user1 659878 2013-06-10 11:29 ch2/data [user1@localhost ch9]$

03 파일아카이브와압축 파일압축과아카이브 아카이브를생성하면서동시에압축수행 예 : gzip 으로압축 [user1@localhost ch9]$ cp /etc/hosts. [user1@localhost ch9]$ tar rvf ch2.tar hosts hosts [user1@localhost ch9]$ tar tvf ch2.tar drwxrwxr-x user1/user1 0 2013-03-20 12:55 ch2/ lrwxrwxrwx user1/user1 0 2013-03-19 03:52 ch2/data1.sl -> data1 ( 생략 ) -rw-r--r-- user1/user1 659878 2013-06-10 11:29 ch2/data -rw-r--r-- user1/user1 158 2013-06-10 11:35 hosts [user1@localhost ch9]$

03 파일아카이브와압축 파일압축과아카이브 아카이브를생성하면서동시에압축실행 예 : 아키이브생성과동시에 gzip 으로압축실행 : gzip 로압축할경우 z 옵션을사용 [user1@localhost ch9]$ tar cvzf ch2.tar.gz ch2 ch2/ ch2/data1.sl ch2/data1.ln ( 생략 ) [user1@localhost ch9]$ 예 : bzip2 로압축실행 : bzip2 로압축할경우 j 옵션을사용 [user1@localhost ch9]$ tar cvjf ch2.tar.bz2 ch2 ch2/ ch2/data1.sl ch2/data1.ln ( 생략 ) [user1@localhost ch9]$

03 파일아카이브와압축 파일압축과아카이브 tar 파일로생성한것과압축한결과의파일크기를비교 [user1@localhost ch9]$ ls -l 합계 2396 drwxrwxr-x. 4 user1 user1 4096 3월 20 12:55 ch2/ -rw-rw-r--. 1 user1 user1 1996800 6월 10 11:35 ch2.tar -rw-rw-r--. 1 user1 user1 173846 6월 10 12:57 ch2.tar.bz2 -rw-rw-r--. 1 user1 user1 266708 6월 10 12:57 ch2.tar.gz -rw-r--r--. 1 user1 user1 158 6월 10 11:35 hosts [user1@localhost ch9]$ 압축한아카이브파일의내용은 tvf 로확인이가능하며 xvf 로추출가능 [user1@localhost ch9]$ tar tvf ch2.tar.gz drwxrwxr-x user1/user1 0 2013-03-20 12:55 ch2/ lrwxrwxrwx user1/user1 0 2013-03-19 03:52 ch2/data1.sl -> data1 -rw-r--r-- user1/user1 158 2013-03-18 20:38 ch2/data1.ln -rw-r--r-- user1/user1 659878 2013-06-10 11:29 ch2/data ( 생략 )

03 파일아카이브와압축 파일압축하기 : gzip/gunzip -.gz 파일 [user1@localhost ch9]$ rm ch2.tar.gz rm: remove 일반파일 'ch2.tar.gz'? y [user1@localhost ch9]$ gzip ch2.tar [user1@localhost ch9]$ ls ch2/ ch2.tar.bz2 ch2.tar.gz hosts [user1@localhost ch9]$ [user1@localhost ch9]$ gzip -l ch2.tar.gz compressed uncompressed ratio uncompressed_name 399788 1996800 80.0% ch2.tar [user1@localhost ch9]$

03 파일아카이브와압축 압축파일의내용보기 : zcat [user1@localhost ch9]$ zcat ch2.tar.gz more ch2/ 0000000 t4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # $Id: services,v 1.53 2011/06/13 15:00:06 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2011-06-10 ( 생략 )

03 파일아카이브와압축 압축풀기 : gunzip [user1@localhost ch9]$ gunzip ch2.tar.gz [user1@localhost ch9]$ ls ch2/ ch2.tar ch2.tar.bz2 hosts [user1@localhost ch9]$

03 파일아카이브와압축 bzip2/bunzip2 :.bz2 파일 [user1@localhost ch9]$ rm ch2.tar.bz2 rm: remove 일반파일 'ch2.tar.bz2'? y [user1@localhost ch9]$ bzip2 ch2.tar [user1@localhost ch9]$ ls ch2/ ch2.tar.bz2 hosts [user1@localhost ch9]$

03 파일아카이브와압축 압축파일의내용보기 : bzcat 압축풀기 : bunzip2 [user1@localhost ch9]$ bunzip2 ch2.tar.bz2 [user1@localhost ch9]$ ls ch2/ ch2.tar hosts [user1@localhost ch9]$

04 소프트웨어컴파일 컴파일러설치하기 C 언어로작성한프로그램을컴파일하기위해서는 C 컴파일러가필요 리눅스에서사용하는 C 컴파일러는 GNU C 컴파일러로패키지이름이 gcc gcc 설치여부확인 -> 설치되어있지않음 [user1@localhost ~]$ rpm -qa grep gcc libgcc-4.8.1-1.fc19.x86_64 [user1@localhost ~]$ gcc 설치 [root@localhost ~]# yum install gcc Loaded plugins: langpacks, refresh-packagekit Resolving Dependencies --> Running transaction check ---> Package gcc.x86_64 0:4.8.1-1.fc19 will be installed --> Processing Dependency: cpp = 4.8.1-1.fc19 for package: gcc-4.8.1-1.fc19.x86_64 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.1-1.fc19.x86_64 ( 생략 ) Installed: gcc.x86_64 0:4.8.1-1.fc19 Dependency Installed: cpp.x86_64 0:4.8.1-1.fc19 glibc-devel.x86_64 0:2.17-18.fc19 glibc-headers.x86_64 0:2.17-18.fc19 kernel-headers.x86_64 0:3.11.2-201.fc19 libmpc.x86_64 0:1.0.1-1.fc19 Complete! [root@localhost ~]#

04 소프트웨어컴파일 간단한 C 프로그램작성하기 [user1@localhost ch9]$ vi hello.c #include <stdio.h> main() { printf("hello, World.\n"); } :wq C 프로그램컴파일하기 : 실행파일명은 a.out [user1@localhost ch9]$ gcc hello.c [user1@localhost ch9]$ ls a.out* ch2/ ch2.tar hello.c hosts [user1@localhost ch9]$ C 프로그램실행하기 : 경로지정확인 [user1@localhost ch9]$./a.out Hello, World. [user1@localhost ch9]$

04 소프트웨어컴파일 실행파일명변경하기 gcc 로생성한기본실행파일은 a.out 사용자가원하는이름으로지정하려면 o 옵션사용 [user1@localhost ch9]$ gcc -o hello hello.c [user1@localhost ch9]$./hello Hello, World. [user1@localhost ch9]$

04 소프트웨어컴파일 make 명령사용하기 make 명령은 makefile( 또는 Makefile) 에설정된정보를읽어서여러소스파일을컴파일하고링크하여최종실행파일을생성 소스파일준비 [user1@localhost ch9]$ vi one.c #include <stdio.h> extern int two(); main() { printf("go to Module Two--\n"); two(); printf("end of Module One.\n"); } :wq 컴파일하면오류발생 : two() 가무엇인지모르겠다는메시지 [user1@localhost ch9]$ gcc one.c /tmp/ccblblus.o: In function 'main': one.c:(.text+0x14): undefined reference to 'two' collect2: error: ld returned 1 exit status [user1@localhost ch9]$

04 소프트웨어컴파일 make 명령사용하기 두번째파일생성 : two() 함수정의 [user1@localhost ch9]$ vi two.c #include <stdio.h> two() { printf("in Module Two--\n"); printf("--- This is a Moudule Two.\n"); printf("end of Module Two.\n"); } :wq makefile 작성하기 [user1@localhost ch9]$ vi maekfile TARGET=one OBJECTS=one.o two.o ${TARGET} : ${OBJECTS} gcc -o ${TARGET} ${OBJECTS} one.o : one.c gcc -c one.c two.o : two.c gcc -c two.c :wq

04 소프트웨어컴파일 make 파일실행 [user1@localhost ch9]$ make gcc -c one.c gcc -c two.c gcc -o one one.o two.o [user1@localhost ch9]$./one Go to Module Two-- In Module Two-- --- This is a Moudule Two. End of Module Two. End of Module One. [user1@localhost ch9]$