Monthly Archive for January, 2011

Strip first directory from tar

I was trying to find this the other day – how to extract a tar and strip the first directory off. For example, WordPress extracts to the wordpress/ base directory by default and that can be annoying because you then have to move the content to the right place and remove the wordpress directory.

But there is an answer and it comes in the form of an option to pass to tar:
--strip-components [number]

So instead of something like:
tar -xvf wordpress-3.0.4.tar.gz
cp -r wordpress/* .
rm -Rf wordpress

You can just do:
tar -xvf wordpress-3.0.4.tar.gz --strip-components 1

Thought that might be useful for others (it certainly is for me!)..

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