2.5. 임의의 아티팩트 설치
UNIX와 유사한 시스템은 파일 시스템 계층 구조 표준(FHS)을 사용하여 특정 파일에 적합한 디렉터리를 지정합니다.
RPM 패키지에서 설치된 파일은 FHS에 따라 배치됩니다. 예를 들어 실행 가능한 파일은 시스템 $PATH
변수에 있는 디렉터리로 이동해야 합니다.
이 설명서의 컨텍스트에서 Arbitrary Artifact 는 RPM에서 시스템에 설치된 모든 것입니다. RPM 및 시스템의 경우 이는 스크립트일 수 있으며 패키지의 소스 코드, pre-ECDHE 바이너리 또는 기타 파일에서 컴파일된 바이너리일 수 있습니다.
이 섹션에서는 시스템에서 Arbitrary Artifacts 를 배치하는 두 가지 일반적인 방법에 대해 설명합니다.
2.5.1. 설치 명령 사용 링크 복사링크가 클립보드에 복사되었습니다!
패키지 관리자는 종종 GNU make 와 같은 빌드 자동화 툴이 최적이 아닌 경우(예: 패키지 프로그램에 추가 오버헤드가 필요하지 않은 경우) install
명령을 사용합니다.
install
명령은 coreutils 를 통해 시스템에 제공되며, 이 명령은 지정된 권한 세트를 사용하여 파일 시스템에 지정된 디렉터리에 아티팩트를 배치합니다.
다음 절차에서는 이전에 생성된 bello
파일을 이 설치 방법의 대상으로 임의의 아티팩트로 사용합니다.
절차
실행 가능한 스크립트에 공통된 권한이 있는
bello
파일을/usr/bin
디렉터리에 배치하려면install
명령을 실행합니다.sudo install -m 0755 bello /usr/bin/bello
$ sudo install -m 0755 bello /usr/bin/bello
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과적으로
bello
는 이제$PATH
변수에 나열된 디렉터리에 있습니다.전체 경로를 지정하지 않고 모든 디렉터리에서
bello
를 실행합니다.cd ~ bello
$ cd ~ $ bello Hello World
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.2. make install 명령 사용 링크 복사링크가 클립보드에 복사되었습니다!
make install
명령을 사용하는 것은 시스템에 빌드된 소프트웨어를 설치하는 자동화된 방법입니다. 이 경우 일반적으로 개발자가 작성한 Makefile
의 시스템에 임의의 아티팩트를 설치하는 방법을 지정해야 합니다.
이 절차에서는 빌드 아티팩트를 시스템의 선택한 위치에 설치하는 방법을 설명합니다.
절차
설치
섹션을Makefile
에 추가합니다.Makefile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cello 아래에 있는 행(예:
,clean:
,install:
)은 탭 공간으로 시작해야 합니다.참고$(DESTDIR) 변수는 GNU make built-in이며 일반적으로 루트 디렉터리와 다른 디렉터리에 설치를 지정하는 데 사용됩니다.
이제
Makefile
을 사용하여 소프트웨어를 빌드할 뿐만 아니라 대상 시스템에 설치할 수도 있습니다.cello.c
프로그램을 빌드하고 설치합니다.make sudo make install
$ make gcc -g -o cello cello.c $ sudo make install install -m 0755 cello /usr/bin/cello
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과적으로
cello
는 이제$PATH
변수에 나열된 디렉터리에 있습니다.전체 경로를 지정하지 않고 모든 디렉터리에서
cello
를 실행합니다.cd ~ cello
$ cd ~ $ cello Hello World
Copy to Clipboard Copied! Toggle word wrap Toggle overflow