Perbaikan setelah menjalankan rm -rf / *

8

Saya tidak sengaja menjalankan rm -rf /*Ubuntu 10.10 saya dan membatalkan perintah dengan cepat. Saya bukan root dan tidak menggunakan sudotetapi banyak file saya dihapus. Sistem menjadi kurang responsif dan saya tidak yakin bagaimana cara memperbaikinya. Sebagai contoh, saya menginstal ulang firefox dan menyelesaikan banyak masalah firefox tetapi klik kanan sangat lamban. Deluge terus meningkatkan penggunaan CPU (1 core) hingga 100%. Shutter juga agak aneh dalam hal responsif.

Apakah ada yang bisa saya lakukan untuk memperbaiki semuanya? Suka menginstal ulang setiap paket yang diinstal dan file Ubuntu?

Asfame
sumber
4
Saya menyarankan untuk membuat cadangan dan instalasi baru: S
shroff
3
Bagaimana Anda secara tidak sengaja menjalankan perintah seperti itu?
Ward Muylaert
@shroff Itulah pilihan terakhir saya! Saya mencoba menghindarinya karena itu berarti GB data diunduh dari Dropbox lagi dan belum lagi waktu yang diperlukan untuk melakukan pemasangan baru
Ashfame
@Ward, saya mengedit jalan dan secara tidak sengaja membuatnya berjalan
Ashfame
1
@Alin Andrei rm -rf /*berlari dengan baik untuk saya pada 10,10
Ashfame

Jawaban:

10

Saya bukan root dan tidak menggunakan sudotetapi banyak file saya dihapus.

Anda kemungkinan besar hanya menghapus pengaturan pribadi Anda. Buat pengguna baru dan masuk sebagai pengguna itu, dan periksa apakah semuanya OK. Harus.

Jika ini skenarionya, Anda dapat memindahkan file dan file tidak-hilang-konfigurasi ke folder pengguna baru.

d4n13l
sumber
Saya setuju. Perintah ini mungkin menghapus file di direktori / home Anda, seperti yang /*diperluas /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
mengatur
Ya, semua pengaturan dan konfigurasi telah hilang. Saya tidak mengerti mengapa hal itu mengacaukan firefox dan banjir yang diinstal ulang. Seluruh sistem tidak memiliki respons yang cepat, seperti sebelum insiden ini.
Ashfame
@ mengatur file saya jauh di bawah beberapa direktori di rumah saya dihapus juga n Saya tidak ingat jika saya memiliki -r switch
Ashfame
6

Anda dapat menggunakan skrip ini untuk menginstal ulang semua paket Anda, ini sedikit meretas karena saya tidak dapat menemukan mekanisme kontrol dpkg tanpa meretas dengan python:

#!/bin/bash

for PACKAGE in `dpkg --get-selections | grep install | awk '{ print $1; }'`; do
  sudo apt-get --reinstall install $PACKAGE
done

Simpan itu ke file reinstall.sh, lalu jalankan dengan menjalankan bash reinstall.shdari baris perintah. Ini akan memakan waktu cukup lama, tetapi akan menginstal ulang semuanya.

Martin Owens -doctormo-
sumber
Saya dapat menginstal sesuatu lagi jika saya melakukan instalasi baru. Mereka tidak terlalu banyak. Saya mengerti ide Anda.
Ashfame
2

Anda dapat membuat cadangan dari semua paket yang diinstal, kemudian instalasi yang bersih dan kemudian proses pemulihan.

Pertama, dari komputer dengan semua aplikasi yang sudah diinstal, ambil daftar paket yang Anda instal dan arahkan output ke file yang disebut paket.txt. Simpan daftar paket ini di suatu tempat sehingga Anda dapat menggunakannya untuk proses pemulihan.

sudo dpkg --get-selections > packages.txt

Untuk mengembalikan semua aplikasi dari daftar Anda, Anda harus mengikuti proses tiga langkah dengan sangat hati-hati.

sudo dpkg --clear-selections 
sudo dpkg --set-selections < packages.txt 
sudo aptitude install

Anda akan diminta untuk menginstal semua aplikasi baru dalam daftar. Contoh lain dari apa yang proses ini memungkinkan Anda lakukan adalah membuat garis dasar dari semua aplikasi setelah instalasi Ubuntu yang bersih. Katakanlah Anda ingin menghapus aplikasi yang diinstal sejak instalasi bersih, melakukan proses yang sama persis, dan paket apa pun yang tidak ditentukan dalam daftar itu akan dihapus.

sudo dpkg --get-selections > clean-install-package-list.txt
sudo dpkg --clear-selections
sudo dpkg --set-selections < clean-install-package-list.txt 
sudo aptitude install

Perintah pertama --clear-selectionsmenandai semua paket yang diinstal saat ini ke status deinstall. Ketika Anda mengembalikan daftar aplikasi menggunakan --set-selections, hanya paket yang dihilangkan dari daftar akan tetap dalam deinstallstatus. Aptitude akan menghormati status penghapusan instalasi dan menghapus paket tambahan, sehingga Anda hanya memiliki paket dari daftar.

hhlp
sumber
1
Mungkin itu yang saya cari. Jika saya memahaminya dengan benar, maka --clear-selection menandai bahwa paket tidak diperlukan dan harus dihapus tetapi kemudian kita imort daftar paket kita, jadi konfigurasi yang hampir sama kita miliki ketika kita mengekspor daftar adalah ditandai untuk diinstal. Beberapa paket sudah ada di sana (yang ditandai sebelumnya untuk dihapus sekarang ditandai lagi karena perlu memilikinya) dan kemudian sudo aptitude install akhirnya melakukan apa yang tertunda yaitu paket apa yang diperlukan. Baik?
Ashfame
0

Saya memperbaiki masalah dengan melakukan instalasi baru.

Seperti yang disarankan @ d4n13l , sistem saya telah menerima tanggapan dan lebih dari sekadar file saya hilang.

Saya merasa pendekatan @ Martin adalah sesuatu yang harus dilakukan setelah melakukan instalasi baru untuk menginstal paket sebelumnya yang Anda miliki. Saya punya sangat sedikit, jadi saya menginstalnya lagi dari Pusat Perangkat Lunak Ubuntu.

Terima kasih untuk semua yang telah melihat ini. :)

Asfame
sumber
Anda dapat menandai jawaban Anda sebagai jawaban yang diterima karena itulah yang akhirnya Anda lakukan; namun jika jawaban Martin bermanfaat bagi Anda, pilih itu!
Jorge Castro
ok saya telah menandai jawaban saya sebagai jawaban yang diterima karena saya akhirnya melakukan itu. Tetapi jawaban Martin dan hhlp akan lebih bermanfaat bagi seseorang yang membutuhkan.
Ashfame