Sudo apt-get remove python
コマンドを使用して、必要な多数のパッケージを誤って削除しました。コマンドライン経由でログインし、ubuntu-desktopを再度インストールしましたが、他にも不足しているパッケージがあり、削除したパッケージを簡単に再インストールする方法を探しています。ソフトウェアセンターにログがあるので、変更をロールバックするか、削除されたパッケージリストをソフトウェアセンターから抽出するのが最も簡単な方法を尋ねたいと思いました...
注:削除されたプログラムのうち約20個についてSudo apt-get install .... .... ... ...
と入力しましたが、Enterキーを押しても一部のパッケージ名が見つからなかったためインストールしませんでした。
プログラムは同じ日に削除されました。
まず、python
を削除すると、多くの基本的なコマンドが機能しなくなる可能性があると言えます。だから私は、次のことがうまくいくかどうかわからない。
第二に、package names couldn't be found
エラーは、コマンドラインの名前のつづりが間違っているか、ローカルにインストールされていてリポジトリでは利用できないパッケージに由来すると考えられます。
次に、使用可能な最後のdpkg
ログと比較して、削除されたパッケージのログを取得するには(古いログを考慮する必要はないと思います):
awk '$3 == "remove" { print $1, $2, $4 }' /var/log/dpkg.log | tee list
次に、現在のディレクトリに作成されたlist
ファイルを編集し、行のタイムスタンプに基づいて、再インストールするパッケージに関連する行のみを残します。変更したファイルをlist-mod
に保存するとします。
そのパッケージを再インストールするには、次のコマンドを使用します。
Sudo apt-get --simulate install $(awk '{ print $3 }' list-mod)
--simulate
オプションを挿入して、コマンドの動作を確認しました。すべて問題なければ、そのオプションを削除してコマンドを再度実行します。
コマンドで一部のパッケージが見つからないと言われた場合は、単にそれらをlist-mod
から削除して再試行してください。
そのため、私は同様の間違いをします:Sudo apt-get purge python3.6*
の代わりにSudo apt-get purge python3.6.*
。
次の手順で、非常に高速に修正できました。
vim /var/log/history.log
を開きました。/python3.6\*
を使用して、悪いコマンドを検索しました。Purge: unity-control-center-signon:AMD64 (0.1.7~+14.04.20140211.2-0ubuntu4), ...
行があり、パージされたパッケージの長いリスト(削除の場合はRemove:
で始まります)があり、Purge:
部分なしで別のファイルにコピーしました。 。%s/:[^,]*,//g
を実行しました。これはバージョン部分を削除し、パッケージのリストunity-control-center-signon lxc ...
を残しました。Sudo apt-get install unity-control-center-signon lxc ...
、それが修正された方法です。