Vô tình xóa thư mục của Cameron / usr / share


16

Hệ thống không khởi động. Đã làm điều đó bằng cách sử dụng rm - Rvô tình. Làm thế nào tôi có thể phục hồi hệ thống?


bạn có chắc chắn đã xóa /usr/sharethư mục .. hãy dùng thử .. đăng nhập với phiên trực tiếp .. sao chép và dán /usr/sharethư mục từ phiên trực tiếp vào phân vùng gốc của bạn/usr/share
PRATAP

1
Những gì @PRATAP đề xuất có thể giúp bạn có thể đăng nhập lại, nhưng nhiều chương trình người dùng lưu trữ dữ liệu ứng dụng ở đó, do đó, sẽ khắc phục tốt nhất các chương trình được sử dụng bởi hệ thống 'live' (cài đặt phương tiện) của bạn. Sau đó, bạn sẽ phải đến install --reinstallcác chương trình khác; hoặc bạn chỉ có thể cài đặt lại bằng 'cái gì đó khác', không có định dạng & nó sẽ lưu ý các ứng dụng đã cài đặt của bạn, xóa các thư mục hệ thống sau đó cài đặt, sau đó cài đặt lại các chương trình bổ sung của bạn (nếu trong Ubuntu repos); nhưng dù sao thì tùy chọn này có thể là một dự phòng vì có lẽ bạn sẽ học được nhiều hơn khi cố gắng tự sửa nó trước. Luôn luôn khôi phục lại bản sao lưu của bạn.
guiverc

-> chỉ với rm -R in / usr / share KHÔNG ĐƯỢC xóa. Nội dung được sở hữu bởi root để người dùng bình thường không thể xóa nó
Rinzwind

@Rinzwind Và nếu vậy, tại sao hệ thống không tải? Làm thế nào tôi có thể lấy root để sửa nó?
Mouvre

bạn đã làm sudo rm -Rgì Câu trả lời n0rbert đăng có vẻ tốt cho tôi. Đó là con đường để đi
Rinzwind

Câu trả lời:


48

Bạn cần cài đặt lại tất cả các ứng dụng có tập tin /usr/share.

  1. Hệ thống khởi động từ Chế độ khôi phục với dấu nhắc gốc .

  2. Nhắc lại rootfs để chế độ đọc-ghi với mount -o rw,remount /.

  3. Nâng giao diện ethernet và nhận địa chỉ IP từ máy chủ DHCP: dhclient enp0s3(kiểm tra tên giao diện chính xác trong ip ahoặc ifconfig -a).

  4. Chỉ định máy chủ DNS theo

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (thay đổi 192.168.1.1cổng / bộ định tuyến của bạn)

  5. Bạn cần sửa dpkggói vì nó bỏ lỡ /usr/share/dpkg/cputabletệp (nếu không bạn sẽ phải đối mặt với "E: error reading the cpu table"bất kỳ lệnh apt / apt-get nào)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    hoặc cài đặt nó từ bộ đệm:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. cập nhật bộ đệm gói:

    apt-get update
    
  7. cài đặt lại các thành phần thiết yếu

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. và sau đó sử dụng một lớp lót bên dưới:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Ở trên:

    • dpkg -S /usr/share/ hiển thị danh sách các gói được phân tách bằng dấu phẩy
    • sed 's/,//g' - xóa dấu phẩy
    • sed 's/: \/usr\/share//g'- loại bỏ : /usr/sharecuối cùng

    Phần này có thể thất bại với các tin nhắn về một số gói. Ví dụ trên VM của tôi, tôi gặp vấn đề bsdmainutils, vì vậy tôi đã cài đặt lại chúng với:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    và sau đó chạy lại một lớp lót ở trên.

  9. sửa chữa các gói bị hỏng

    dpkg --configure -a
    apt-get install -f
    
  10. cuối cùng sửa chữa /etc/resolv.confliên kết bởi

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. khởi động lại.

Lưu ý: hệ thống cố định kết quả không hiển thị bất kỳ vấn đề trong khi chạy sudo apt-get checkhoặc sudo debsums --all --changed.


Lệnh này sẽ được sử dụng từ phiên trực tiếp?
PRATAP

@PRATAP từ chế độ phục hồi là đủ.
N0rbert

OK, đó là tốt .. nhưng ngay cả sau khi xóa /usr/sharesẽ grub hoạt động bình thường và hiển thị menu grub? tôi nghĩ rằng tôi phải xóa nó và xem trong máy tính thực tế của mình..cảm ơn câu trả lời..Cảm ơn bạn ..
PRATAP

1
Tôi vừa thử nghiệm điều này trên VM. Nó gần như là giải pháp làm việc.
N0rbert

1
@ N0rbert Cảm ơn bạn đã giúp đỡ, nó thực sự hoạt động!
Mouvre

2

Câu trả lời ngắn: bạn không thể và bạn phải cài đặt lại ứng dụng, như được đề xuất bởi câu trả lời trước.

Tuy nhiên, trước đó, tôi sẽ gắn ổ đĩa vào một máy tính khác và kiểm tra các tiện ích chưa được phục hồi có sẵn cho ext3 / ext4. Một tìm kiếm nhanh trong Google chỉ ra những thứ này:

extundelete: http://extundelete.sourceforge.net/

easyus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Cách hướng dẫn: http://translatedby.com/you/howto-recover-delatted-files-on-an-ext3-file-system/origen/

Vân vân.


Tôi đề nghị testdeletebởi vì tôi đã trải nghiệm một lần: p
αsнιη
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.