📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Custom startup commands expected from rc.local never execute, so environment preparation and service hooks are missing after reboot.

Environment & Reproduction

Common on Ubuntu 14.04 when rc.local permissions, shebang, or upstart compatibility behavior are misconfigured during hardening.

Root Cause Analysis

rc.local is skipped due to missing execute bit, syntax errors, premature exit, or assumptions about boot dependency timing.

Quick Triage

Check file mode and shebang, inspect boot logs, and run rc.local manually to catch immediate command failures.

Step-by-Step Diagnosis

Validate /etc/rc.local contents line by line, ensure exit 0 is present correctly, and confirm required services are available before script runs.

Illustrative mockup for ubuntu-14-04-lts — ubuntu1404-b01-p22-diagnosis
boot completes but rc.local commands never run — Illustrative mockup — Progressive Robot

Solution – Primary Fix

Set executable permission, correct script syntax and ordering, and migrate critical actions to dedicated upstart jobs when dependency timing matters.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Illustrative mockup for ubuntu-14-04-lts — ubuntu1404-b01-p22-fix
rc.local made executable with proper exit status — Illustrative mockup — Progressive Robot

Solution – Alternative Approaches

Use configuration management boot hooks, create SysV init scripts with runlevel controls, or move startup logic to application supervisors.

Verification & Acceptance Criteria

After reboot, expected commands run and leave verifiable markers, and dependent services show intended startup state.

Rollback Plan

Restore previous rc.local from backup and remove new commands if boot behavior becomes unstable or delayed.

Prevention & Hardening

Keep rc.local minimal, test boot scripts in staging, and prefer explicit init jobs for complex startup dependencies.

Related to upstart event ordering issues, missing network-online dependencies, and service startup races after reboot.

Related tutorial: View the step-by-step tutorial for Ubuntu 14.04 LTS.

View all Ubuntu 14.04 LTS tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Review rc.local behavior documentation, upstart event model references, and legacy init script best practices.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.