公式のインストールスクリプトを使用して、Arch Linuxを使用してMatlabをインストールしようとしています。すべてがうまく機能し、すべてのコンポーネントを選択した後、ダウンロードが始まります。これで問題は、インストーラがダウンロードしたコンテンツを/ tmpに保存することです。ここに4GB(RAMの半分)を割り当てました。これまでこれは問題ではありませんでした。インストール/ダウンロードプロセスの約25%程度で、インストーラは/ tmpに余分なスペースがないというエラーを表示します。インストールを開始する前にディレクトリを確認してみると、4GBの空き容量がありました。
ドライブに十分な空き容量があるので、別のディレクトリを十分なスペースがあるインストーラにリダイレクトできますか?インストーラがインストールディレクトリを要求しましたが、このディレクトリを選択するオプションは提供されていません。
答え1
@thrigが答えで指摘したように、インストーラが環境変数をTMP
サポートせず、パーティション/RAMディスク自体が小さすぎる場合は、他のものをインストールするだけです。TMPDIR
/tmp
mkdir "$HOME/matlabdl"
mount --bind -o nonempty "$HOME/matlabdl" /tmp
通常のマウントとは異なり、マウントは既存のディレクトリをインポートして別の場所にマウントします。つまり、この場合、実際にダウンロードが行われているRAMディスクに--bind
ダウンロードするのではありません。通常、必要な空でない場合でもインストールを実行します。/tmp
$HOME/matlabdl
-o nonempty
/tmp
インストールが完了したら、/ tmpを再マウント解除します。
umount /tmp
これにより、RAMディスクが再び表示されます。一部のプロセスが上書きされたプロセスを引き続き使用している場合は、/tmp
エラーなどのツールを使用してそのプロセスが何であるかを確認してくださいlsof
。
答え2
インストーラはこれを無視matlab_R2018b_glnxa64.zip
、TMP
無視TMPDIR
して直接使用します/tmp
。フルダウンロードサイズは9597MB、インストール後27GBです。 1つのアプローチは、インストーラを複数回実行し、/tmp
使用量が制限を超えないようにコレクションのサブセットのみをインストールすることです。もう一つの方法は、トリックを使ってLD_PRELOAD
他の場所に書くことです。もう1つの方法は、インストールGUIがダウンロードを開始してからダウンロードを一時停止してから、次のことです。
% cd /tmp
% ls | grep -v systemd
hsperfdata_jhqdoe
mathworks_24989
mathworks_jhqdoe.log
mathworks_jhqdoe.log.lck
tmw1537542523097
% mv tmw1537542523097 /some/where/with/space
% ln -s /some/where/with/space tmw1537542523097
その後、インストーラの一時停止を解除します。