Debianサーバーの起動後に実行されたすべての "apt-get"コマンドをどのように取得できますか?

Debianサーバーの起動後に実行されたすべての "apt-get"コマンドをどのように取得できますか?

VPSの基本に戻る必要がありますが、すべてクリーンにしたくありません。

apt-getDebian はコマンドをどこかに保存することを知っていますが、コマンドは別々のログファイルに分割されています。

apt-get私が実行したすべてのコマンドの完全なリストを取得するために、これらすべてを1つにまとめることは可能ですか(デフォルトでコマンドを元に戻すことができるように)。

私は次の出力を探しています:

$ blah

apt-get install libpack-4 libpack-5 libpack-6 libpack-dev
apt-get purge libpack-4
apt-get install blah-1 blah-2
apt-get purge somepack-1 
apt-get install libpack-4 libpack-5 libpack-6 libpack-dev
apt-get purge libpack-4
apt-get install blah-1 blah-2
apt-get purge somepack-1
apt-get install libpack-4 libpack-5 libpack-6 libpack-dev
apt-get purge libpack-4
apt-get install blah-1 blah-2
apt-get purge somepack-1
apt-get install libpack-4 libpack-5 libpack-6 libpack-dev
apt-get purge libpack-4
apt-get install blah-1 blah-2
apt-get purge somepack-1

答え1

行く/var/log/apt/

term.logここで現在のログイン情報とhistory.log既存の情報を確認できます.gz。過去数ヶ月間の文書。

すべてのhistory.logファイルをgunzipした後、次の行を実行します。

cat history.log.* | grep Commandline |awk -F":" '{print $2}'> all_apt-get-commands.txt

このファイルにはall_apt-get-commands.txtすべてのコマンドのリストがあります。

答え2

@jcbermuのソリューションに追加されました。

zgrepgzipを使用して直接圧縮可能そして圧縮されていないファイルで、コマンド全体(gunzipを含む)が1行に縮小されます。

zgrep CommandLine /var/log/apt/history.log* | cut -d\  -f 2-

history.log*使用されるのではなく、history.log.*電流history.logも含まれます。

ユニークなラインを得るためにパイプしますuniqapt-get呼び出しのみを含む行を取得するには、その行をにパイプしますgrep ^apt-get

答え3

他の記事で述べたように、/var/log/apt目的の効果を得るには、次のことを試してください。

>| out.log; for i in $(ls -1rt $(find /var/log/apt -name '*history*')); do if [[ $i =~ \.gz$ ]]; then zgrep "Commandline" $i | awk -F': ' '{ print $2; }' >>out.log; else grep "Commandline" $i | awk -F': ' '{ print $2; }' >>out.log; fi done;

out.logファイルには、日付でソートされたコマンドを含める必要があります。

答え4

ログインできます/var/log/apt/history.log*。ログは定期的に置き換えられるため、古いログが存在しなくなる可能性があります。このログが消えたら、このようなログはありません。しばらくVPSを使用している場合は、最初に何を期待するのかわからないかもしれません。

ディスク領域が不足していない限り、パッケージを削除することはあまり意味がありません。それが問題であれば、不要な大きなパッケージを探してください。次のコマンドは、サイズを大きくしてインストールされたパッケージを一覧表示します。

dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

このVPSの初期設定について知りたい場合は、ホスティングプロバイダのフォーラムにお問い合わせください。誰かが教えるかもしれません。

最小限のシステムを使用して学びたい場合は、多くのことを学ぶことはできませんが、すべてのパッケージを削除するのが良い出発点であることを覚えておいてください。優先順位必要または重要です。これが一番簡単です。資格:limit(l)不要/重要なパッケージを見る検索語 ~pstandard | ~poptional | ~pextra必ず必要な項目を除いてすべて削除してください。sudoなどのいくつかの主要パッケージを保管してくださいopenssh-server。それ以外の場合、VPSは使用できなくなります。この種の実験は仮想マシンで最もよく行われるため、これを修正したり、問題が発生した場合に再起動したりできます。

関連情報