labunix's blog

labunixのラボUnix

前回のfsck実行日時とチェック間隔を一覧してみる。

■前回のfsck実行日時とチェック間隔を一覧してみる。
 「/etc/fstab」から「swap」以外の「/dev/sd[a-z][0-9]*」を取得して、
 「sudo tune2fs -l」に渡して実行する。

$ awk '!/swap/{for(a=1;a<=NF;a++)\
          {if($a ~ /\/dev\/sd[a-z][0-9]/&&$a !~ /#/) \
          {print "sudo tune2fs -l",$a" | awk -F\042: \042 \047BEGIN{begin=\042"$a,$(a-3)"\042;printf \042%-20s\042,begin} \
          {if(/Last checked|Check interval/){printf \042%20s,\042,$NF}}END{printf \042\134n\042}\047" | "sort -uV"}}}' /etc/fstab  | sh
/dev/sda1 /boot                 Mon Jul  8 19:27:47 2013,          0 (<none>),
/dev/sda3 /                     Wed Nov 15 19:53:30 2017,          0 (<none>),
/dev/sda4 /var                  Mon Jul  8 19:27:50 2013,          0 (<none>),
/dev/sda5 /home                 Mon Nov 12 06:03:14 2018,          0 (<none>),

■ログと違うのはアップデートによるものかも知れない。

$ sudo awk '{print FILENAME,$0}' /var/log/fsck/check*
/var/log/fsck/checkfs Log of fsck -C -R -A -a 
/var/log/fsck/checkfs Sun May 31 15:06:41 2015
/var/log/fsck/checkfs 
/var/log/fsck/checkfs fsck from util-linux 2.20.1
/var/log/fsck/checkfs boot: clean, 243/73152 files, 40112/291840 blocks
/var/log/fsck/checkfs home: clean, 10356/12214272 files, 44974250/48829696 blocks
/var/log/fsck/checkfs var: clean, 56777/12689408 files, 4592142/50732544 blocks
/var/log/fsck/checkfs 
/var/log/fsck/checkfs Sun May 31 15:06:42 2015
/var/log/fsck/checkfs ----------------
/var/log/fsck/checkroot Log of fsck -C -a -t ext4 /dev/sda3 
/var/log/fsck/checkroot Sun May 31 15:06:40 2015
/var/log/fsck/checkroot 
/var/log/fsck/checkroot fsck from util-linux 2.20.1
/var/log/fsck/checkroot root: clean, 282314/3662848 files, 3988025/14648320 blocks
/var/log/fsck/checkroot 
/var/log/fsck/checkroot Sun May 31 15:06:41 2015
/var/log/fsck/checkroot ----------------

■上記のログは2013年から2014年の頃のutil-linux 2.20.1によるfsck結果だろうと予測。

$ dpkg -l util-linux | awk '/^ii/{print $2,$3}'
util-linux 2.33.1-0.1

$ zgrep "201[3-9]\|^util-linux" /usr/share/doc/util-linux/changelog.Debian.gz | \
    grep -A 1 2.20.1 | grep -B 1 201[3-9]
util-linux (2.20.1-5.8) unstable; urgency=medium
 -- intrigeri <intrigeri@debian.org>  Mon, 02 Jun 2014 10:49:39 +0200
util-linux (2.20.1-5.7) unstable; urgency=low
 -- wookey <wookey@wookware.org>  Fri, 28 Mar 2014 10:34:21 +0000
util-linux (2.20.1-5.6) unstable; urgency=medium
 -- Helmut Grohne <helmut@subdivi.de>  Sat, 25 Jan 2014 13:38:36 +0100
util-linux (2.20.1-5.5) unstable; urgency=medium
  * Fix cve-2013-0157: mount discloses information about the existence of
--
util-linux (2.20.1-5.4) unstable; urgency=low
 -- Roger Leigh <rleigh@debian.org>  Sun, 12 May 2013 20:31:11 +0100

■次回再起動時にfsckを強制するには。
 6年前以降に実行したきり実行していないファイルシステムがあって、
 次の実行も予約されていないので、
 再起動前に「/forcefsck」を作成してfsckを強制するよう、
 「shutdown -F 」を実行しようと思う。

$ sudo shutdown -F -r now

$ man shutdown 2>/dev/null | grep -A 5 "\-F"
       -F     リブート時に必ず fsck を行なう。

       -c     現在実行中のシャットダウンをキャンセルする。  当然ながら、このオ
              プションと同時に  time を指定することはできない。 しかし、コマン
              ドラインから説明用のメッセージを入力し、  ログイン中の全てのユー
              ザに送る事はできる。
--
       -F  オプションは `force fsck' を表す。 このオプションは /forcefsck とい
       うアドバイス的なファイルを作るだけだが、 このファイルはシステムの再起動
       時にチェックされる。  ブート  rc ファイルは、このファイルが存在すると、
       fsck(1) を特に `force' オプション付きで起動し、  適切にアンマウントされ
       たファイルシステムもチェックさせる。    その後には、   ブートプロセスは
       /forcefsck ファイルを削除しなければならない。