私は/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
パッケージがアップグレードされるまで、つまり。パッケージが提供するファイルをいじることはお勧めしません。