🔥 Preheat

Predict. Preload. Perform.

Adaptive readahead daemon for Linux

View on GitHub

Preheat State File Restrictions

ProtectHome Security Setting

The preheat systemd service uses ProtectHome=read-only as a security hardening measure. This has the following implications:

Restrictions

State and configuration files CANNOT be placed in:

Required Locations

All preheat files MUST use system directories:

Rationale

This restriction is intentional and by design:

Future Development

Any future features must respect this constraint. User-specific preloading is not supported and would require architectural changes to the security model.

State File Migration Warning

⚠️ IMPORTANT: Preheat can import preload 0.6.4 state files, but the original preload daemon will NOT be able to read preheat state files.

This migration is ONE-WAY.

Before Migrating from Preload

# Backup your preload state
sudo cp /var/lib/preload/preload.state /var/lib/preload/preload.state.backup

# Then proceed with preheat installation

State File Format

Best Practices

  1. Never manually edit state files - they use binary format
  2. Back up state before major updates - use the update script which does this automatically
  3. Monitor state file size - should typically be <10MB for normal use
  4. Check for .broken files - indicates corruption occurred

Troubleshooting

If state file issues occur:

# Check state file integrity
sudo ls -lh /usr/local/var/lib/preheat/

# Remove corrupted state (daemon will start fresh)
sudo rm /usr/local/var/lib/preheat/preheat.state

# Restart daemon
sudo systemctl restart preheat

The daemon handles corruption gracefully - this is just for manual intervention if needed.