What is the main differences between Ubuntu and Redhat?
There are a few different ways to interpret "Redhat" here:
Red-hat Enterprise Linux (RHEL) - A specific, commercial distribution by Red Hat.
By far the biggest difference between Ubuntu and RHEL is the license terms - Red Hat Enterprise Linux is commercial.
You can, however, get basically the same distribution, but without the commercial contract, for free in the form of the CentOS distribution.
Distributions which are based on or inherit from Red Hat, which would also include CentOS and Fedora, and their derivatives.
It's actually very hard to compare Ubuntu against all those (RHEL, CentOS and Fedora) as if they are one thing, because they are all very different in themselves. They do all share the same package manager as I talk about below, but the differences between them are greater than the difference between their package manager and Ubuntu's.
RPM-based distributions in general - that is, distributions that use the Redhat Package Management system. This would expand your scope to include distributions like SUSE, Mandriva, PCLinuxOS, and their derivatives.
Ubuntu is based on Debian's package manager APT and DPKG. Red Hat, CentOS and Fedora are based on the Red Hat Linux package management system, RPM. Both package managers are now quite mature and have roughly equivalent features. You could debate individual design decisions though but it's hard to say that one overall is better than the other.
After many years using both, I can say that the real differences are:
H/W vendor support for various server hardware subsystems like:
- latest FiberChannel drivers
- iSCSI offloading support
- 10Gbps Ethernet
- online firmware (BIOS, NMI) updaters
- SCSI storage accelerators
- Software SCSI drivers (like for HP B Series)
- BMC (Baseboard Management Controllers) drivers/updaters
- Live Controller/RAID configuration
- Hardware health monitoring and reporting
- GUI server management/monitoring
- etc
All of the above exist for RedHat through vendor repos, (and in almost all cases can be installed in centos) but for the .deb based distributions (like Ubuntu) you're usually out of luck or in rare cases you get something old that that will waste your time and will often break your system.
EPEL repo (Extra Packages for Enterprise Linux): I've found that the EPEL repo (RedHat & CentOS) is not perfect but far more complete and updated than Ubuntu (official) repos, not so for desktop stuff but for server stuff. E.g. latest IPSEC packages, SaltStack, etc for which you would need to configure extra non-official repos in ubuntu.
Software support (e.g. software/security updates, new kernel drivers). Ubuntu offers 5years, while RedHat offers 10years. This support includes security updates and in RedHat's case, backporting kernel modules from more recent kernels! That means newer hardware is supported even when using old redhat/centos kernels/distros. That hardware may be chipsets, watchdog drivers, etc.
5yr can be too binding for production use in my opinion (it can be fine for your laptop though where you can afford the time and risk to upgrade).
Main Difference is Ubuntu is based on Debian system. It uses .deb packages. While RHEL uses it own package system .rpm (red hat package manager ).
RHEL is free but it is charged for support (updates), when Ubuntu is totally free with support for desktop users only professional support is chargeable.