Bạn dùng systemd và có v256, cập nhật ngay nhé, vì nó bị lỗi xóa thư mục home

đã xóa systemd 256/home

Vài ngày trước, chúng tôi đã chia sẻ trên blog này tin tức về việc phát hành phiên bản systemd 256 , một phiên bản mang đến rất nhiều thay đổi và tính năng mới, trong đó có tiện ích run0, có thể nói là điểm thu hút chính của phiên bản này.

Lý do đề cập đến systemd 256 là vì phiên bản sửa lỗi, systemd 256.1, đã được công bố . Phiên bản này được phát hành để giải quyết một vấn đề nghiêm trọng phát sinh trong phiên bản 256.

Vấn đề này ảnh hưởng đến việc xóa không đúng cách nội dung của phân vùng /home khi chạy lệnh systemd-tmpfiles --purge . Ban đầu, tùy chọn này được thiết kế để xóa các tệp và thư mục được tạo thông qua cấu hình trong tmpfiles.d, nhưng hành vi này không phù hợp với tài liệu và kỳ vọng của người dùng.

Vấn đề cụ thể là tên "tmpfiles" trong tiện ích gây hiểu nhầm, vì tùy chọn `--purge` không chỉ xóa các tệp tạm thời mà còn ảnh hưởng đến các thư mục và tệp được tạo tự động thông qua cấu hình trong `tmpfiles.d`. Điều này bao gồm việc tạo tự động các thư mục dữ liệu, chẳng hạn như thư mục chính trong `/home`.

Ví dụ, tệp /usr/lib/tmpfiles.d/home.conf chịu trách nhiệm tạo cấu trúc thư mục trong /home, và việc sử dụng không đúng cách lệnh systemd-tmpfiles --purge đã xóa các thư mục này và nội dung của chúng, thay vì chỉ dọn dẹp các tệp tạm thời như mong đợi.

Đó là lý do tại sao phiên bản sửa lỗi của systemd 256.1 được phát hành nhằm giải quyết những mâu thuẫn và sự cố do người dùng báo cáo, đồng thời điều chỉnh chức năng –purge phù hợp với mục đích ban đầu, đảm bảo rằng nó chỉ xóa các tệp tạm thời và không ảnh hưởng đến cấu trúc thư mục được tạo thông qua cấu hình trong tmpfiles.d.

Điều đáng nói là sự cố với systemd-tmpfiles và xóa nhầm các thư mục trong phân vùng /home Đó là một tình huống đáng tiếc đã tạo ra cuộc tranh luận và các sửa chữa đáng kể trong quá trình triển khai systemd.

Nhiều thông báo cảnh báo bắt đầu xuất hiện, bao gồm cả các tuyến đường trong /home(không thể khôi phục thời gian sửa đổi...?). Công cụ dọn dẹp tạm thời làm gì trong thư mục chính của tôi? Điều đó không tốt. Tim tôi bắt đầu đập nhanh hơn và tôi nhấn Ctrl-C nhanh nhất có thể.

Hóa ra một phần lớn thư mục cá nhân của tôi đã bị xóa. May mắn thay, có vẻ như nó bắt đầu từ các tệp cấu hình chứ không phải dữ liệu thực tế, mặc dù tôi vẫn không chắc liệu mình có bỏ sót điều gì quan trọng hay không. Mình đã tắt máy để khôi phục dữ liệu sau extundelete(nhân tiện, nó không hoạt động, vì lý do nào đó nó bị treo ngay lập tức; tôi có các bản sao lưu, nhưng chúng hơi lỗi thời, tôi đang lấp đầy ổ đĩa quá nhanh).

Phản hồi ban đầu từ nhà phát triển systemd của Microsoft, Luca Boccassi, phản ánh sự thất vọng và hoang mang của người dùng bị ảnh hưởng bởi việc xóa nhầm này. Việc triển khai một tính năng mà theo tài liệu hướng dẫn là sẽ xóa tất cả các tệp và thư mục một cách bừa bãi, nhưng trên thực tế lại ảnh hưởng đến các cấu trúc hệ thống thiết yếu, đã bị đặt dấu hỏi.

Sau khi thảo luận và đánh giá rộng rãi, nó đã được công nhận rằng hành vi của systemd-tmpfiles --purge là không chính xác và hành động khắc phục đã được thực hiện.

Ban đầu nó được coi là loại bỏ hoàn toàn tùy chọn --purge, nhưng chúng tôi đã chọn hạn chế phạm vi của nó để nó chỉ ảnh hưởng đến các tệp và thư mục được liên kết trực tiếp với một cấu hình cụ thể trong tmpfiles.d/. Việc sửa đổi này đảm bảo rằng lệnh chỉ xóa những gì nó dự định xóa, do đó tránh được các tác dụng phụ không mong muốn đối với các khu vực khác của hệ thống tệp.

Điều tôi gặp vấn đề là tài liệu. Nó giải thích những gì các tùy chọn làm, về mặt kỹ thuật (à, tôi đoán vậy, tôi không biết nhiều về kiến ​​trúc ở đây), nhưng nó không giải thích lý do tại sao chúng làm những gì chúng làm. Khi ai đó chỉ duyệt qua tài liệu, cả ba tùy chọn dường như đều thực hiện cùng một điều: dọn sạch các tệp tạm thời, mặc dù --purgeCó vẻ "hoàn thiện hơn" vì nó đề cập đến việc xóa tất cả các tệp (bao gồm cả dữ liệu người dùng).

Bên cạnh đó, đã cập nhật hướng dẫn sử dụng systemd-tmpfiles để cung cấp mô tả chính xác hơn về tùy chọn --purge và cảnh báo rõ ràng về những hậu quả có thể xảy ra nếu sử dụng không đúng cách.

Cuối cùng, chúng tôi khuyên bạn nên thực hiện các bản cập nhật cần thiết để tránh gặp phải tình huống tương tự. Nếu bạn muốn tìm hiểu thêm , bạn có thể xem chi tiết tại liên kết sau.


Thêm vào danh sách nguồn ưu tiên trên Google.