/ var / lib / apt /を誤って削除した


10

以下のコマンドで/ var / lib / aptのコンテンツを誤って削除しました:

sudo rm -rf /var/lib/apt/*

私は今どうすればいい?復元できますか?それは必要ですか?


この事故の背後にある理由は、/ var / lib / apt / lists / *を削除しようとしていたためです。これは、ディスク上に空のスペースを作成するためにサイズが大きいためです。
Hossein Hosseinvand 2018

回答:


24

フォルダーにはいくつかの興味深いものが含まれています。特に/var/lib/apt/keyrings/、システム経由でシステムに追加したリポジトリーのディレクトリーがありapt-add-repository(さらに、/etc/apt/trusted.gpgおよびもあり/etc/apt/trusted.gpg.d/)、cdroms.list パッケージのソースとしてインストールメディアを参照する必要があります。削除/var/lib/apt/keyrings/ubuntu-archive-keyring.gpgすると、で再インストールできますsudo apt-get install --reinstall ubuntu-keyring

あります/var/lib/apt/listsロックするときのためのファイルが含まれ、apt更新またはアップグレードを実行して、リモートリポジトリにあるパッケージのリストを。たとえばこの投稿のように、そのディレクトリ内のアイテムが消去または削除されることがあります。実行すると再生成されますapt-get update

要するに、私はこれほど心配する必要はありません。実行するだけsudo apt-get updateで元に戻りますがapt-add-repository、GPGキーを必要とする可能性があるリポジトリを追加した場合は、そのキーを再度追加するか、そのリポジトリをから一時的に削除することができます/etc/apt/sources.list.d

この場合は大きな問題ではありませんが、ライトネスコメントで述べたように、問題の核心は誤って使用することですrm -rf。システムに損傷を与える可能性のあるコマンドを使用する場合、ユーザーは完全な責任を理解する必要があります。AskUbuntuや他のStackExchangeサイトには、ユーザーがコアシステムコンポーネントの所有権を削除または変更する例が数多くあります。新規ユーザーの観点から見ると、新規ユーザーがどの程度の損害を与えることができるかについて知らないことは理解できますが、それは新規ユーザーの責任を解放するものではありません。コマンドまたはユーザーを非難する意味はありませんが、正しい方法は、コマンドラインまたは他の場所で独自の手順を確認する習慣を身につけることです。これは、Ubuntuだけでなくコンピューティング全般に当てはまります。経験に基づいて行われ、実際にミスを犯したり、システムを破壊したりして、修理して再度破壊するだけです。


9
また、最初にエラーがどのように発生したかを確認することもできます。書き込みのsudo後にrm -rf意図しないディレクトリ名が続き、その後にが続くこと*は、頭の中で起こることではないはずです。将来のより深刻な問題を回避するために、行動の是正措置/変更が必要になる場合があります。
オービットのライトネスレース

1
@LightnessRacesinOrbitこのコメントはOPの質問の下に配置する必要があると思いますが、私は同意します-ユーザーは入力内容を知っている必要があり、rm -rf最初に正しいものを削除することを確認および確認せずに実行しないでください。
Sergiy Kolodyazhnyy 2018

1
さて私は、私はここにそれを置く理由です:)質問の下のコメントの質問に明確化を示唆するためにする必要があり、それが答えに追加されるべきだと思う
軌道上での明度レース

1
@KasperThystrupKarstensen同意します。多くの場合echo、ワイルドカードやその他の破壊的なコマンドを使用して実行する予定のコマンドの前に最初に付加されることもわかります。たとえばecho rm /tmp/*、モノのタイプ
セルギーコロディアズニー

1
ありがとうございます。もちろん、私がそのような間違いをしたことは一度もないわけではありませんが、すぐにエラーを確認し、自分のやり方を調整して、二度と失敗しないようにしました:)あなたがそれを学ぶ限り、それは形成的な経験です。
オービットのライトネスレース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.