And now, breaking news in this special report:
I added my Compilation Optimization Guide to our documentation repository just a few moments ago, finally closing Bug 68282. Finally, we have something written down that we've been telling our users on the forums, on Bugzilla, the mailing lists, and IRC for years now. You may consider it definitive.
And no, we won't link to that unofficial wiki floating around. And no, your flags of -fomg-optimize and -funroll-all-loops won't be added to it.
With those caveats, have fun reading! Note that we have always had CFLAG suggestions for all our arches in their respective installation handbooks, that's why the guide doesn't duplicate the list in the GCC handbook.
...we now return you to your previously scheduled distribution checklist broadcast.
News flash!
I added yet another guide to Portage, one that was initially contributed by a user and a few developers some time ago, this one is a vpnc howto. It finally closes Bug 97760 and Bug 30966.
Man, this is some week for closing old bugs.
In the first part of this series, I began asking questions that are useful in determining the answer to the old question "Which distribution is right for me?" I examined hardware support and the package manager. This second part will look at maintaining the distribution and its available tools for the job, as well as its installation procedures.
Parts of this article are written with my own needs in mind, as I'm currently evaluating binary-based distros that can potentially replace Gentoo on my vintage 2001 Toshiba laptop, but the questions are universal enough that you should think about them the next time you're thinking about distributions.
Maintenance and Tools
As with its package manager, a distribution can live and die by how easy it is to configure and maintain -- are the tools sensible, powerful, and flexible, or are users forced to wade through the guts of their system in a noncoherent fashion? Is it possible to get under the hood of the distro, or is it too painful?
A. How is the distribution configured: graphical configuration utilities, CLI tools, manual editing of config files, or some blend of all three?
-- Which is recommended
-- Is it done as root or by any user? Or is it built around sudo?
B. Config file directories and filesystem layout
-- How are the directories structured, starting at /. Some distros pay more attention to the FHS than others, and some have found better ways to organize files. Where are things placed?
-- Are systemwide config files placed in /etc/, or somewhere else?
-- Kernel and bootloader-related file locations
-- What about startup and shutdown scripts and their associated config files? Not everyone uses SysV init, and there's plenty of differences even within that.
-- Other initscripts: where are they kept. Also, how easy is it to create your own and integrate with the existing system? There needs to be a sane way to keep track of starting and stopping services, as well as service dependencies.
-- X11 and desktop-related file locations
-- Package manager config file locations
C. Graphical configuration utilities: are any available, and if so, what kind? Step-by-step wizards, or something like general preferences windows.
-- Where are they found in menus and in the directory layout
-- Do they offer thorough coverage of the available settings. For example, is there a special all-in-one control center for the desktop or networking, etc.
-- Ease of use. No one likes using a painful tool that is completely counterintuitive. Linux shouldn't be painful!
-- Are they well-documented, comprehensible, and in the appropriate language (English in my case)
-- Where do they fall short of plain text editing?
-- Is there more than one tool available for a particular aspect of the system?
D. Automatic and semi-automatic utilities: are there any that can make routine or difficult tasks much easier? Gentoo has an eselect framework that does all this, as well as lots of handy admin tools from the gentoolkit package like revdep-rebuild, eread. Still other useful mini-tools are found in portage-utils, baselayout (rc)...the list goes on.
-- Are they scriptable?
-- Easy but powerful ways of managing things like Java plugins/VMs, kernel selection, OpenGL/X configuration, initscripts, etc.
Installation
While ease of installation can be the biggest selling point of a distro, I got started in Linux using Gentoo, so I'm used to the straight CLI step-by-step unscripted (though it's easily doable) manual installation process. The only things that phase me these days are installers that 1) don't offer enough configurability and 2) don't work.
A. Available methods: what kinds of installers are available?
-- Pure CLI (Hi, Gentoo!)
-- Graphical
-- ncurses-based
-- Which method is the cleanest for creating light, flexible, yet solid environments...aka "which one will work the best"
B. Installation media: what kind are available?
-- Minimal or full-featured LiveCDs, USB keys, netbooting, even DVDs packed with just about everything.
-- Does the media offer recovery options for failed installation or general system recovery? Need useful tools!
C. Filesystems and partitioning: what's in the default layout? I assume it's possible to specify my own partitioning scheme, but you never know...
-- Which filesystems are available? I've always been a ReiserFS user, but some distributions don't include the ability to install with anything more than ext2 or ext3.
D. Installation manual: is it well written? Comprehensive? Available in useful formats? Should be in understandable English.
E. How often are the installation media and installers updated?
-- How often does the installation process change?
-- Is the distro on a "rolling release" schedule, or is it it necessary to periodically download and install the new version?
That's it for part 2. In part 3, I'll examine the distribution's identity, or meta-questions about its users, developers, purpose, and other aspects. Stay tuned!
As promised in a previous entry, here's the first half of a checklist I've been writing to help me evaluate other distributions. No doubt I think of more things when examining a distro, but here's a good start. Though some parts of it are definitely specific to my needs and hardware, most of the questions can be used by anyone, especially people (like myself) who prefer to install one distro and stick with it, rather than jump ship every few months.
I began assembling this list because I've started to shop around for binary distributions that could possibly replace Gentoo on my laptop. It's old, and compiling hurts. Replacing the hardware isn't an option, so I need something that can do most everything Gentoo can but not involve compiling unless for unpackaged software. Setting up a binhost and crosscompiling on another machine isn't desirable either. There are lots of binary distros out there, so it's time to put the candidates through the list.
For this first part of the series, I'll question the distribution's hardware support and its package manager.
Hardware
A. ACPI support: A must for any modern machine; it shouldn't suck extra energy or generate waste heat and noise if it can be avoided. This is usually at least in part kernel dependent, so that means the distro needs to have the right one available. Includes things like proper support for the fan, thermal zone, battery, screen dimming/blanking, sleep/suspend, CPU scaling...
-- Fn keys and special buttons: in addition to kernel support, some distros include packages for managing laptop special keys, such as the ones on my woefully under-supported Toshiba
B. PCMCIA support: Wifi cards!
C. HDD: how hard will the disk be hit overall? Gentoo hits up the hard disk pretty hard simply because of all the compiling (having only 128MB RAM also hurts)
D. Kernel: which sources are available? What's installed by default? Are there any special patchsets applied? Also, what's enabled by default -- watch out for bloated modular kernels like...*coughUBUNTUcough*
E. Chipset feature support: I suppose this is a summary of the above; how does it compare to other distros? Do things like USB, Firewire, network controllers, etc. work.
F. Bitness: for x86 and x86-64, how mature is the distribution? Does it emphasize multilib or a pure environment of some sort?
Package Manager
Ah, now we come to it. Distros can live and die by the ease of use of the package manager, and by what's available. Let's take a closer look.
A. Tree structure: how is the official repository set up? Does it contain a comprehensive list, or only core packages? Are third party/community repos available or necessary, and are they worthwhile or significant?
-- I'd prefer a one-stop shop for all my needs, so is there one available?
B. How many official/supported package managers are available? How do they rank compared to each other?
-- The all-important "Which is easiest to use" and "Which is the most flexible" questions.
C. Binary package repository: the distro must have a significant number of binary packages available (ideally all)
D. Source packages: for packages that must be compiled from source, how easy does the PM make the job
-- Is it necessary to install any development tools? Is this easy to do? Are they included by default?
E. Searchable repository: is the repo searchable locally or online?
-- What tools are available for this task? Ease of use?
F. Installing packages:
-- Dependency tracking: does the PM properly pull in or build all required dependencies?
-- Flexibility: can dependencies be optionally specified during installation? The goal is to decrease bloat.
-- What about upgrades and downgrades; are they easy to work with? Should there be small constant upgrades to avoid breakages, or will periodic major system-wide updates work okay?
-- Uninstalling: will it leave cruft or make a clean sweep.
G. Optimization: No, not ricing. For which architectures are binary packages targeted? If the PM supports source compiling, how easy is it to specify CPU (sub)arch, CFLAGS, etc.
-- For my laptop, i686 or Pentium3 is preferred, along with MMX and SSE.
H. Available packages: how large is the selection? Gentoo is pretty famous for having one of the largest package trees of any distro.
-- Which architectures are packages available for (for example, Gentoo has a good number of packages available for just about anything Linux runs on)
-- How many versions are available for typical packages? Especially for version-sensitive apps such as Wine, dbus, hal, madwifi-ng, wpa_supplicant, etc.
-- Are there multiple choices for each package category? For example, is there a default desktop environment such as Xfce, but Gnome or KDE can also be installed.
-- How close to "upstream" are packages kept? Just as intended, or with a few modifications? Includes things like where packages are installed to.
-- Does the distro mark its packages with any kind of branding or identity when they are installed?
-- Are the packages targeted to or sufficient for the needs of certain kinds of users? Are there plenty of things like Java development packages, XML/text packages, lots of FPS games, etc.
Well, that's it for the first part. In Part 2 of this series, I'll ask questions about the distribution's maintenance & tools, and about its installation procedures. Part 3 will examine the distribution's "identity," or meta-questions about the distribution itself, its users, and its development.
Stay tuned in the coming days for the next two parts!
Was just getting ready to play some Rollercoaster Tycoon 2 via Wine when bam -- my DVDRW drive lets go. Well, technically, the disc did; I've been playing it for some time even though it was cracked about 1/4 of the way through. I never expected it to fly apart inside the drive; I just expected it to eventually reach the point where it couldn't be read at all, then I'd go bargain-bin hunting to find a replacement.
My mistake, it seems.
So now I'm out an optical drive. It's probably not safe to use ever again even if I'm sure I got the last of the disc fragments out.
Ah well. I've been wanting to switch to SATA burners anyway. This gives me an excuse to buy two, instead of the single drive I've had.
I don't think I'll buy Samsung again, though. That thing should have a read of 48x, but instead it's closer to 12x. Write speeds are better, though only half to 3/4 of the advertised speed even when using the rated media. Unless this is something Linux-wide, or a K3b issue, I think Samsung's optical drives leave a lot to be desired.
Time to go shopping...I wonder if there are any good quality SATA burners on the market. All I've seen are rather lackluster LG and Samsung models.
Bah. Being driveless sucks. My workstation is out of commission for awhile. No music, no media, no fun.
It's been some days since I did it, but I finally finished up that Compilation Optimization guide. A revised draft has been posted to the bug.
* * *
After reading my previous entry on old reviews, I think I'm going to have to do another review or two. I've always wanted to try out Arch Linux and Zenwalk Linux, and I do have a spare drive available. Actually, I've been considering switching to one or the other on my laptop. Compiling Gentoo on it has just grown too painful; the hardware is just running slower and slower. It started with frying half my RAM and then the memory slot a long time ago, so now I have only 128MB. Since then, somehow the machine has grown even slower. Compiling heats it up to almost 80C, sometimes a little higher.
Arch and Zenwalk caught my attention, since they seem like they'd be a little lighter on resource usage. Binary packages sure sound nice. Strong points: Arch is optimized for i686, has binary packages and makes source compilation fairly easy, though they don't have anything like Gentoo's USE flags. Zenwalk is a rather small download, has Xfce by default, and seems to have reasonable dependency tracking. Downside is that it's optimized for i486; they cater to a lower common denominator (helloooooo, 1989!) ... and it's Slackware-based.
Anyway, I've been exploring the merits of other distros for my poor old laptop, and these two are at the top. While on this journey of distro evaluation, I started writing down all the kinds of things I look for in a distribution. The end result is a surprisingly long, detailed document, as these kinds of things need to be well thought out, since I don't intend to be constantly switching between distros every few months. Maybe I'll post them as an epic miniseries: things you should keep track of when trying to find the distro that fits your needs.
* * *
With the recent creation of the Gentoo Artwork Project, I decided to start trying my hand at theme creation. I've got an almost-finished GDM theme, and I'm trying to port a Metacity theme and a Fluxbox theme to xfwm4, but without much luck. I haven't been able to find a single howto on porting themes, though I did find a guide on creating xfwm4 themes. Specifically, I've been trying to port the arsen Metacity theme to xfwm4, since arsen is the most awesome theme I've ever used. It's a slow, painful process. Metacity uses PNG, xfwm4 uses XPM, etc.
If I ever get anywhere with all this experimentation, I'll give the Artwork folks a ping.
* * *
Now you should go download and listen to an amazing album by Nest. It's been getting great reviews all over the place. It's rather stunning. Turn down the lights and just listen.
When you're finished, you need to get a couple of free mini-EPs by the San Francisco-based quartet karmacoda. Moody, chill, ambient triphop is a good starting point for their sound, though it's only the tip of a very large iceberg. Soaring female vocals over layered, inventive beats and soundscapes. Get 'em here: Display EP and Transitory EP.
The journal of Josh Saddler (nightmorph), a documentation developer.
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| << < | Current | > >> | ||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |