私は/tmp別のパーティションにあり、でマウントしていnoexecます。Debianを使用しています。
一部のパッケージのインストール後スクリプトはから実行する必要があるため、一部のパッケージのインストールは失敗します/tmp。
単純なスクリプトを「フック」して、apt-get前apt-getに毎回実行し、に再マウント/tmpすることが可能かどうか疑問に思っていましたexec。同様に、終了noexec後に再マウントしapt-getます。
私は/tmp別のパーティションにあり、でマウントしていnoexecます。Debianを使用しています。
一部のパッケージのインストール後スクリプトはから実行する必要があるため、一部のパッケージのインストールは失敗します/tmp。
単純なスクリプトを「フック」して、apt-get前apt-getに毎回実行し、に再マウント/tmpすることが可能かどうか疑問に思っていましたexec。同様に、終了noexec後に再マウントしapt-getます。
回答:
つぶやく、あなたapt-getのスクリプトに簡単に置き換えることができます。
移動apt-getにreal-apt-get呼び出されたスクリプトの作成、そして、そしてapt-get、このいずれかのように:
#!/bin/sh
mount -o remount -o ... /tmp
real-apt-get "$@"
mount -o remount -o ... -o noexec /tmp
いずれにせよ、私はこのソリューションが好きではありません。一時ディレクトリの環境変数は、必要なときに簡単に変更できます。(shスタイル)のようなもの:
mkdir /root/mytmp
TMPDIR=/root/mytmp
export TMPDIR
apt-get ...
rm -rf /root/mytmp
このようにして、apt-getは/root/mytmp一時ディレクトリとして使用します。システムを変更する必要はありません。
aptパッケージがアップグレードされるまで、つまり。パッケージが提供するファイルをいじることはお勧めしません。