I’m excited to share the availability of two powerful, community-driven scripts designed to simplify and scale your Oracle Linux adoption journey:
- 🔄
migrate-to-oracle-linux.sh— seamlessly migrate existing Enterprise Linux systems to Oracle Linux - 🪞
mirror-oracle-linux-yum.sh— build and serve a fully functional local Oracle Linux yum mirror
Together, these tools form a complete, production-ready workflow for organizations looking to standardize on Oracle Linux—whether at small scale or across large fleets.
🧭 A Complete Migration Workflow
The project delivers a clear separation of responsibilities:
- The mirror script prepares and hosts Oracle Linux repositories
- The migration script transforms target systems safely and predictably
This modular approach enables everything from direct internet migrations to air-gapped, enterprise-scale deployments.
⚙️ Why These Scripts Matter
🔄 Reliable, Repeatable Migrations
The migration script isn’t just a package swap—it’s a carefully orchestrated system transformation:
- Validates source OS, architecture, and compatibility before execution
- Replaces distribution packages and synchronizes RPMs to Oracle Linux equivalents
- Handles edge cases (Amazon Linux 2, CentOS Stream, RHEL variants)
- Produces detailed HTML and TSV reports for auditability and compliance
- Supports kernel selection (UEK or RHCK where applicable)
This helps ensure migrations are predictable, transparent, and reversible with proper safeguards.
🪞 Enterprise-Grade Local Mirrors
For organizations operating at scale—or in restricted environments—the mirror script delivers:
- Full Oracle Linux repository mirroring across Oracle Linux 7 to Oracle Linux 10
- Support for both
x86_64andaarch64architectures - Efficient syncing using
reposyncwith metadata preservation and newest-only packages - Built-in HTTPS serving via Apache, including TLS setup
- Parallelized downloads for performance and scalability
The result: a high-performance, internally controlled software supply chain that reduces external dependencies and improves reliability.
🚀 Built for Real-World Operations
These tools reflect practical operational needs:
- 🧪 Dry-run modes for safe planning and validation
- 🌐 Support for proxies and private mirrors
- 📊 Rich reporting for governance and troubleshooting
- 🔐 Maintains RPM signature verification even with custom mirrors
- 🧹 Handles removal of vendor-specific or unsupported packages cleanly
Whether you’re migrating a handful of servers or thousands, the workflow is designed to scale with confidence.
🤝 Community-Driven Engineering
This project is more than just scripts—it’s a collaborative effort shaped by real user needs:
- Built with input from practitioners managing heterogeneous Linux environments
- Designed to handle the messy realities of enterprise systems
- Focused on transparency, debuggability, and operational clarity
From curated repository sets to nuanced package replacement logic, the details reflect deep community experience and iteration.
🧩 Putting It All Together
A typical workflow looks like this:
- 🪞 Build your local Oracle Linux mirror
- 📄 Capture the generated mirror URL
- 🎯 Run the migration script across your fleet using that mirror
Or, if connectivity allows, skip the mirror and migrate directly from Oracle’s public repositories.
📣 Get Started
These scripts are available now and ready to use in your environments. Whether you’re modernizing infrastructure, consolidating distributions, or standardizing on Oracle Linux, this toolkit gives you a robust, flexible foundation to do it right.
# git clone https://github.com/oracle/migrate-to-ol
💬 We welcome feedback, contributions, and real-world experiences—this is a project built with and for the community.
