私はUnixに焦点を当てた人気のあるQ&Aサイトで頻繁に回答しています。私の回答の多くでは、bash
シェルを使用した例を示しています。ただし、これを行うたびに、クリーンな環境を作成するプロセスを手動で実行して、すべてのステップが説明され、文書化されていることを確認する必要があります。このプロセスをより簡単にするにはどうすればよいですか?理想的には、1つのコマンドを入力してクリーンな環境を取得し、完了後にその一時的な環境の痕跡をすべて削除することを検討しています。
私は個人的に次のbash
関数を使用してこれを行います。
so() {
local tmpdir="$(mktemp -d)"
local tmprc="$(mktemp)"
cat > "$tmprc" << EOF
PS1='\\$ '
cd "$tmpdir"
EOF
env - HOME="$HOME" TERM="$TERM" bash --rcfile "$tmprc"
rm -rf "$tmpdir" "$tmprc"
}
順序は次のとおりです。
bash
rcファイルとして使用します)。PS1
PromptをPromptターミネーターの後にスペースを設定します。これにより、Q&Aサイトに出力のコピーが必要な場合に備えて関連性が保たれます。bash
の新しいインスタンスを呼び出します。これは:$HOME
と$TERM
(env - ...
)を除いて、最初は空の環境があります。--rcfile
)からrcファイルを読み取ります。明らかに、これは完全に確実なわけではありません。つまり、システムの他の部分にアクセスできます。ただし、これにより、テストに使用できるクリーンな一時環境が提供されます。
chroot
は1つの方法で、VMは別の方法です。LV上にchroot環境を構築し、スナップショットを作成し、何でもしてから、スナップショットの状態に戻すことができます。 。
または-VM(disk-snapshot))で同じことを行い、後ですべての変更を元に戻します。
私は通常、新しくインストールしたVM(VirtualBoxとキックスタートまたはPXEブートでautoyastを使用)を使用してこれを行います。