web-dev-qa-db-ja.com

apt-get removeを元に戻すには?

私はそれが面白い状況であることを知っていますが、pythonを削除しました。Sudoapt-get remove pythonを使用して、Ubuntuからすべての関連プログラムを削除しましたか?削除したすべてのプログラムをインストールします。解決策はありますか?

ありがとう

20
IgorDiy

簡単な方法はありませんが、/ var/log/apt/history.logを見ると、削除されたものがわかります。削除された各パッケージを再インストールするだけです。

28
ablackhat

私はこの間違いを犯しました。以下のコマンドを実行して、パッケージの削除を取り消すことができます。これにより、削除されたパッケージの情報がログファイルから抽出され、再インストールされます。

echo '#!/bin/bash' > restore
echo Sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore 
./restore
21
tzafrir

buntuフォーラム からクールなトリックを見つけました。

ターミナルで以下を実行することが可能です:

awk '!/^Start|^Commandl|^End|^Upgrade:|^Error:/ { gsub( /\([^()]*\)/ ,"" );gsub(/ ,/," ");sub(/^Install:/,""); print}' /var/log/apt/history.log

出力を見て、次を使用します

Sudo apt-get install [packages]

[packages]を、返されたパッケージの最後の行に置き換えます(ラップされる場合があることに注意してください)。

7
railgun

アンインストールされたすべてのパッケージを検索します。 / var/log/apt/history.logに保存されます。削除された各パッケージをインストールするシェルプログラムを作成できます。テキストエディタで書きますGNU Emacs、vi、GNU Nano。端末から実行します。アンインストールされたすべてのプログラムは、自分自身。

2
user234756

アップグレードすると、ほとんどが復元され、残りはアップグレードされます。上記の手法を使用できます。アップグレードするには、単に「Sudo apt-get upgrade」と入力します

0
Thom

ブラックハットの答えに追加するには、/var/log/apt/history.logの最後の削除コマンドの後のすべてをコピーして、新しいプログラマーエディターに貼り付けます。 Regexは:.*?,を(空の文字列)に置き換え、結果のスペースで区切られたすべてのパッケージをコピーします。次に$ Sudo apt-get install <paste>を実行します

0
Trent Bing