내 Linux PC에서 Mac OS 설치 프로그램을 만들려고 합니다. 이렇게 하려면 폴더의 데이터를 (POSIX.1) 이식 가능한 형식 아카이브로 패키지해야 합니다. 아카이브의 루트 디렉터리에는 아래와 같이 dot이라는 폴더와 그 아래의 나머지 폴더가 포함되어야 합니다(예를 들어 Adop OpenJDK Mac OS 설치 패키지를 사용함).
$ cpio -itv < ./flat/base.pkg/PayloadJDK
drwxr-xr-x 3 root root 0 Oct 20 10:36 .
drwxr-xr-x 3 root root 0 Oct 20 10:36 ./Library
Library 폴더는 dot이라는 폴더 안에 있습니다. 하지만 다음 명령을 사용해 보면:
$ mkdir -p root/Applications/Test.app
$ touch ./root/Applications/Test.app/testFiles
$ ( cd root && find . | cpio -o --format odc --owner 0:80 ) > Payload
나는 가지고있다:
$ cpio -itv < ./Payload
drwxr-xr-x 3 root 80 0 Feb 10 10:29 .
drwxr-xr-x 3 root 80 0 Feb 10 10:29 Applications
drwxr-xr-x 2 root 80 0 Feb 10 10:30 Applications/Test.app
-rw-r--r-- 1 root 80 0 Feb 10 10:30 Applications/Test.app/testFiles
폴더 응용 프로그램은 보관 루트 폴더에 있으며 dot이라는 빈 폴더가 있습니다.
첫 번째 경우 아카이브 루트 폴더에는 dot이라는 폴더가 포함되어 있고, 두 번째 경우에는 아카이브 루트 폴더에 2개의 폴더가 포함되어 있습니다. 하나는 내부에 내용이 없는 dot라는 폴더이고, 다른 하나는 "Applications" 폴더에 대한 dot라는 폴더입니다. 첫 번째 경우처럼 dot이라는 폴더 안에 폴더 애플리케이션을 넣어야 합니다. 나는 성공하지 못한 채 cpio 옵션의 다양한 조합을 시도했습니다.
편집: 7zip의 첫 번째 아카이브는 다음과 같습니다.
7zip에서 두 번째(내) 아카이브는 다음과 같습니다.
편집 2:found.command 출력: