2.5. 임의의 아티팩트 설치


UNIX와 유사한 시스템은 파일 시스템 계층 구조 표준(FHS)을 사용하여 특정 파일에 적합한 디렉터리를 지정합니다.

RPM 패키지에서 설치된 파일은 FHS에 따라 배치됩니다. 예를 들어 실행 가능한 파일은 시스템 $PATH 변수에 있는 디렉터리로 이동해야 합니다.

이 설명서의 컨텍스트에서 Arbitrary Artifact 는 RPM에서 시스템에 설치된 모든 것입니다. RPM 및 시스템의 경우 이는 스크립트일 수 있으며 패키지의 소스 코드, pre-ECDHE 바이너리 또는 기타 파일에서 컴파일된 바이너리일 수 있습니다.

이 섹션에서는 시스템에서 Arbitrary Artifacts 를 배치하는 두 가지 일반적인 방법에 대해 설명합니다.

2.5.1. 설치 명령 사용

패키지 관리자는 종종 GNU make 와 같은 빌드 자동화 툴이 최적이 아닌 경우(예: 패키지 프로그램에 추가 오버헤드가 필요하지 않은 경우) install 명령을 사용합니다.

install 명령은 coreutils 를 통해 시스템에 제공되며, 이 명령은 지정된 권한 세트를 사용하여 파일 시스템에 지정된 디렉터리에 아티팩트를 배치합니다.

다음 절차에서는 이전에 생성된 bello 파일을 이 설치 방법의 대상으로 임의의 아티팩트로 사용합니다.

절차

  1. 실행 가능한 스크립트에 공통된 권한이 있는 bello 파일을 /usr/bin 디렉터리에 배치하려면 install 명령을 실행합니다.

    $ sudo install -m 0755 bello /usr/bin/bello

    결과적으로 bello 는 이제 $PATH 변수에 나열된 디렉터리에 있습니다.

  2. 전체 경로를 지정하지 않고 모든 디렉터리에서 bello 를 실행합니다.

    $ cd ~
    
    $ bello
    Hello World

2.5.2. make install 명령 사용

make install 명령을 사용하는 것은 시스템에 빌드된 소프트웨어를 설치하는 자동화된 방법입니다. 이 경우 일반적으로 개발자가 작성한 Makefile 의 시스템에 임의의 아티팩트를 설치하는 방법을 지정해야 합니다.

이 절차에서는 빌드 아티팩트를 시스템의 선택한 위치에 설치하는 방법을 설명합니다.

절차

  1. 설치 섹션을 Makefile 에 추가합니다.

    Makefile

    cello:
    	gcc -g -o cello cello.c
    
    clean:
    	rm cello
    
    install:
    	mkdir -p $(DESTDIR)/usr/bin
    	install -m 0755 cello $(DESTDIR)/usr/bin/cello

    cello 아래에 있는 행(예:, clean:, install: )은 탭 공간으로 시작해야 합니다.

    참고

    $(DESTDIR) 변수는 GNU make built-in이며 일반적으로 루트 디렉터리와 다른 디렉터리에 설치를 지정하는 데 사용됩니다.

    이제 Makefile 을 사용하여 소프트웨어를 빌드할 뿐만 아니라 대상 시스템에 설치할 수도 있습니다.

  2. cello.c 프로그램을 빌드하고 설치합니다.

    $ make
    gcc -g -o cello cello.c
    
    $ sudo make install
    install -m 0755 cello /usr/bin/cello

    결과적으로 cello 는 이제 $PATH 변수에 나열된 디렉터리에 있습니다.

  3. 전체 경로를 지정하지 않고 모든 디렉터리에서 cello 를 실행합니다.

    $ cd ~
    
    $ cello
    Hello World
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.