About. What's Inside
Korora is a Fedora Remix1, which means it ships with regular Fedora packages along with others that Fedora cannot ship. We also make changes to the system, so exactly how does Korora differ from Fedora?
We're open source
Firstly, all our code is open source and freely available to anyone via our GitHub account. We also provide a tool called kp which will let anyone rebuild all of our packages and an entire Korora image, or modify these to build their own variation. That's the tool we use to build all of the Korora packages and images.
While we do not ship any proprietary software by default, some is available in the repositories (such as Google Chrome). We don't have source code for these as they are not open source; however, anything we create, or modify is.
Kickstarts are files that define how to build a system and include things like:
- General settings, partitioning, timezones, services to enable or disable
- Repositories to install packages from
- List of packages to install
- Changes to make to the system
Fedora uses kickstarts to build their images and we use kickstarts to build ours too. We have a base kickstart (from Fedora's fedora-live-base.ks) which includes some common elements for all images, such as system settings, repositories, packages and system changes.
The base kickstart includes the following settings, which we think are most useful for an end user:
- US English as the default language
- Australia/Sydney as the default timezone
- SELinux to enforcing mode
- Opens the firewall for Samba (Windows file sharing), SSH, Multicast DNS and printing
- Enables a number of services, including time, network management and dnf daemon to keep repositories information fresh
- Disables a large number of services, like bug reporting tools, enterprise services like iscsi and multipath, as well as sendmail and ssh
The base kickstart also spells out the repositories to pull packages from. Many of these, and in particular RPMFusion, are added by most Fedora users and we can do this out of the box because we aren't restricted by Fedora's own project rules. They include:
- Fedora Updates
- RPMFusion Free
- RPMFusion Non-Free
- RPMFusion Free Updates
- RPMFusion Non-Free Updates
The base kickstart then includes some common packages (full list available in the kickstart) including the re-branding of the system (a requirement from Fedora) that changes the name and logos, etc. We also include the following types of packages:
- Repository files so you can install Chrome and other packages out of the box
- Base groups, like core
- Administration and system tools
- Hardware support
The base kickstart implements the same changes as the Fedora base kickstart, changes that enable all that magic for when the live image is booted. We don't change anything here except for:
- Import keys for the repositories we include
- Add a README to the image
For each of the specific desktops we support there is a kickstart that builds on the base to include our choice of desktop specific applications. This is where we include things like Firefox for KDE and the multimedia codecs, etc.
We do change some additional things on the system in these kickstarts when compared to Fedora, such as running prelink and updatedb, as well as stopping certain services from starting on a live session. Mostly however these are the same as upstream counterparts.
As you can see from the kickstart information above, we include a number of extra repositories which means a number of packages on the system will be from those repositories.
Here's a breakdown of the packages on a regular Korora live DVD and where they come from.
Korora is 95% upstream Fedora packages and under 2% of our own. The packages that come from RPMFusion are the regular packages any Fedora user might install.
So if we hardly change anything on the system in the kickstarts, where do we make the changes to the system? Regular old RPM packages. The reason we make changes in RPMs is because we want them to be persistent. If we change things in the kickstarts (like editing a configuration file) then when you get an upstream package update our settings can be lost.
So what exactly are you installing from our repositories? The best way to see what we make is to take a look at our source repository.
Many of the RPMs are replacements for Fedora packages such as anaconda, fedora-release and fedora-logos, because Remixes are not allowed to ship Fedora branded packages. We also have our own backgrounds and plymouth theme.
We ship several other "release" RPMs which provide the repositories and GPG keys for things like Adobe Flash, Google Chrome and VirtualBox. These are what allow users to install those packages out of the box via the regular package manager without having to trawl the Internet.
We also replace some Fedora packages so that we can make desktop specific changes, such as kde-settings (for KDE configuration) and shared-mime-info (that handles default applications). We have korora-settings packages for the desktops which deliver more custom settings including the default Firefox profile and GNOME settings.
Next, there are several Mozilla plugins that we package up as they aren't included in Fedora but we enable them in the default Firefox profile.
Finally, we package a number of RPMs that are not available in Fedora or RPMFusion.
As mentioned on the Download page, you can easily download the source for any of our packages using the dnf download command.
Korora is an open source project and we do support open source software, even though some of the software we ship is proprietary. What we have done is to put all the pieces together and try to make a Fedora Remix that is useful for anyone out there, but there's nothing that we do that you couldn't do yourself. You're welcome to install Fedora and then grab any of our packages you want, rather than using Korora if you prefer.
At the end of the day we hope Korora is a useful system which gets people interested in Fedora, and hopefully they will one day become useful members of the community.