我正在尝试从我的 Linux PC 制作 Mac 操作系统的安装包。为此,我需要将文件夹中的数据打包到 (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 的文件夹内,就像第一种情况一样。我尝试了 cpio 选项的不同组合,但没有成功。
编辑2:找到 .命令输出: