Sửa chữa sau khi chạy rm -rf / *


8

Tôi vô tình chạy rm -rf /*trên Ubuntu 10.10 của mình và nhanh chóng hủy lệnh. Tôi không root và không sử dụng sudonhưng rất nhiều tập tin của tôi đã bị xóa. Hệ thống đã trở nên ít phản hồi hơn và tôi không biết làm thế nào để khắc phục nó. Chẳng hạn, tôi đã cài đặt lại firefox và nó đã giải quyết được nhiều vấn đề về firefox nhưng nhấp chuột phải rất chậm. Deluge tiếp tục tăng mức sử dụng CPU (1 lõi) lên 100%. Shutter cũng hơi kỳ lạ về khả năng đáp ứng.

Có bất cứ điều gì tôi có thể làm để sửa chữa mọi thứ? Giống như cài đặt lại mọi gói cài đặt và tệp Ubuntu?


4
Tôi sẽ đề nghị tạo một bản sao lưu và cài đặt mới: S
nhét vào

3
Làm thế nào để bạn thậm chí vô tình chạy một lệnh như vậy?
Phường Muylaert

@shroff Đó là phương sách cuối cùng của tôi! Tôi đang cố gắng tránh nó vì điều đó có nghĩa là GB dữ liệu được tải xuống từ Dropbox một lần nữa và không đề cập đến thời gian cần thiết để thực hiện cài đặt mới
Ashfame

@Ward Tôi đang chỉnh sửa đường dẫn và vô tình làm cho nó chạy
Ashfame

1
@Alin Andrei rm -rf /*chạy tốt cho tôi vào ngày 10.10
Ashfame

Câu trả lời:


10

Tôi không root và không sử dụng sudonhưng rất nhiều tập tin của tôi đã bị xóa.

Bạn hầu như có thể đã xóa chỉ các thiết lập cá nhân của bạn. Tạo một người dùng mới và đăng nhập với tư cách là người dùng đó và kiểm tra xem tất cả có ổn không. Nó nên

Nếu đây là kịch bản, bạn có thể di chuyển các tệp của mình và các tệp không bị thiếu-config sang thư mục người dùng mới.


Tôi đồng ý. Lệnh có thể đã xóa các tệp trong thư mục / home của bạn, khi /*mở rộng ra /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
sắp xếp

Có tất cả các cài đặt và cấu hình đã biến mất. Tôi không hiểu tại sao điều đó lại gây rối với firefox và deluge được cài đặt lại. Toàn bộ hệ thống thiếu khả năng phản hồi nhanh, giống như trước sự cố này.
Ashfame

@ sắp xếp các tập tin của tôi sâu dưới một số thư mục trong nhà của tôi đã bị xóa quá n Tôi không nhớ nếu tôi có công tắc -r
Ashfame

6

Bạn có thể sử dụng tập lệnh này để cài đặt lại tất cả các gói của mình, điều đó hơi rắc rối vì tôi không thể tìm thấy cơ chế kiểm soát dpkg mà không hack trong python:

#!/bin/bash

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

Lưu nó vào tập tin reinstall.sh, sau đó thực hiện bằng cách chạy bash reinstall.shtừ dòng lệnh. Điều này sẽ mất một lúc, nhưng nó sẽ cài đặt lại mọi thứ.


Tôi có thể cài đặt lại mọi thứ nếu tôi đang cài đặt mới. Họ không quá nhiều. Tôi hiểu ý tưởng của bạn mặc dù.
Ashfame

2

Bạn có thể tạo một bản sao lưu của tất cả các gói đã cài đặt, sau đó cài đặt sạch và sau đó là quá trình khôi phục.

Đầu tiên, từ một máy tính có tất cả các ứng dụng được cài đặt sẵn, hãy truy xuất danh sách các gói đã cài đặt của bạn và chuyển hướng đầu ra sang một tệp có tên là tests.txt. Lưu danh sách gói này ở đâu đó để bạn có thể sử dụng nó cho quá trình khôi phục.

sudo dpkg --get-selections > packages.txt

Để khôi phục tất cả các ứng dụng từ danh sách của bạn, bạn phải thực hiện theo quy trình ba bước rất cẩn thận.

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

Bạn sẽ được nhắc cài đặt tất cả các ứng dụng mới trong danh sách. Một ví dụ khác về những gì quy trình này cho phép bạn làm là tạo đường cơ sở của tất cả các ứng dụng sau khi cài đặt sạch Ubuntu. Giả sử bạn muốn xóa bất kỳ ứng dụng nào được cài đặt kể từ khi cài đặt sạch, thực hiện cùng một quy trình và mọi gói không được xác định trong danh sách đó sẽ bị xóa.

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

Lệnh đầu tiên --clear-selectionsđánh dấu tất cả các gói hiện được cài đặt vào trạng thái deinstall. Khi bạn khôi phục danh sách các ứng dụng bằng cách sử dụng --set-selections, chỉ các gói bị bỏ qua khỏi danh sách sẽ vẫn ở deinstalltrạng thái. Aptitude sẽ tôn vinh trạng thái gỡ cài đặt và xóa các gói bổ sung, chỉ còn lại bạn với các gói trong danh sách.


1
Đó có lẽ là những gì tôi đang tìm kiếm. Nếu tôi hiểu chính xác, thì - đánh dấu các lựa chọn rõ ràng rằng các gói không cần thiết và cần được loại bỏ nhưng sau đó chúng tôi sắp xếp danh sách gói của chúng tôi, do đó, gần như cùng một cấu hình chúng tôi có khi xuất danh sách sẽ được đánh dấu để cài đặt. Một số gói đã có sẵn (được đánh dấu trước đó để xóa bây giờ lại được đánh dấu là cần thiết) và sau đó cài đặt sudo aptitude cuối cùng thực hiện những gì đang chờ xử lý, tức là những gói mới nào là cần thiết. Đúng?
Ashfame

0

Tôi đã sửa các vấn đề bằng cách cài đặt mới.

Như @ d4n13l đã đề xuất , hệ thống của tôi đã bị ảnh hưởng bởi khả năng phản hồi và không chỉ các tệp của tôi bị mất.

Tôi cảm thấy như cách tiếp cận của @ Martin là điều nên làm sau khi cài đặt mới để cài đặt các gói trước đó mà bạn có. Tôi có rất ít trong số họ, vì vậy tôi đã cài đặt lại chúng từ Trung tâm phần mềm Ubuntu.

Cảm ơn tất cả mọi người đã xem xét điều này. :)


bạn có thể đánh dấu câu trả lời của mình là câu trả lời được chấp nhận vì đó là những gì bạn đã làm; tuy nhiên nếu câu trả lời của Martin hữu ích cho bạn, hãy bỏ phiếu!
Jorge Castro

ok Tôi đã đánh dấu câu trả lời của mình là câu trả lời được chấp nhận vì cuối cùng tôi đã làm điều đó. Nhưng câu trả lời của Martin và hhlp sẽ hữu ích hơn cho người có nhu cầu.
Ashfame
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.