4.7. 일반적인 오류가 있는지 RPM 확인


패키지를 만든 후 패키지의 품질을 확인하는 것이 좋습니다. 패키지 품질을 확인하는 주요 도구는 rpmlint 입니다.

rpmlint 툴을 사용하면 다음 작업을 수행할 수 있습니다.

  • RPM 유지 관리 기능 개선.
  • RPM의 정적 분석을 수행하여 콘텐츠 검증을 활성화합니다.
  • RPM의 정적 분석을 수행하여 오류 검사를 활성화합니다.

rpmlint 를 사용하여 바이너리 RPM, 소스 RPM(SRPM) 및 사양 파일을 확인할 수 있습니다. 따라서 이 도구는 패키징의 모든 단계에 유용합니다.

rpmlint 에는 엄격한 지침이 있습니다. 따라서 다음 섹션에 표시된 것처럼 일부 오류 및 경고를 건너뛸 수 있는 경우가 있습니다.

참고

다음 섹션에 설명된 예에서 rpmlint 는 검증되지 않은 출력을 생성하는 옵션 없이 실행됩니다. 각 오류 또는 경고에 대한 자세한 설명은 대신 rpmlint -i 를 실행합니다.

4.7.1. 일반적인 오류가 있는지 샘플 Bash 프로그램 확인

다음 섹션에서 bello 사양 파일 예제, bello SRPM 및 bello 바이너리 RPM의 예에서 RPM에서 일반적인 오류가 있는지 확인할 때 발생할 수 있는 경고 및 오류를 조사합니다.

4.7.1.1. 일반적인 오류가 있는지 벨로 사양 파일 확인

다음 예제의 출력을 검사하여 벨로 사양 파일에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

bello 사양 파일에서 rpmlint 명령을 실행하는 출력

$ rpmlint bello.spec
bello.spec: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
Copy to Clipboard

bello.spec 의 경우 invalid-url Source0 경고 하나만 있습니다. 이 경고는 Source0 지시문에 나열된 URL에 연결할 수 없음을 의미합니다. 지정된 example.com URL이 없기 때문에 이는 예상되는 것입니다. 이 URL이 나중에 유효하다고 가정하면 이 경고를 무시할 수 있습니다.

4.7.1.2. bello SRPM에서 일반적인 오류가 있는지 확인

다음 예제의 출력을 검사하여 벨로오 소스 RPM(SRPM)에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

bello SRPM에서 rpmlint 명령 실행의 출력

$ rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
bello.src: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.src: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
Copy to Clipboard

bello SRPM의 경우 invalid-url URL 경고가 있습니다. 즉, URL 지시문에 지정된 URL 에 연결할 수 없습니다. 이 URL이 나중에 유효하다고 가정하면 이 경고를 무시할 수 있습니다.

4.7.1.3. 일반적인 오류가 있는지 벨로 바이너리 RPM 확인

바이너리 RPM을 확인할 때 rpmlint 명령은 다음 항목을 확인합니다.

  • 문서
  • 도움말 페이지
  • 파일 시스템 계층 구조 표준을 일관되게 사용

다음 예제의 출력을 검사하여 벨로 바이너리 RPM에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

벨로 바이너리 RPM에서 rpmlint 명령을 실행하는 출력

$ rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el8.noarch.rpm
bello.noarch: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.noarch: W: no-documentation
bello.noarch: W: no-manual-page-for-binary bello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
Copy to Clipboard

no-documentationno-manual-page-for-binary 경고는 다음을 제공하지 않았기 때문에 RPM에 문서 또는 수동 페이지가 없음을 의미합니다. 출력 경고 외에도 RPM은 rpmlint 검사를 전달했습니다.

4.7.2. 일반적인 오류가 있는지 샘플 Python 프로그램 확인

다음 섹션에서 pello 사양 파일, pello SRPM 및 pello 바이너리 RPM의 예에서 RPM에서 일반적인 오류가 있는지 확인할 때 발생할 수 있는 경고 및 오류를 조사합니다.

4.7.2.1. 일반적인 오류가 있는지 pello 사양 파일 확인

다음 예제의 출력을 검사하여 pello 사양 파일에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

pello 사양 파일에서 rpmlint 명령을 실행하는 출력

$ rpmlint python-pello.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
Copy to Clipboard

python-pello 사양 파일의 경우 rpmlint 유틸리티는 오류 또는 경고를 감지했습니다. 즉, 파일이 올바르게 구성되었습니다.

중요

프로덕션 환경으로 들어오는 패키지의 경우 사양 파일에서 오류 및 경고가 있는지 확인하십시오.

4.7.2.2. pello SRPM에서 일반적인 오류가 있는지 확인

다음 예제의 출력을 검사하여 pello 소스 RPM(SRPM)에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

SRPM for pello에서 rpmlint 명령 실행의 출력

$ rpmlint ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
python-pello.src: E: description-line-too-long C Pello is an example package with an executable that prints Hello World! on the command line.
1 packages and 0 specfiles checked; 1 errors, 0 warnings.
Copy to Clipboard

description-line-too-long 오류는 제공한 설명이 허용되는 문자 수를 초과했음을 의미합니다.

출력 오류 외에도 SRPM은 rpmlint 검사를 통과했습니다.

4.7.2.3. 일반적인 오류가 있는지 pello 바이너리 RPM 확인

바이너리 RPM을 확인할 때 rpmlint 명령은 다음 항목을 확인합니다.

  • 문서
  • 도움말 페이지
  • 파일 시스템 계층 구조 표준을 일관되게 사용

다음 예제의 출력을 검사하여 pello 바이너리 RPM에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

pello 바이너리 RPM에서 rpmlint 명령을 실행하는 출력

$ ~/rpmbuild/RPMS/noarch/python3.12-pello-1.0.2-1.el8.noarch.rpm
pello-1.0.2-1.el8.noarch.rpm
python3.12-pello.noarch: E: description-line-too-long C Pello is an example package with an executable that prints Hello World! on the command line.
python3.12-pello.noarch: W: no-manual-page-for-binary pello_greeting
1 packages and 0 specfiles checked; 2 errors, 1 warnings.
Copy to Clipboard

  • no-manual-page-for-binary 경고는 를 제공하지 않았기 때문에 RPM에 수동 페이지가 없음을 나타냅니다.
  • description-line-too-long 오류는 제공한 설명이 허용되는 문자 수를 초과했음을 의미합니다.

출력 경고 및 오류 외에도 RPM은 rpmlint 검사를 통과했습니다.

4.7.3. 일반적인 오류가 있는지 샘플 C 프로그램 확인

다음 섹션에서 cello 사양 파일, cello SRPM 및 셀오 바이너리 RPM의 예에서 RPM에서 일반적인 오류가 있는지 확인할 때 발생할 수 있는 경고 및 오류를 조사합니다.

4.7.3.1. 일반적인 오류가 있는지 cello 사양 파일 확인

다음 예제의 출력을 검사하여 cello 사양 파일에서 일반적인 오류를 확인하는 방법을 알아봅니다.

cello 사양 파일에서 rpmlint 명령을 실행하는 출력

$ rpmlint ~/rpmbuild/SPECS/cello.spec
/home/admiller/rpmbuild/SPECS/cello.spec: W: invalid-url Source0: https://www.example.com/cello/releases/cello-1.0.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
Copy to Clipboard

cello.spec 의 경우 invalid-url Source0 경고 하나만 있습니다. 이 경고는 Source0 지시문에 나열된 URL에 연결할 수 없음을 의미합니다. 이는 지정된 example.com URL이 없기 때문에 예상됩니다. 이 URL이 나중에 유효하다고 가정하면 이 경고를 무시할 수 있습니다.

4.7.3.2. cello SRPM에서 일반적인 오류가 있는지 확인

다음 예제의 출력을 검사하여 cello 소스 RPM(SRPM)에 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

cello SRPM에서 rpmlint 명령 실행의 출력

$ rpmlint ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
cello.src: W: invalid-url URL: https://www.example.com/cello HTTP Error 404: Not Found
cello.src: W: invalid-url Source0: https://www.example.com/cello/releases/cello-1.0.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
Copy to Clipboard

cello SRPM의 경우 invalid-url URL 경고가 있습니다. 이 경고는 URL 지시문에 지정된 URL 에 연결할 수 없음을 의미합니다. 이 URL이 나중에 유효하다고 가정하면 이 경고를 무시할 수 있습니다.

4.7.3.3. 일반적인 오류가 있는지 cello 바이너리 RPM 확인

바이너리 RPM을 확인할 때 rpmlint 명령은 다음 항목을 확인합니다.

  • 문서
  • 도움말 페이지
  • 파일 시스템 계층 구조 표준을 일관되게 사용

다음 예제의 출력을 검사하여 cello 바이너리 RPM에서 일반적인 오류가 있는지 확인하는 방법을 알아봅니다.

cello 바이너리 RPM에서 rpmlint 명령을 실행하는 출력

$ rpmlint ~/rpmbuild/RPMS/x86_64/cello-1.0-1.el8.x86_64.rpm
cello.x86_64: W: invalid-url URL: https://www.example.com/cello HTTP Error 404: Not Found
cello.x86_64: W: no-documentation
cello.x86_64: W: no-manual-page-for-binary cello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
Copy to Clipboard

no-documentationno-manual-page-for-binary 경고는 제공하지 않았기 때문에 RPM에 문서 또는 수동 페이지가 없음을 의미합니다.

출력 경고 외에도 RPM은 rpmlint 검사를 전달했습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat