/var/log/lastlog は、ユーザーがシステムに最後にログインした時間に関する情報を保持するバイナリ ファイルです。 lastlog ファイルはスパース ファイルです。これは、ファイル内のすべてのブロックがディスクに割り当てられているわけではないため、「ls -l」によって報告される見かけのサイズが、ファイル (du) の実際のディスク使用量よりも大きいことを意味します。
スパース ファイルは、ファイルに割り当てられたブロックがほとんど空である場合に、ファイル システム領域をより効率的に使用しようとするコンピュータ ファイルの一種です。これは、ブロックを構成する実際の「空の」スペースの代わりに、空のブロックを表す簡単な情報 (メタデータ) をディスクに書き込むことによって実現されます。ディスクに割り当てられた領域)。完全なブロック サイズは、ブロックに「実際の」(空でない) データが含まれている場合にのみ、実際のサイズとしてディスクに書き込まれます。
スパース ファイルを読み取る場合、ファイル システムは実行時に、空のブロックを表すメタデータをゼロ バイトで満たされた「実際の」ブロックに透過的に変換します。アプリケーションはこの変換を認識しません。スパース ファイルは、ディスク イメージ、データベース スナップショット、ログ ファイルなどによく使用されます。
lastlog ファイルには、ユーザーが最後にシステムにログインしたときの情報が含まれています。この情報を保持したい場合は、/var/log/lastlog ファイルを再作成する前に lastlog コマンドを使用してログ情報をエクスポートするか、既存の /var/log/lastlog ファイルを別の場所にコピーしてください。
1. 既存の lastlog コンテンツのバックアップを取ります。
# lastlog > /tmp/lastlog.txt
または
# cp /var/log/lastlog /opt/lastlog.bkp
2. 次のいずれかのコマンドを使用してファイルを上書きします:
# >/var/log/lastlog
または
# cat > /var/log/lastlog