320x100
320x100

리눅스의 소스 파일

: C언어로 된 소스파일을 tar 파일로 묶은 후 압축하여 배포

: 소스 프로그램은 GNU 및 관련 웹 사이트에서 무료로 배포

 

- 압축 파일 형식

: tar.Z

: tar.gz

: tar.bz2

: tar.xz

 

- 소스 파일의 설치 과정

: configure > make > make install

 

- 리눅스 배포판별 패키지 관리 도구

: 레드햇

 > 로컬 (rpm) / 온라인 (yum)

: 데비안

 > 로컬 (dpkg) / 온라인 (apt-get / apt)

: 수세

 > 로컬 (yast) / 온라인 (zypper)

 

 

 

 

 

소스 파일 설치 과정

- configure

: 설치할 환경에 맞게 필요한 컴파일러, 라이브러리, 유틸리티 등을 찾아내어 컴파일 수행

: 수행 후 makefile이 생성됨

 

- make

: makefile을 읽어 소스코드에서 실행가능한 프로그램과 라이브러리를 자동으로 빌드

: configure에 의해 변경된 내용을 반영하고 타겟과 의존성 관련 작업 후 최종 실행 파일 생성

 

- make install

: 빌드된 실행 파일을 설치

 

 

 

 

 

소스파일 관련 명령어

- configure

- make

- gcc

 

 

 

 

 

configure

: 설치할 환경에 맞게 필요한 컴파일러, 라이브러리, 유틸리티 등을 찾아내어 컴파일 수행하여 makefile 생성

 

- 형식

: ./configure [option]

 

- 주요 옵션

: --prefix=<path>

 > makefile을 생성할 디렉터리를 설정

 

 

 

 

 

make

: configure에 의해 변경된 내용을 반영하고 타겟과 의존성 관련 작업 후 최종 실행 파일 생성

 

- 형식

: make [command]

 

- 주요 명령어

: install

 > 컴파일된 실행 파일을 설치

: clean

 > configure 작업으로 생성된 파일 제거

 

 

 

 

 

gcc

: GNU 프로젝트에 만들어진 컴파일러 모음 패키지

: C, C++, Objective-C, Fortran, Java, Ada, Go 등 다양한 프로그래밍 언어 지원

: 대표적인 리눅스 컴파일러 도구

: 컴파일 후 .out 실행파일을 생성

 

- 형식

: gcc [option] <file>

 

- 주요 옵션

: -o

 > 컴파일 시 실행 파일의 이름 지정

: -c

 > 링크를 생략하고 목적 파일만 생성. .o 파일을 생성

 

- 예시

: gcc -o test caclator.c

 > test라는 실행파일 생성

: gcc -o test1 test2.c test3.c

 > 두 개의 c 파일을 컴파일하여 test1이라는 실행파일 생성

: gcc -c test.c

 > test.c를 컴파일 하여 test.o 파일 생성

 

 

 

 

 

 

주요 패키지 관리 명령어

- rpm

- rpmbuild

- yum

 

 

 

 

 

rpm

: Red hat package manager

: 레드햇 계열 리눅스에서 사용하는 패키지 관리 도구

: .rpm 파일을 설치하거나 배포 할 수 있음

 

- rpm 파일의 형식

: 패키지이름-버전-릴리즈.리눅스버전.라키텍쳐.rpm

 

- rpm 파일 형식 설명

: 패키지 이름

: 버전

 > 패키지의 버전

: 릴리즈

 > 패키지의 빌드번호

: 리눅스 버전

 > 기준이 되는 리눅스 버전

: 아키텍쳐

 > 사용가능한 시스템의 아키텍쳐

 > i386 / x86 등...

 

- 형식

: rpm [option] <package file>

 

- 설치모드 옵션 (-i (--install))

: -U (--upgrade)

 > 패키지 업그레이드

: -F (--freshen)

 > 이전 버전이 설치되어 있을 경우에만 설치

: -v

 > 메시지를 자세히 출력

: -h (--hash)

 > 설치 진행도를 #로 표시

: --force

 > 강제로 설치 (--oldpackages, --replacefiles, --replacepkgs 옵션 포함)

: --nodeps

 > 의존성 관계를 무시하고 설치

: -vv

 > 메시지를 아주 자세히 출력

: --test

 > 실제 설치 전 제대로 설치되는지 테스트

: --rebuilddb

 > 패키지 설치 후 rpm 데이터베이스를 업데이트

 

- 제거 모드 옵션 (-e (--erase))

: --nodeps

 > 의존성을 갖는 패키지도 같이 삭제

: --test

 > 삭제 전 삭제 결과 테스트

: --allmatches

 > 동일한 이름을 갖는 패키지가 중복 설치되어 있는 경우 모두 제거

 

- 질의 모드 옵션 (-q (--query))

: -i (--info)

 > 설치된 패키지의 정보 출력

: -l (--list)

 > 패키지에서 설치한 모든 파일 정보 출력

: -a (--all)

 > 시스템에 설치된 모든 패키지 목록 출력

: -p <package file> (--package)

 > 해당 패키지 파일의 대한 정보 출력

: -f <file> (--file)

 > 지정한 파일을 설치한 패키지 이름 출력

: -c (--configures)

 > 패키지의 설정 파일 및 스크립트 파일 출력

: -d (--docfiles)

 > 패키지의 문서 파일 출력

: -R (--requires)

 > 패키지 의존도 확인

: --changlog

 > 패키지의 바뀐 내역을 최근부터 연대순으로 출력

: --scripts

 > 설치 및 제거 관련 스크립트 출력

: --filebypkg

 > 파일 앞에 패키지 명을 붙임

: --queryformat (--qf)

 > 질의의 결과 형태 설정

 

- 검증모드 옵션 (-V (--verify))

: -a

 > 모든 패키지 검사

 

- 검증모드 검증 코드

: S

 > 파일 크기 변경

: M

 > 파일 모드 변경 (Permission / type)

: 5

 > MD5 값 변경

: D

 > 장치 파일의 메이저 및 마이너 번호 불일치

: L

 > 링크 파일 경로 불일치

: U

 > 소유자 변경

: G

 > 그룹 소유권 변경

: T

 > 수정 시간 변경

: P

 > 권한 변경

: .

 > 테스트 통과 여부

: ?

 > 테스트를 수행하지 못했을 경우

 

 

 

 

 

rpmbuild

: 패키지 파일 생성

 

- 형식

: rpmbuild [option] <source package file>

 

- 주요 옵션

: --rebuild

 > .src.rpm 파일로 패키지 파일 생성

 

 

 

 

 

yum

: Yellowdog updater, modified

: rpm 기반의 시스템에서 패키지를 손쉽게 설치하고 자동으로 업데이트를 수행

: 의존성 문제를 자동으로 해결하여 설치

 

- 형식

: yum [option] [command] [package name]

 

- 주요 옵션

: -y (--assumeyes)

 > 모든 질의에 yes

: -v (--verbose)

 > 자세한 정보 출력

 

- 주요 명령어

: list [category]

 > 패키지에 대한 정보 출력.

 > category는 installed (설치된), updates (업데이트 가능 목록), all (기본값. 전체)

: info [package]

 > 패키지에 대한 정보 출력

: check-update

 > 업데이트가 필요한 패키지 출력

: update [package]

 > 패키지 업데이트

: install [package]

 > 패키지 설치

: search [package]

 > 패키지 검색

: remove [package]

 > 패키지 삭제

: erase [package]

 > 패키지 삭제

: grouplist

 > 패키지 그룹 목록 출력

: groupinfo <package group>

 > 패키지 그룹의 정보

: groupupdate <package group>

 > 지정한 그룹에 대해 패키지 업데이트

: groupinstall <package group>

 > 지정한 그룹에 대해 패키지 설치

: groupremove <package group>

 > 지정한 그룹의 패키지 삭제

: whatprovides

 > 특정 파일이나 기능 관련 패키지 정보 검색

: clean [value]

 > yum 관련 저장 정보 삭제. value로는 all, packages, rpmdb, dbcache 등

: history [sub-command]

 > yum 명령 사용 이력. sub-command로는 list, info, summary 등

 

 

 

 

 

패키지 관련 파일 및 디렉터리

- /etc/yum.conf

- /etc/yum.repos.d

- /var/log/yum.log

 

 

 

 

 

/etc/yum.conf

: yum의 환경설정 파일

 

 

 

 

 

/etc/yum.repos.d

: yum의 패키지 설치 및 업데이트를 위한 레포지터리 관련 파일들을 저장한 디렉터리

 

- 주요 파일

: CentOS-Base.repo

 > 네트워크를 통한 패키지 설치 레포지터리에 대한 정보가 정의된 파일

: CentOS-Media.repo

 > CD-ROM 및 DVD를 통한 패키지 설치 저장소에 대한 정보가 정의된 파일

 

- 레포지터리 파일의 주요 항목

: base

 > yum 패키지 서버의 기본 경로

: updates

 > 업데이트된 패키지를 위한 경로

: extras

 > 추가 패키지 경로

: centosplus

 > 존재하는 패키지들의 기능적 확장과 관련있는 패키지 경로

: contrib

 > CentOS 개발자들이 만든 패키지 경로

 

 

 

 

 

/var/log/yum.log

: yum 관련 로그 파일 

 

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90