Foresight Linux ist eine relativ neue Distribution (seit 2004), die auf rPath Linux mit dem Paketsystem Conary (Conary-Quickreference) basiert. Foresight speziell setzt vor allem darauf jeweils das neueste GNOME anzubieten. Ist es für Anfänger geeignet? Grundsätzlich ja, denn alle Einstellungen können grafisch vorgenommen werden. Es gibt allerdings noch keinen GUI-Installer-Updater. Dieser ist im Entstehen und basiert auch PackageKit. Foresight vollzieht rollende Updates d.h. das es stetig aktualisiert wird und das Releases lediglich eine Art Snapshot sind.

Die Community hat eine große Deckung mit der rPath-Community. rPath gehört weder zu den debianbasierten, noch zu den RPM-basierten Distributionen. Interessant ist, das man hier noch direkten Kontakt zu den Gründern der Distribution haben kann, was bei größeren Distributionen meist gar nicht mehr möglich ist. Besonders interessant ist auch, das man bei Conary beliebig zwischen instabilen und stabilen Versionen hin- und herwechseln kann. es kann zwar mal irgendwo haken, aber einen "Point_of_no_return" wie bei RPM oder dpkg gibt es nicht. Und dadurch ist es auch fast nie nötig das System neu zu installieren.

Tips & Tricks

Rollbacks

Ein besonderes Feature dec Conary-Paketmanagers ist die Möglichkeit das Paketsystem auf einen bestimmten Punkt zurücksetzen. Um sich alle möglichen Rollbackpunkte anzeigen zu lassen gibt man ein:

sudo conary rblist

Und um einen bestimmtes Rollbackpunkt wiederherzustellen:

sudo conary rollback r.656

Pakete selber bauen

Es ist relativ leicht Pakete selber zu bauen. Man muss zunächst ein Buildenvironment aufsetzen mit einigen Daten und Verzeichnissen (siehe HOWTO set up a build environment. Danach geht man bei neuen Paketen ungefähr so vor:

cvc newpkg paketname --template=foresight
cd paketname/

In dem Verzeichnis gibt es jetzt eine Standarddatei CONARY und eine Rezept-Datei: paketname.recipe die nur einige Werte ausgefüllt hat. Diese muss man bearbeiten. Z.B. so wie das Rezept für Paket ffmpeg:

#
# Copyright (c) 2007 Foresight Linux
# This file is distributed under the terms of the MIT License.
# A copy is available at http://www.rpath.com/permanent/mit-license.html
#

class Ffmpeg(CPackageRecipe):
    name = 'ffmpeg'
    version = '0.5b'
 
    buildRequires = ['SDL:devel','a52dec:devel','faac:devel','faad2:devel','freetype:devel', 
                     'imlib2:devel', 'libtheora:devel','libogg:devel', 'libvorbis:devel',
                     'xvidcore:devel','zlib:devel']
    def setup(r):
        r.addSvnSnapshot('svn://svn.mplayerhq.hu/ffmpeg/trunk')
        r.ManualConfigure(' --prefix=%(prefix)s --enable-gpl'
            ' --enable-shared --enable-pp --enable-pthreads'
            ' --enable-libvorbis --enable-libogg --enable-liba52' 
            ' --enable-liba52bin --enable-libfaac --enable-libfaad' 
            ' --enable-libxvid --enable-swscaler --enable-libtheora ')
        r.Replace('PREFIX=/usr','PREFIX=%(destdir)s%(prefix)s','config.mak')
        r.Make()
        r.CheckDestDir('%(destdir)s')
        r.MakeInstall(rootVar='%(destdir)s')

Dieses Paket "kocht" man jetzt:

cvc cook paketname.recipe

Danach erhält man ein Changeset wie "paketname-version.ccs". Dieses kann man nun betrachten mit:

conary scs paketname-version.ccs --ls

oder lokal installieren mit

sudo conary update paketname-version.ccs

Oder committen mit:

cvc commit

Und im repository kochen mit

cvc cook paketname

ForesightLinux (zuletzt geändert am 2007-12-23 22:45:42 durch localhost)