1. Patch 패키지의 역할
Patch는 리눅스 시스템에서 '변경사항 적용기' 역할을 하는 도구입니다.
단순히 파일을 여는 편집기가 아니라, 원본 파일과 수정본의 차이점(diff) 을 기록한 패치 파일을 읽어, 그 변경 내용을 원본 소스코드나 설정 파일에 자동으로 반영해 주는 프로그램입니다.
2. Patch 패키지의 구성
이 패키지는 겉보기에는 단순해 보이지만, 실제로는 패치 적용에 필요한 핵심 기능들로 이루어져 있습니다.
- patch : 핵심 실행 프로그램입니다.
패치 파일을 읽어 어떤 파일의 몇 번째 줄이 어떻게 바뀌어야 하는지 해석한 뒤, 실제 파일에 그 변경사항을 반영합니다.
GNU 문서에 따르면 patch는 diff형식을 자동으로 판별하고, 헤더 정보를 이용해 어떤 파일을 수정해야 하는지도 결정합니다. - 옵션 체계 : 적용 방식을 세밀하게 제어합니다.
-pN 옵션은 경로 앞부분을 몇 단계 제거할지 결정하고 -i는 입력할 패치 파일을 지정하며, -b는 원본 백업을 남기게 해 줍니다. - 자동 보정 기능 : 완벽히 일치하지 않아도 문맥을 바탕으로 적용을 시도합니다.
GNU 문서는 patch가 주변 문맥을 검색해 줄 번호가 조금 어긋난 경우에도 패치를 적용할 수 있다고 설명합니다. 그래서 소스가 약간 달라져 있어도 패치가 성공 하는 경우가 많습니다.
3. Patch 패키지 빌드
1. 소스 준비 및 이동 (lfs 유저)
cd $LFS/sources
tar -xvf patch-2.8.tar.xz
cd patch-2.8
2. 설정
./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(build-aux/config.guess)
3. 컴파일 및 설치
make
make DESTDIR=$LFS install
4. 뒷정리
cd $LFS/sources
rm -rf patch-2.8
'리눅스 > LFS' 카테고리의 다른 글
| [LFS14] Python3 빌드 (1) | 2026.04.21 |
|---|---|
| [LFS13] Perl 패키지 빌드 (0) | 2026.04.21 |
| [LFS11] IANA-etc 패키지 빌드 (1) | 2026.03.31 |
| [LFS10] 리눅스 탐색기 findutils 빌드 (0) | 2026.03.18 |
| [LFS9] 텍스트 가공 및 분석의 유틸리티 Gawk 패키지 빌드 (0) | 2026.03.11 |