Tôi chưa thử lệnh này trên Ubuntu (vì lý do rõ ràng) vì vậy tôi không chắc liệu Ubuntu có cho phép thực thi hay không.
Tôi đã làm. rm -rf / --no-preserve-root
đã chạy trong một phiên root được mở trực tiếp trên máy, trong khi tôi cũng được kết nối ssh
từ một máy khác, sử dụng tài khoản root.
Điều gì xảy ra là bạn bắt đầu nhận được rất nhiều tin nhắn như:
rm: không thể xóa '/ ...': Thao tác không được phép
hoặc là:
rm: không thể xóa '/ ...': Thiết bị hoặc tài nguyên bận
Đáng ngạc nhiên, ssh
kết nối vẫn mở cho đến khi kết thúc hoạt động. Chỉ khi tôi đóng kết nối và cố gắng mở lại thì mới xuất hiện lỗi:
Đọc từ ổ cắm không thành công: Thiết lập lại kết nối bằng ngang hàng
Trên máy, bốn thư mục vẫn còn:
/dev
. Đây là nơi lưu trữ các tập tin thiết bị.
/proc
Hệ thống tập tin bộ nhớ trong bộ nhớ được tạo bởi kernel.
/run
, một vị trí hệ thống tập tin tiêu chuẩn cho daemon.
/sys
. Điều này cho phép bạn có được thông tin về hệ thống và các thành phần của nó.
Điều này có nghĩa là không còn nhiều, và không có nhiều để làm ở đó. Bạn không thể ls
(mặc dù khi sử dụng Tab, tên của các thư mục và tệp vẫn được hiển thị). Bạn có thể cd
trong các thư mục khác nhau, và cả các echo
công cụ, nhưng các lệnh như cat
không còn khả dụng nữa.
Không có sudo
một trong hai.
shutdown -h now
và cũng reboot
biến mất, vì vậy tùy chọn duy nhất của bạn dường như tắt máy bằng tay. Đăng xuất ( exit
) không hoạt động, ngay cả khi nó hiển thị văn bản "đăng xuất" đẹp.
Khi bạn cố gắng khởi động lại máy, bạn sẽ gặp lỗi GRUB 15, và sau đó, không có gì xảy ra, tại thời điểm đó bạn có thể bắt đầu nghĩ rằng bạn rm
có thể đã làm điều gì đó không tốt cho hệ thống của mình.
Bạn cũng có thể làm được
Không, chờ đã, đừng làm điều đó trên máy của bạn!
Thay vào đó, những gì bạn có thể làm là chạy một máy ảo . Máy ảo có một lợi ích là làm cho thử nghiệm thực sự dễ dàng. Vì bạn đang sử dụng Ubuntu, bạn có thể quan tâm đến vmbuilder . Đây là một công cụ cho phép bạn triển khai các máy ảo trong vài phút (tài liệu chính thức tuyên bố rằng nó có thể được thực hiện "trong khoảng một phút", nhưng thời gian thực tế, ngay cả trên phần cứng nhanh, chỉ khoảng hai ba phút .
Khi việc triển khai kết thúc, bạn có một môi trường mà bạn có thể chơi. Nếu bạn kết thúc việc phá hủy nó, điều đó không thành vấn đề: bạn triển khai lại máy và hai phút sau bạn có thể tiếp tục.
Nếu bạn sử dụng phần mềm như VMWare, bạn cũng có thể quan tâm đến ảnh chụp nhanh (lưu ý rằng Trình phát VMWare miễn phí không có tính năng này; bạn phải mua VMware Workstation). Lưu ý rằng Hyper-V miễn phí và hỗ trợ ảnh chụp nhanh (nhưng bạn phải chạy Windows).
Lợi ích của ảnh chụp nhanh là bạn có thể mất một phần trong vài phần nghìn giây. Quay trở lại một ảnh chụp nhanh mất nhiều thời gian hơn, nhưng thường chỉ là vài giây. Điều này làm cho thử nghiệm thậm chí dễ dàng hơn và nhanh hơn.
Thử nghiệm này không giới hạn ở chính hệ điều hành. Bạn có thể làm tất cả mọi thứ liên quan đến phần mềm. Có một ứng dụng đáng ngờ? Hãy kiểm tra nó trong máy ảo VM nếu nó là virus, nó sẽ không gây hại gì. Bạn muốn kiểm tra một hoạt động trên cơ sở dữ liệu, cho rằng nó có thể ảnh hưởng đến môi trường? Kiểm tra nó trong một VM.
Điều gì nếu bạn đã làm điều đó trên một máy thực tế, không thử nghiệm?
Những điều tồi tệ xảy ra. Lưu ý rằng rm
bảo vệ bạn khỏi chính bạn: rm -rf /
sẽ không hoạt động: bạn cần sử dụng --no-preserve-root
. Tuy nhiên, điều gì sẽ xảy ra nếu bạn thực sự đạt được, do nhầm lẫn, để loại bỏ mọi thứ?
rm
chỉ hủy liên kết các tệp , nhưng dữ liệu vẫn còn đó, trên đĩa cứng của bạn. Điều này giúp bạn có thể khôi phục nó sau này (đó là lý do tại sao bạn không nên vứt bỏ đĩa cứng của mình với dữ liệu nhạy cảm khi chúng không còn hoạt động nữa).
Điều này có nghĩa là bạn chỉ cần có một PC dự phòng có vỏ ổ cứng để thực sự phục hồi gần như tất cả các tệp. Điều quan trọng là tránh ghi bất cứ thứ gì vào đĩa cứng để khôi phục: dữ liệu bạn viết sẽ ghi đè lên các tệp không được liên kết.
Theo ghi nhận của bài viết trong bình luận của 200_success , nếu bạn hành động thông minh, bạn có thể lấy lại máy ngay cả khi không có PC dự phòng. Nếu bạn chỉ quan tâm đến dữ liệu, tôi sẽ không bận tâm đến việc phục hồi dữ liệu bằng PC dự phòng dễ dàng hơn nhiều.
rm -rf /
không xóa bất cứ thứ gì mà không có--no-preserve-root
.