본문 바로가기

개발로그/리눅스

리눅스-[#리눅스마스터 2급 실기] 5.프로그램 설치


[ 리눅스 마스터 2급 실기 ]

5.프로그램 설치


2019-03-16


목록



1. 파일 유형 / 파일 허가권

2. 파일 시스템

3. 셸

4. 프로세스

5. 프로그램 설치

6. 프린트 / 스캐너

7. XWindow

8. Network



프로그램 설치

RPM

(Redhat Package Manager : 레드헷 사에서 만들어낸 패키지 관리 툴)

㉠sendmail-㉡8,14,3-㉢5.㉣fc11.㉤i585.rpm

㉠ : sendmail :: 패키지명

㉡ : 8.14.3 :: 버전(주버전(8), 부버전(14), 패치번호(3))

㉢ : 5 :: 릴리즈번호(문제를 개선할때마다 증가)

㉣ : fc11 :: 패도라에서 배포할 경우 붙여짐(생략가능)

㉤ : i586 :: 아키텍쳐 ( 파일이 설치 가능한 cpu )


㉠kernel-㉡3.10.0㉢327.㉣e17㉤x86_64.rpm


㉠ : kernel :: 패키지명

㉡ : 3.10.0 :: 버전(주버전(3), 부버전(10), 패치번호(0))

㉢ : 327 :: 릴리즈번호(문제를 개선할때마다 증가)

㉣ : e17 :: CentOS에서 배포할 경우 붙여짐

㉤ : x86_64 :: 아키텍쳐( 파일이 설치 가능한 CPU)


RPM 옵션 ( 패키지 설치, 확인, 삭제 관련 옵션)

i (install) : 새로운 패키지 설치

h (hash) : 해시마크(#)로 진행률 표시

U(UPGRADE) : 기존 패키지를 업그레이드

e(remove) : 패키지 제거

q(question) : 패키지 설치 여부를 확인(RPM을 통해서 설치 여부를 물어봄)

f(file) : "지정파일"을 포함하는 패키지에 대해 질문 수행

v : 진행 과정을 메세지로 표시

vv : 메세지를 더 상세하게 표시

-nodeps : 의존성 무시

-force : 기존 설치된 패키지와 관계없이 강제 설치

-oldpackages : 패키지 재설치

-replacefles : 이미 설치된 다른 패키지 파일을 덮어쓰면서라도 패키지 강제 설치

-force : -replacefiles, -replacepkgs, -oldpackage를 모두 사용함

*** -V(Verify) : 의존성 검증( 매우 중요 )

-a(all) : 모든 패키지 검사


검증 코드

(MD)5 : MD5 체크섬을 변경

S(size) : 파일 크기를 변경

L(link) : 심볼릭 링크를 변경

T(Time) : 파일 수정일을 변경

D(Directory) : 장치 파일을 변경

U(User) : 파일 사용자 / 소유자 변경

G(Group) : 파일 그룹 변경

M(Mod) : 파일 모드가 변경

YUM

(Yellowdog Updatar Modified)


yum install 패키지명 : 설치

yum -y install 패키지면 : 자동 설치

yum update 패키지명 : yum install과 동일한 기능

yum remove 패키지명 : 패키지 제거

yum info 패키지명 : 패키지 요약 정보 확인

yum list : 전체 패키지에 대한 정보 출력

yum search 문자열 : "문자열"이 포함된 패키지 검색

yum history : 패키지 설치, 삭제 등 작업 이력 확인


dpkg

(데비안의 저레벨 패키지 관리 툴)


[패키지명_버전-릴리즈번호-리버젼-아키텍쳐.deb]

*root 권한으로 패키지 설치와 삭제를 할 수 있다.

*패키지 설치/제거 시 rpm 과 같은 의존성 문제를 일으킨다.

i (install) : 패키지 설치 (의존성 문제 생김)

r (remove) : 설치된 패키지만 삭제

p : 패키지와 설정 정보를 모두 삭제

s (s도 다른 명령어에서 정보를 가르키는 경우가 많다) : 패키지 상황 정보를 나타냄

l (List) : dpag가 설치한 모든 파일 목록을 확인


apt-get

(/etc/apt/sources.list 파일을 참조한다. 데미안 리눅스에서 소프트웨어 설치와 제거를 위한 패키지 관리 유틸이다.)

*의존성과 충돌 문제를 해결하기 위해 /etc/apt/source.list 파일을 참조한다.

install : 설치

update : 새 패키지 목록 가져오기(Sources.list 정보를 업뎃)

upgrade : 업그레이드 실행

remove : 패키지 제거

y (YES) : "예"로 질문 자동 처리

u (upgrade list) : 업그레이드한 패키지 목록 표시

V(version) : 자세한 버전


aptitude

(시험에 잘 안나옴)

*우분투의 패키지 관리 유틸리티로 APT처럼 패키지 관리를 자동화한다. 


파일 아카이브

(archive는 파일이나 디렉터리를 하나의 파일로 묶는 것을 말한다.)


tar [옵션] 파일명

c (create) : 새로운 tar 생성

x : 묶은 파일을 원래로 풀음

d (dir) : 아카이브에 있는 파일과 비교

r : 파일 추가

t : 파일 목록 나열

u (upgrade) : 기존 파일보다 새로운 파일로 업데이트

f (file) : 파일명 지정, 생략 시 디폴트 파일명으로 지정

v : 정보를 화면에 출력

z : gzip으로 압축하거나 해제(옵션 z 발음이 g와 비슷하다 생각하고 bzip2와 헷갈리지 말기!)

j : bzip2로 압축하거나 해제

P : 절대 경로 정보 유지

J : xz 옵션으로 압축파일인 tar.xz에 사용(가장 압축률이 높아서 대문자로 딱 특별하게 적어놨다 생각!)

exclude : 특정 디렉터리를 제외하고 묶음


압축률이 가장 낮은 것 : compress

압축률이 가장 높은 것 : xz

일반적으로 많이 사용되는 압축 명령어는 gzip과 bzip2이다.


압축에만 옵션이 있음

compress/uncompress[.Z]

compress

d : 파일 압축해제( 압축명령어로도 해제가 가능) [uncompress와 동일]

v : 압축 과정을 화면에 표시(정보 표시)

-V(Version)


gzip/gunzip[.gz]

gzip

d : 파일 압축해제(압축명령어로도 해제가 가능) [gunzip과 동일]

v : 압축 과정을 화면에 표시(정보 표시)

zcat 파일명 : 압축된 파일의 내용 출력

bzip2/bunzip2[.bz2]

bzip

d : 파일 압축해제(압축명령어로도 해제가 가능) [bunnzip2와 동일]

v : 압축 과정을 화면에 표시(정보 표시)

bzcat 파일명 : 압축된 파일의 내용 출력

xz/unxz[,xz]

xz

d : 파일 압축해제(압축명령어로도 해제가 가능) [bunnzip2와 동일]

v : 압축 과정을 화면에 표시(정보 표시)


소스코드 설치

순서 [configure -> make -> make install ] 관련 프로그램 -- Mysql

CMake(Cross Platform Make)

다양한 플랫폼 지원

크로스 컴파일 가능

평행 빌드 가능

타임스탬프를 통해 파일 내용의 변화를 알 수 있음

소프트웨어 빌드에 특화된 언어로 독자적 설정 스크립트를 사용한다.

*유닉스 계열 OS 중심이던 기존의 Make와 달리 한번 작성해 두면 유닉스 계열은 물론

MS 윈도 계열 프로그래밍 도구도 지원