Tag Archive for 'Linux'

Page 2 of 11

Why Kororaa is (now) derived from Fedora

You might be wondering why I chose to derive Kororaa from Fedora. Perhaps you have used Fedora in the past yourself and been burnt, or perhaps (like I used to) you can’t stand Yum, Fedora’s package manager. Perhaps you even hate RPMs?

Well let me say, I understand!

Let me also say, that I think you should give Fedora another chance (like I did), or at least continue reading this post :-)

All distros are different and they have different goals. However, I’m drawn to Fedora for several reasons including the fact that at its heart, Fedora is about building a community of contributors, not just consumers.

Relationship with Red Hat
Fedora is a community operating system, whose major commercial sponsor is Red Hat. Many Red Hat engineers work on free software projects (see Upstream below) and Fedora provides a platform to push those changes to a large audience. While there is a small team of Red Hat engineers dedicated to working on Fedora, it remains primarily a community driven project.

Values
Fedora has a great set of values, which embody the very heart of the community; Freedom, Friends, Features, First. A central goal for Fedora is advancing free software and content freedom.

In particular, I admire Fedora’s strong support of freedom. This means that they do not ship (nor support) proprietary software, but naturally prefer (and create where necessary) free software alternatives. For example, instead of building tools to help install NVIDIA drivers Fedora invested in Nouveau, the free 3D driver for NVIDIA cards. This not only keeps Fedora free to re-distribute, but it benefits the whole Linux community. That’s extremely admirable, in my opinion.

That’s not to say that you can’t get the NVIDIA drivers, or other proprietary software for your system. Various third party repositories, such as RPMFusion, exist for this very purpose (and of course, Kororaa configures all this for you out of the box!).

Package Management
Yum (and RPM) have made leaps and bounds over the last few years and I actually quite enjoy using it now (and it’s quite fast!). Having said that, most package commands are run through PackageKit these days. As for RPMs themselves, they’re just a binary package format like Debs – it’s the package manager that makes the difference.

Download an RPM from the net and you can install it with Yum (or via the GUI using PackageKit), which will automatically pull in any dependencies for you. You rarely use the rpm command, like in Debian and Ubuntu you rarely use dpkg.

Security updates
Yum has a very handy feature, namely the ability to list and install only security related updates. It’s as simple as:
yum --security update

If that wasn’t useful enough, you can also install an update which fixes a specific bug. You can get a list of all updates and their bugzilla numbers with:
yum list-sec bugzillas

Now, once you have the update to fix that specific bug, you can install it using the bugzilla number from the list above.
yum --bz 650995 update

You can also combine the security option with bugzilla:
yum --security list-sec bugzillas

How powerful is that?!

Groups
Fedora also has a wonderful addition, called groups. After some educational software, office programs, or support for your language? It’s easy, just install the group you need, like so:
yum groupinstall "Educational Software"

If you’re a developer, getting started with Fedora is easy. Just install the development group you need, such as GNOME, KDE, Java, Kernel, Perl, or even the Web.
yum groupinstall "Development Tools"

There are almost 200 groups, ready to make your life easier!

Community repos
Fedora also has several contributor repositories available for end users. This is sort-of similar to Ubuntu’s PPA (Personal Package Archive). However, Fedora often provides updates for major packages, so you don’t actually need to add a separate repository to get the latest version of things like KDE.

Apt fall-back
If that’s still not enough, you can also install Debian’s Apt package manager and other graphical front-ends like Synaptic in Fedora!

Updates
Similar to other non-rolling release distros, Fedora generally only applies bug fixes to a stable release, rather than introducing new features with later versions.

Having said that, Fedora does often provide major updates to some specific programs, including KDE. In general, I have found that often packages like Firefox, OpenOffice.org and the Linux kernel itself get major updates. So, with Fedora you are not left behind quite as much, nor having to add repositories for unofficial builds. I like that :-)

Innovation
With every new release, Fedora is often leading the charge to implement new free software technologies. In fact, Fedora’s primary sponsor Red Hat is responsible for some of the greatest desktop enhancements ever, including AIGLX (Accelerated Indirect GLX), D-Bus, DeviceKit, HAL, NetworkManager, Ogg Theora, and PolicyKit. Even the Wayland display server (which Ubuntu has announced they are moving to) was started by Kristian Høgsberg when he was working for Red Hat (he’s now at Intel).

Not to mention that out of all the vendors, Red Hat contributes the most to the Linux kernel and to X.Org. Red Hat is also the biggest contributor to GNOME (including GNOME Shell) and they also provides infrastructure, hosting and bandwidth for the project.

Kudos.

Upstream
Fedora works as closely to upstream as possible. They don’t go off on their own tangent with disregard for upstream projects. If they want to have something changed, they work with upstream to create fixes and introduce new features.

Take the Chromium web browser for example. It’s not included in Fedora for several reasons, but Fedora people are working with Google to fix these issues, so that it can be included nicely. By doing this, other distros will benefit!

Having said that, there are Chromuim builds available too. Just add the repository and away you go!

Security
I used to wonder at the usefulness of SELinux (Security Enhanced Linux). Afterall, this is Linux right? It’s secure enough.

That might be true, but SELinux is still extremely useful (and even Debian is now implementing SELinux).

SELinux works by protecting your system, even if there is an exploit available in an application which gives users root access. Take Apache for example. In a non-SELinux enabled system, if a user gains root through an exploit in Apache they will have full access to your machine. Not so with SELinux. Even if someone gains root access, there are rules around what Apache can and can’t do. For example, these might be restricting it to only read the directory which holds websites. Your system is compromised, but the damage is limited.

SELinux is not just useful for servers. It’s also valuable to your desktop system, especially if you use Adobe’s proprietary flash player (which is known to have lots of security holes). When Fedora first implemented SELinux, there were lots of issues because it would block the system from doing what was considered normal tasks. These growing pains are now over, and SELinux rarely gets in the way. Even if it does, the graphical tool which pops up will tell you how to change that particular behaviour (if you really want to).

Of course, at the end of the day you can still turn SELinux off (or just to warning mode). Kororaa leaves it enabled, as it’s a great way to add extra security to your system, especially as a major part of our lives are now lived on the Internet.

Tools
Fedora comes with lots of handy graphical tools to help you manage your system, including

  • firewall
  • language settings
  • network shares
  • services
  • users
  • web server

And many more..

Reliability
In the last few years I’ve been solely using Fedora and I have been super impressed with its reliability. Things just work, as you would expect them to. No weirdness. Even though Fedora provides major updates to many packages, it’s still more reliable than other popular distributions I’ve used. Perhaps this is due to sticking close to upstream.

Summary
Fedora is truly a great, free operating system. Its core principles are ones that I fully support, but which I recognise might restrict or turn off some users. This is why I chose to re-launch Kororaa as I have, so that users don’t give up on Fedora (and Linux) before they have a chance to love it. I see great potential in Fedora, and great benefit to those who are using it.

Thanks to their wonderful build tools like livecd-creator, I am able to build a powerful operating system that includes all those tweaks and extras that users want.

Now, why not give Kororaa a shot? :-)

Kororaa Lite (KDE) beta released

Kororaa Lite (KDE) has been released and is now available for download in 32 and 64 bit.

Kororaa Lite 14 (Nemo) desktop

Kororaa Lite is a minimal KDE based system which provides a smaller footprint for users to then install the programs they want. It disables various services and cuts out some hefty KDE features by default, to reduce the resource footprint. It might be useful for netbooks and lower-end systems, or users who want to start with a solid base and build up from there.

It is designed to provide Internet connectivity out of the box and focuses on the following:

  • CD size (<= 700MB)
  • Smaller resource footprint
  • Network-ability (wireless, VPN, dial-up)
  • Internet browsing and social networking
  • Multimedia support
  • Broad hardware support
  • Uses KDE Netbook interface by default (changeable)

As with the full Kororaa release, it includes:

  • Third party repositories (Adobe, Google Chrome, Livna, RPMFusion)
  • Firefox as the default web browser
  • VLC as the default media player
  • Installers for Adobe Flash and NVIDIA drivers
  • SELinux enabled (particularly worthwhile for Flash)

Unlike the full Kororaa, it does not provide these out of the box:

  • Full range of applications (no office suite, PIM, java, or graphics tools, etc)
  • Build tools required for building external modules
  • Extra fonts
  • Printing support

Please test it out and provide any feedback you might have, especially if you have ideas on how to further tweak KDE to reduce resource footprint!

Thanks,
Chris

Kororaa 32 bit version released

I’ve had a few requests for a 32 bit version of the Kororaa beta, so I’ve made one and it’s now available for download and testing.

Thanks,
-c

Kororaa is back!

That’s right folks, Kororaa is back.

I know that you’ll be looking for something Linux related to do over your Christmas holidays and New Year ;-) so I’ve just released the first installable Live DVD x86_64 beta for testing. The final release will be Kororaa 14 (derived from Fedora 14), codenamed Nemo. As with the original Kororaa, it’s based on KDE.

If you can find the time, I would really appreciate some feedback. Tell me it’s crap, tell me I suck, but tell me something :-) I’m really looking for suggestions on how to improve it and make sure that everything works. If you’re interested in contributing to a project like this, then here’s your chance!

Essentially, Kororaa has been re-born as a Fedora Remix, inspired by Rahul Sundaram’s Omega GNOME based Remix. I switched to Fedora about a year and a half ago, and I love it. Kororaa has re-emerged out of a desire to see others using Fedora, and so aims to provide a system which sets up a lot of the magic for you, out of the box. This is something I want my family (and all my friends) to be able to install and use. There are lots of things still to do, but I hope you’ll try it out and let me know what you think!

Kororaa aims to provide all general computing uses out of the box (well, as much as possible anyway). It aims to include the software packages that most users will want (this means Firefox for KDE, GIMP over Krita, VLC over DragonPlayer, and OpenOffice.org over KOffice Calligra, etc). Adobe’s Flash plugin and NVIDIA’s graphics drivers are each installable with a double click.

See the About page for a list of what Kororaa aims to achieve, and see the Changes page for a list of customisations and their status.

Here’s a look at the desktop, running from the Live DVD.
Kororaa 14 (Nemo) Desktop

Thanks,
Chris

Omega – Fedora for the rest of us

If you’re wanting to try out Fedora, but want all of your multimedia working out of the box, then give Omega a try (a Remix of Fedora). Rahul Sundaram has just released the latest version, Dalmation, which is built on Fedora 14 and available in both 32 and 64bit flavours.

Omega is a completely free and open source Linux based operating system. It is a installable Live image that includes comprehensive multimedia functionality out of the box. It is a Live image that can be optionally installed to your hard disk. Omega is 100% compatible with Fedora and a Fedora Remix only including packages from Fedora, RPM Fusion and Livna software repositories.

If you’re interested in what Omega is all about, I wrote an article on it for Linux Magazine a while back.

-c

Miracle patch out-performed by four lines of bash

Well it’s nothing if not interesting. The ~200 line “miracle” patch promises a huge improvement in desktop responsiveness, but Lennart Poettering (from Red Hat) has replied to Linus’ praising comments with 4 lines of bash which out-perform it, on the current vanilla kernel. (And by the way, Lennart seems to agree with Con Kolivas about this patch, in that make -j is not a valid desktop use case.)

Lennart said:

Binding something like this to TTYs is just backwards. No graphical
session has a TTY attached anymore. And there might be multiple TTYs
used in the same session.

I really wonder why logic like this should live in kernel space at all,
since a) the kernel has no real notion of a session, except audit and b)
this is policy and as soon as people have this kind of group then they
probably want other kind of autogrouping as well for the other
controllers, which hence means userspace is a better, and configurable
place for this.

To which Linus then replied:

Numbers talk, bullshit walks.

The numbers have been quoted. The clear interactive behavior has been seen.

And you’re just full of bullshit.

Come back when you have something working and with numbers and better
interactive performance. Until then, nobody cares.

So, Lennart replied with his something better, 4 lines of bash:

Here’s my super-complex patch btw, to achieve exactly the same thing
from userspace without involving any kernel or systemd patching and
kernel-side logic. Simply edit your own ~/.bashrc and add this to the end:

if [ "$PS1" ] ; then
mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$
echo $$ > /sys/fs/cgroup/cpu/user/$$/tasks
fi

Then, as the superuser do this:

mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user

Done. Same effect. However: not crazy.

Of course the debate raged on because Linus thinks it’s stupid to make people have to set this up in userspace, and Lennart disagrees. Despite all this, finally everyone is at least acknowledging these issues and looking into them! Excellent.

-c

Con Kolivas posts his thoughts on the new ~200 line kernel patch

Con Kolivas (of SD/BFS fame) has posted his thoughts on the new ~200 line “miracle” kernel patch. It’s an interesting read.

In short, he had already implemented something like this in a 10 line patch to his BFS scheduler, but he dropped them because it introduced regressions.

Those following the development of the patches for interactivity at massive load, I have COMPLETELY DROPPED them as they introduce regressions at normal workloads, and I cannot under any circumstances approve changes to improve behaviour at ridiculous workloads which affect regular ones. I still see precisely zero point at optimising for absurd workloads. Proving how many un-niced jobs you can throw at your kernel compiles is not a measure of one’s prowess. It is just a mindless test.

He goes on to say:

Again, I can’t for the life of me see why you’d optimise for make -j64 on a quad core machine. It is one workload, unique to people who compile all the time, but done in a way you wouldn’t normally do it anyway. It is not going to magically make anything else better. If for some god-forsaken reason you wanted to do that, you could already do that with nice, or even better, by running it SCHED_IDLEPRIO.

Perhaps this patch really helps the existing CFS implementation, but it’s still lacking when compared to BFS. Maybe it is a step in the wrong direction, but perhaps some improvement like this is better than none at all? It might be the catalyst needed to improve the kernel further. I never could understand why we couldn’t have more than one CPU scheduler in the kernel (like we do for block I/O).

Anyway, this is all quite interesting!

-c

~200 line miracle Linux patch

There’s been lots of criticism from certain camps that Linus and the kernel developers don’t care enough about the desktop and that it has too much focus on big iron. There certainly have been (and continue to be) issues with Linux on the desktop, in terms of performance. Lately there has been a push to improve it, perhaps driven by the need to have Linux running well on small devices like Android and MeeGo.

Or perhaps it stems from much further back. We all remember anaesthetist Con Kolivas’s kernel patches (Kororaa used -ck, back in the day) and schedulers which improved desktop performance a whole lot, but in the end he was shunned, and then quit development. Linus wasn’t convinced, and Ingo Molnár (the CPU scheduler maintainer) then wrote a new scheduler which was more like Con’s (ironically named, Completely Fair Scheduler). Although he quit, two years later Con was still using Linux and couldn’t stand the desktop responsiveness any more, so he created a new scheduler, BFS (with no intention if getting it into the mainstream kernel).

Why is this important? Well now someone else is having a go. The small 200 line patch by Mike Galbrait has such a tremendous impact that even Linus can’t argue with the result.

If you want to see it in action, Phoronix has an article about the patch along with some videos showing the dramatic difference.

“Tests done by Mike show the maximum latency dropping by over ten times and the average latency of the desktop by about 60 times.”

With this patch, the desktop (running GNOME) can smoothly play the Ogg 1080p version of Big Buck Bunny and glxgears at the same time, while scrolling up and down a Firefox window and.. wait for it.. performing a kernel compile with make -j64.

xkcd Supported Features
xkcd, “Supported Features”

I don’t think that this will be merged until 2.6.38 as the 2.6.37 window has already closed.

-c

Yum gets autoremove dependency feature

Coming from a Gentoo/Debian background, one thing that has constantly bugged me on RPM based platforms like Fedora is the lack of decent, reliable dependency removal.

It seems so simple (and Debian has done it since the dawn of time) – if I install package x which pulls in dependencies y and z, then when I remove package x, I want to remove dependencies y and z, if they are not required by any other package.

Yes, there is the remove-leaves plugin for Yum and various RPM orphan checking tools, but in my experience, they are just not reliable.

So, I’m very happy to have discovered that Seth Vidal has merged orphaned dependency cleanup on removal into Yum. Hallelujah!

It’s in rawhide yum-3.2.28-13, and I’ll do some testing soon…

Encrypted DVDs and Fedora

The well known RPMFusion repository contains a lot of the useful software which Red Hat doesn’t ship by default (for licensing, patent or legal reasons). It is the amalgamation of several other repositories, including Dribble, Freshrpms, and Livna.

One helpful package that RPMFusion does not package however, is libdvdcss, the free software library which enables Linux to play encrypted DVDs.

Most users keep Livna around for this single purpose, but it is often offline (especially recently). So, here’s another solution – use ATrpms – another third party repository that includes lots of handy software.

The problem is, ATrpms has lots of other software which you might not want to update and which could conflict with the packages from RPMFusion. The solution? Tell yum to only include libdvdcss* packages from that repository. Easy.

To do this, simply add a new repo file (/etc/yum.repos.d/atrpms.repo) for Yum to configure it.
[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
includepkgs=libdvdcss*

Now, just run the following to update the repo and install libdvdcss (you may wish to remove the old package first, if you have it).
sudo yum check-update
sudo yum install libdvdcss

That’s about it!

-c