tidak sengaja dihapus / var / lib / apt /

10

Saya tidak sengaja menghapus konten / var / lib / apt dengan perintah di bawah ini:

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

Apa yang harus saya lakukan sekarang? dapatkah saya mengembalikannya? Apakah itu perlu?

Hossein Hosseinvand
sumber
alasan di balik kecelakaan ini adalah bahwa saya mencoba untuk menghapus / var / lib / apt / daftar / * karena ukurannya yang besar untuk membuat ruang kosong pada disk saya.
Hossein Hosseinvand

Jawaban:

24

Folder ini berisi beberapa hal menarik, khususnya ada /var/lib/apt/keyrings/direktori untuk setiap repositori yang telah Anda tambahkan ke sistem melalui apt-add-repository(dan kemudian ada juga /etc/apt/trusted.gpgdan /etc/apt/trusted.gpg.d/) dan cdroms.list yang harus merujuk media instalasi sebagai sumber paket. Dihapus /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgdapat diinstal ulang dengan sudo apt-get install --reinstall ubuntu-keyring.

Ada juga /var/lib/apt/lists, yang berisi file kunci ketika aptmenjalankan pembaruan atau peningkatan, dan daftar paket dalam repositori jarak jauh. Barang-barang dalam direktori itu kadang-kadang dihapus atau dihapus seperti dalam posting ini misalnya. Seharusnya regenerasi setelah Anda menjalankan apt-get update.

Singkatnya, saya tidak akan terlalu khawatir tentang ini. Jalankan saja sudo apt-get updatedan itu akan kembali, namun jika Anda telah menambahkan repositori melalui apt-add-repositoryyang mungkin memerlukan kunci GPG, maka Anda mungkin ingin menambahkan kunci itu lagi atau menghapus sementara repositori dari /etc/apt/sources.list.d.

Meskipun ini bukan masalah besar dalam kasus ini, seperti yang disebutkan Lightness di komentar , inti dari masalah ini adalah penggunaanrm -rf. Seorang pengguna harus menyadari tanggung jawab penuh ketika mereka menggunakan perintah yang dapat merusak sistem mereka. Ada banyak contoh di AskUbuntu dan situs StackExchange lainnya di mana pengguna menghapus atau mengubah kepemilikan komponen sistem inti. Dari sudut pandang pengguna baru dapat dipahami bahwa pengguna baru tidak terbiasa dengan seberapa banyak kerusakan yang dapat dilakukan, meskipun itu tidak membebaskan pengguna baru dari tanggung jawab. Tidak ada gunanya mengutuk perintah atau pengguna, tetapi cara yang benar harus mengembangkan kebiasaan memverifikasi langkah Anda sendiri di baris perintah atau di tempat lain. Ini tidak hanya berlaku untuk Ubuntu tetapi komputasi secara umum, dan dilengkapi dengan pengalaman dan seringkali melalui kesalahan yang sebenarnya terjadi dan menghancurkan sistem Anda hanya untuk memperbaikinya dan merusaknya lagi.

Sergiy Kolodyazhnyy
sumber
9
Anda juga akan ingin mengulas bagaimana kesalahan itu terjadi, karena penulisan sudodiikuti dengan rm -rfdiikuti oleh nama direktori yang tidak disengaja diikuti oleh *seharusnya bukan sesuatu yang otak Anda memungkinkan untuk terjadi. Tindakan korektif / perubahan perilaku mungkin diperlukan untuk menghindari masalah yang jauh lebih buruk di masa depan.
Lightness Races in Orbit
1
@LightnessRacesinOrbit Saya pikir komentar ini harus ditempatkan di bawah pertanyaan OP, tapi saya setuju - pengguna harus tahu apa yang mereka ketik dan hindari melakukannya rm -rftanpa memeriksa dan memastikan bahwa mereka menghapus hal yang benar terlebih dahulu.
Sergiy Kolodyazhnyy
1
Yah saya pikir itu harus ditambahkan ke jawabannya adalah mengapa saya taruh di sini :) Komentar di bawah pertanyaan harus untuk menyarankan klarifikasi untuk pertanyaan
Lightness Races in Orbit
1
@KasperThystrupKarstensen Setuju. Seringkali Anda juga bisa melihat echosedang diawali dengan perintah yang ingin Anda jalankan dengan wildcard atau perintah destruktif lainnya. Misalnya, echo rm /tmp/*jenis hal
Sergiy Kolodyazhnyy
1
Itu tepat, terima kasih. Tentu saja ini tidak seperti saya tidak pernah membuat kesalahan seperti itu, tetapi saya segera meninjau kesalahan dan menyesuaikan praktik saya, sehingga saya tidak pernah membuatnya lagi :) Ini adalah pengalaman formatif selama Anda belajar darinya.
Lightness Races in Orbit