Saturday, April 22, 2006

Agama Lizard RC2

Introduction

The SuSE guys got in the pool.. They just brought out the RC1, here I have RC2 and RC3 of 10.1 (codename: Agama Lizard) is coming next week. By the way this is the 14th development release since september 2005, which means they are really active, and they really care about the opinion of the consumer (why on Earth would they bring 14 dev-releases if not so?); the final release will hopefully be out in a few weeks.
They do not provide full images, only "delta" isos, which cover the differences between the two releases, and can be "installed" with the applydeltaiso command.

Some of the most annoying bugs still present in this release:

  • Language dependent packages for the default language are not installed (Bug 162064)

  • Every update from a 10.1 Beta/RC adds another selection to the system Bug (160792)


My first SuSE distribution was v9.2, I bought it with a magazine around a year ago, and remained with open when saw the "$90 retail value" text. Well, since then many things changed, from inner project philosophy through default background to version number :-) So what is really OpenSuse? According to OpenSuse.org it's "a worldwide community program sponsored by Novell that promotes the use of Linux everywhere. The program provides anyone with free and easy access to the world's most usable Linux distribution, SUSE Linux."
SuSE used to be my distribution what I show to my newbie friends, and they always used to say "Wow, I wouldn't imagine linux can do that!". Even if it was (and still is unfortunately) a bit slow, and it uses the RPM package management, which is considered by many people (including me) obsolete, it's the best distribution for newbies, and I always recommend it for that purpose.

Installation


Installing SuSE always was an easy task. It provides a bunch of drivers, you don't have problems not even with bluetooth devices or USB webcams. Some people say that YaST (yet another setup/system tool), the SuSE installer is an Anaconda clone, although that cannot be possible, since SuSE uses graphical installer since 1999, and RedHat only since 2000; the only common in them is that both are based on GTK..
I'll relate RC1's installation, since RC2 only needs the delta iso to be applied.
By the way, it seems that they didn't change anything in the install process anything since 9.2, it really looks the same, maybe I forgot how it looked like. As any other install, it starts with collecting information: Time zone, packages, desktop selection, partition layout, hardware. Apropo, partition layout: for a typical installation 2-3 GBs will be enough, though you should sacrify around 5 GBs if you even want to use it.. using a common /home partition with your another (if exists) distribution might solve the problem. The install process itself takes around an hour, so it isn't that short..

Applications and the desktop

Once the installation is finished (you'll get a bit tired if you don't look for other occupiation looking at the self-advertisements), you'll face GDM, with several (depending on what you've selected) optional windows managers, however, the default is either Gnome, either KDE (again, it depends what you've selected). OpenSuse provides a lot of applications, although it somehow doesn't give that "bloat" feeling which I felt using Fedora. It's just a handful set of software for all categories, so you don't really have to download anything to be able to use OpenSuse daily. Anyways, if you're still unsatisfied, or your packages simply went out of date, you can use YOU (Yast Online Update) to solve these problems. One thing I felt missing was X.org 7.0.. Don't know.. Maybe only because all the distros I've reviewed lately had it, and because Xgl "needs" it (maybe it would run on 6.9.0 too, but 7.0 would be better), and I'm so disappointed I can't have XGL under SuSE. SuSE! The distribution of Xgl's company, Novell!

Verdict

SuSE is the ideal distribution for beginners and for those who do not have an internet connection. It's plenty of packages, it contains all the documentation, to only mention two from the bunch of awesome features offered by this new release candidate - and previous releases as well. Advanced users might also find SuSE to be their distro of dreams, but they'll have some work to do, since the default SuSE era is kinda customized for beginners. I'm looking forward for the stable 10.1 release, and hopefully I'll review it as well! Good luck SuSE, and keep working!
Cheers!

Monday, April 10, 2006

CRUX 2.2 - Taste matters

According to the wikipedia article CRUX is a lightweight, i686-optimized Linux distribution targeted at experienced Linux users. The primary focus of this distribution is keep it simple, which is reflected in a straightforward tar.gz-based package system, BSD-style initscripts, and a relatively small collection of trimmed packages. The secondary focus is utilization of new Linux features and recent tools and libraries. CRUX also has a ports system which makes it easy to install and upgrade applications. But here is missing something! CRUX by philosophy is similar to Gentoo Linux or NetBSD: it's users have an easy-to-distinguish taste, which is reflected by the distribution. CRUX is not the "ordinary" distro, where you install everything with next-next-next-yes. It's far from it, it has a specific style, which requires some experiences as well.

Hardware architecture

Unlike you might think after looking at the Handbook, there are several architectures supported: PPC (last version: 2.1), SPARC (last version: 2.1rc1), x86_64 (last version: 2.2test1), i586 (last version: 2.1) however there's only one official release, i686.

Installation

Packages on the official CRUX ISO image are compiled with optimization for i686 (Pentium-Pro/Celeron/Pentium-II or better) processors. Do not try to install it on an i586 (Pentium, AMD K6/K6-II/K6-III) or lower processor, since it simply will not work. I will only touch here the CD-ROM installation method, since it's the most common, but you should know that you can install CRUX from network, and with your own bootkernel too.
First, of course, you have to download crux-2.2.iso (El Torito), and check its integrity (check its MD5 checksum). If it's OK, you should then burn the images, and boot into it (set your primary boot device to CD-ROM!). Now you can login as root (no password required), and create the necessary partitions (at least a root and a swap). After making some directories and mounting the corespondent partitions you arrive to the setting of the root password (attention, this will be very important later). Edit your config files like /etc/fstab, /etc/rc.conf, /etc/rc.d/* and /etc/hosts.
Now it's time to compile your kernel.. CRUX 2.2 has linux-2.6.15.6 included, which is very new compared to the release date. After you compiled your kernel succesfully, you must set your /etc/lilo.conf (or grub.conf if you plan to use GRUB) so that you can boot to your new CRUX installation in the future. You can execute now your setup.sh script, which lets you select the packages you want.

Software

CRUX organises packages in three groups:
-core: as it's name says, these are the base, necessary packages (like gcc, cron, zlib and binutils)
-opt: optional packages, which may be installed by the user if wanted (like WMaker, cdrtools, X.Org)
-contrib: user contributed packages (there aren't such on the official release disc)

There aren't too much packages on the disc, which can be seen by its size (2.2-i686: 230 MB), but no problem, there's ports and you can install thousands of packages later if you want.

Ports

According to the CRUX 2.2 Handbook a port is a directory containing the files needed for building a package using pkgmk. This means that this directory at least has the files Pkgfile (which is the package build description) and .footprint (which is used for regression testing and contains a list of files this package is expected to contain once it is built). Further, a port directory can contain patches and/or other files needed for building the package. It is important to understand that the actual source code for the package is not necessarily present in port directory. Instead the Pkgfile contains an URL which points to a location where the source can be downloaded.
If you've used BSD before, you might know (you have to know by the way..) what are ports, and how to use them (though there are some differences at CRUX). On your first-boot you should synchronize your ports collection, so that you can install the latest available packages then. Use this:
ports -u
To see all your ports, so list them, use ports -l.To see if you should install a new port (so if there's a new port appeared) simply execute ports -d, where d mean "difference". Once you've found a port you might need, cd the directory of the respective port, and execute pkgmk -d, where d mean "download". Then you can install it with pkgadd -portname-#-portversion-, or simply executing pkgmk -d -i to install, or pkgmk -d -u to upgrade the port (note: this way you don't need the first command, but you still have to execute this in the port's directory).

Configuration

After going through the installation procedure, I think you already know that CRUX doesn't have graphic configuration tools, you have to do yourself everything, just like during the installation. As I said, CRUX is for experienced users, so if you just began, and installed it using the handbook for every little step, you have two chances: you'll spend a LOT of time learning linux, or you'll simply feel CRUX annoying and delete it. I recommend the first, since if you don't learn using linux with pain and time, you'll never be able to use a fully graphic-enabled system well. CRUX doesn't modificate software packages, so you can optimize everything for your needs. If you're an advanced user, CRUX is the ideal ditribution for you.

Conclusion

As CRUX is the absolute antonym to bloat, it's amazingly fast. If you know what you do, you'll never have any problems with it, everything is in your hands, made by your hands. You have secure packages, since the CRUX ports collection is made of the latest stable releases, nothing unstable enters it. Final sentence: CRUX is wonderful.

Later edit: This post has been criticised by DevOne. Read his thougts here