tar:XXXXへのシンボリックリンクを作成できません:操作は許可されていません。

tar:XXXXへのシンボリックリンクを作成できません:操作は許可されていません。

コンテキスト:私はUbuntu VirtualBox(VM)を使用しています。私が作成した仮想マシンにはディスク容量が限られています。もともと思ったよりも活用度が高くなりました。私は、その言語で書かれたアプリケーションをデプロイできる大規模な分析/設計環境(Matlab)を使用しています。正しいランタイムがインストールされている場合は、これらのアプリケーションを別のプラットフォームで実行できます。この開発サイクルの間、私はMatlabのいくつかのバージョンと関連するランタイムを切り替えることを発見しました。仮想ディスクが小さいため、他のものをインストールするために特定のバージョンのMatlabまたはそのランタイムを削除しています。インストールはインターネット経由で行われましたが、残念ながら自宅で使用するのに適した帯域幅があります。

アンインストールして再インストールするのではなく、ランタイムを一時的に置き換えてホストWindows OSのより大きなディスクに保存して時間を節約しようとしました。ホストOSユーザーのホームフォルダが/media/sf_HostOSusrとしてマウントされ、ランタイムフォルダツリーのルートが/usr/local/MATLAB/MATLAB_Runtime/v912にあると仮定します。

cd /usr/local/MATLAB/MATLAB_Runtime/
tar czf \
/media/sf_HostOSusr/VendorApp/matlab/20230425.1502%usr%local%MATLAB%MATLAB_Runtime%V912.tgz \
v912

何十ものエラーが発生します。

tar: v912/bin/glnxa64/libmwfftw3f_mpi.so.3: Cannot create symlink to ‘libmwfftw3f_mpi.so.3.5.8’: Operation not permitted
tar: v912/bin/glnxa64/libPDFRes.so.7: Cannot create symlink to ‘libPDFRes.so.7.1’: Operation not permitted
tar: v912/bin/glnxa64/libmwfftw3f.so.3: Cannot create symlink to ‘libmwfftw3f.so.3.5.8’: Operation not permitted
<...snip...>
tar: v912/runtime/glnxa64/libmwmclmcrrt.so: Cannot create symlink to ‘libmwmclmcrrt.so.9.12’: Operation not permitted
tar: v912/sys/java/jre/glnxa64/jre/lib/amd64/server/libjsig.so: Cannot create symlink to ‘../libjsig.so’: Operation not permitted
tar: v912/bin/glnxa64/libMatlabDataArray.so: Cannot create symlink to ‘../../extern/bin/glnxa64/libMatlabDataArray.so’: Operation not permitted
tar: Exiting with failure status due to previous errors

これらのシンボリックリンクのほとんどは、同じディレクトリに存在するファイルを指します。 tarの内容がtarボールにカプセル化されているため、これはホストWindows 10(64ビット)ファイルシステムとの非互換性のためだとは思わない。 ターボールを生成するときにこれらのシンボリックリンクの問題が発生する他の理由は何ですか?

上記でシンボリックリンクとそのターゲットをアーカイブしようとしましたが、シンボリックリンクエラーは発生しませんでした。

cd v912/runtime/glnxa64/
tar czf /media/sf_HostOSusr/tmp/Test.zip libmwmclmcrrt.so libmwmclmcrrt.so.9.12

ベストアンサー1

おすすめ記事