LoginSignup
4
4

More than 5 years have passed since last update.

誤って大量のpackageを削除してしまった時の復旧方法

Posted at

packageを誤って削除してしまい、Window Managerがほとんど動かない状態になって焦ったのでrollback方法をメモ。(autoremoveで確認せずに実行してしまったことを後悔)

まず、apt-getのログを確認する。

>cat /var/log/apt/history.log

Start-Date: 2016-07-05  22:03:54
Commandline: aptdaemon role='role-commit-packages' sender=':1.105'
<snip>
Start-Date: 2016-07-25  22:06:36
Commandline: aptdaemon role='role-commit-packages' sender=':1.101'
Upgrade: jenkins:i386 (2.14, 2.15)
End-Date: 2016-07-25  22:06:54

上記は正常なubuntu環境なので、ログの場所だけが重要です。

実施することとしては、上記のログから削除してしまったpackageを抽出して、installするだけです。
ここでは、ログの日付と時間から、削除されたpackageのリストを作成してintallします。

> grep -A 2 'Start-Date: XXXX-XX-XX  XX:XX:XX' /var/log/apt/history.log | tail -1 >/tmp/packages.txt
> tr ',' '\n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt
> p="$(</tmp/final.packages.txt)"
> apt-get --purge install $p

上記コマンドでinstall対象packageのリスト作成して、apt-get installしている。

少なくとも自分の環境は、上の手順で復旧出来ました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4