Làm cách nào để tự động buộc các đĩa fsck sau sự cố trong `systemd`?


18

Làm cách nào để cài đặt systemdtự động buộc fsckđĩa sau sự cố (poweroff cứng)?

Khi tôi sử dụng sysvinit(trong Arch Linux) như /sbin/inittôi đã sử dụng hack: trong tệp rc.localtôi tạo /forcefsck; trong rc.local.shutdowntôi loại bỏ nó. Khi khởi động, rc.sysinitkích hoạt fsck nếu /forcefscktồn tại.

Làm thế nào để làm tương tự trong systemd? Có lẽ nó đã tích hợp sẵn các thiết bị tự động fscksau khi nghiền?


Câu trả lời:


20

Bạn có thể buộc fscklúc khởi động bằng cách chuyển fsck.mode=force( autolà mặc định và skipcó thể được sử dụng để bỏ qua việc kiểm tra) như là một tham số dòng lệnh kernel (kể từ systemdcâu 213 , cũng có một tham số thứ hai: fsck.repair- để kiểm soát cách fsckxử lý các hệ thống tệp không sạch khi khởi động, các giá trị có thể là: preenđể sửa những gì có thể được sửa một cách an toàn, yesđể trả lời có cho tất cả các câu hỏi và nođược mặc định).


Lưu ý rằng systemd-fsck không biết bất kỳ chi tiết nào về các hệ thống tệp cụ thể và chỉ thực hiện các trình kiểm tra hệ thống tệp cụ thể cho từng loại hệ thống tệp ( /sbin/fsck.*) .
Bây giờ, nếu hệ thống tập tin của bạn là xfshoặc btrfsnó sẽ thực thi /sbin/fsck.xfshoặc /sbin/fsck.btrfstương ứng. Nếu điều đó dường như không hoạt động, có lẽ bạn nên kiểm tra trang hướng dẫn fsck.xfshoặc fsck.btrfstương ứng và kiểm tra nội dung của các tệp đã nói trong /sbin.


1
Ví dụ với Grub: chỉnh sửa /etc/default/grub, sau đó nối fsck.mode=forcevào giá trị của GRUB_CMDLINE_LINUX_DEFAULT. Sau đó chạy update-grubreboot.
Yvan

2
không hoạt động cho xfs btw. nhưng này đây là tương lai
Florian Heigl
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.