여러 파일을 사용자 정의 방식으로 압축하시겠습니까?

여러 파일을 사용자 정의 방식으로 압축하시겠습니까?

릴리스 준비 과정에서 내 응용 프로그램에 대한 tarball을 수동으로 작성하는 데 문제가 있습니다. 내 프로젝트 구조는 다음과 같습니다

project_root
     |
     |__resources
     |     |____config.conf
     |
   ....
     |__target
           |____release
                    |___bin
                         |___app.bin

그래서 바보처럼 2개의 파일을 압축해야 합니다.

project_root/resource/config.conf         -->   ./app/config/example/config.conf
project_root/target/release/bin/app.bin   -->   ./app/app.bin

방법에 대한 좋은 예가 있습니다.여러 파일 압축타르의 경우상대 경로, 그러나 단일 파일의 경우입니다.

위 시나리오에서 두 파일을 패키징하는 방법이 있습니까?

답변1

GNU를 사용하면 tar두 파일을 수동으로 포함하고 다음 옵션을 사용하여 경로를 수정할 수 있습니다 --transform.

tar --transform=s,project_root/resources/,./app/config/example/, \
    --transform=s,project_root/target/release/bin/,./app/, \
    -cf my.tar \
    project_root/resources/config.conf \
    project_root/target/release/bin/app.bin

산출:

$ tar tf my.tar
./app/config/example/config.conf
./app/app.bin

관련 정보