리눅스의 소스 파일
: 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
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 공유 라이브러리 관리 (0) | 2022.10.10 |
---|---|
리눅스 파일 압축 (0) | 2022.10.10 |
리눅스 프로세스 스케줄링 (0) | 2022.10.10 |
리눅스 프로세스 관리 (0) | 2022.10.10 |
리눅스 파일링크 (소프트 링크 / 심볼릭 링크 / 하드 링크) (0) | 2022.10.10 |