마운트된 파일 시스템을 복구하려면 재부팅 시 강제로 파일 시스템 검사를 수행해야 합니다. 내가 찾은 모든 명령/방법은 FreeBSD10에서 더 이상 사용되지 않습니다.
[\u@vader:/root] # tune2fs -c 1 /dev/vtbd0p2
tune2fs: not found
[\u@vader:/root] # pkg install tune2fs
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
pkg: No packages available to install matching 'tune2fs' have been found in the repositories
파일 시스템 검사를 강제로 수행하고 다음 재부팅 시 오류를 한 번에 수정하려면 어떻게 해야 합니까?
답변1
이를 처리하는 가장 좋은 방법은 시스템을 단일 사용자 모드로 재부팅하고 수동으로 수행하는 것입니다 fsck
. 어떤 이유에서든 이 방법이 효과가 없을 경우 이를 처리하는 차선책은 rc.conf
손잡이 몇 개를 돌리는 것입니다. 구체적으로 다음과 같습니다.
background_fsck="NO"
fsck_y_enable="YES"
fsck_y_flags="-f"
재부팅하면 rc
하위 시스템이 이를 처리합니다. 이는rc.early
더 이상 사용되지 않음FreeBSD는 2007년부터 사용되었습니다.
답변2
나를 위한,
background_fsck="NO"
fsck_y_enable="YES"
fsck_y_flags="-f"
이 방법도 작동하지 않습니다(다른 10.x 버전). 그래서 저는 이 "더러운" 해킹을 사용합니다 /etc/rc.d/root
.
--- /tmp/root.orig 2018-06-09 00:56:23.089825000 +0200
+++ /etc/rc.d/root 2018-06-09 00:56:03.831574000 +0200
@@ -22,6 +22,9 @@
[Nn][Oo] | '')
;;
*)
+ # Uncomment the below line to run FORCED fsck on ALL mounts in /etc/fstab during boot:
+ /sbin/fsck -fy || /sbin/fsck -fy
+
if ! mount -uw /; then
echo 'Mounting root filesystem rw failed, startup aborted'
stop_boot true
이렇게 하면 확실히 작동합니다. 경고하다:이 명령을 실행한 후 /sbin/fsck... 행을 다시 주석 처리합니다. 시간이 걸리고 fsck를 수행해야 하는 작업이 아닌 경우 위험할 수 있습니다.
답변3
답변4
FreeBSD에는 강제 제거 기능이 있으므로 실제로 부팅 시 이 작업을 수행할 필요가 없습니다. (원격으로) 로그인하고, rootfs를 읽기 전용으로 다시 마운트하고( mount -fur /
), fsck를 수동으로( fsck -y /
), 컴퓨터를 다시 시작하면 됩니다.