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.
Webseite http://www.foresightlinux.com/
Chat: irc://chat.freenode.net/foresight | auf deutsch: #foresight-de
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.
19.09.07 Version 1.4 mit GNOME 2.20 veröffentlicht!
Tips & Tricks
Ein Update macht man mit sudo conary udpateall
Einzelnes Paket installieren: sudo conary update packagename
Einzelnes Paket entfernen: sudo conary erase packagename
Entwicklerpakete installieren: sudo conary update group-devel
- Die Versionierung des Paketsystems erfolgt ähnlich wie bei einer Versionsverwaltung wie subversion.
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