Home / LinuxUser / 2002 / 01 / The Answer Girl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Installieren ohne Reue

The Answer Girl

Wie es sein sollte

Um stow erfolgreich einsetzen zu können, gilt es, einige Begrifflichkeiten zu klären. Wenn in der Dokumentation vom stow directory die Rede ist, haben wir es mit dem Verzeichnis zu tun, in dem die Verzeichnisse mit den Dateihierarchien der einzelnen, kompilierten Softwarepakete liegen. Anders ausgedrückt, geht die Vorarbeit für die stow-Nutzung dahin, beim configure-Lauf für ein Softwarepaket jeweils das Präfix Stow-Verzeichnis/Paketname anzugeben. In unserer Planung trägt das Stow-Verzeichnis also den schlichten Namen /opt.

Als nächste Information muss stow wissen, in welche Verzeichnishierarchie hinein es die Inhalte von Stow-Verzeichnis/Paketname verlinken soll. Als target directory eignet sich /usr/local hervorragend, zumal dann, wenn /usr/local/bin bereits im PATH enthalten ist.

Mit den Optionen -t und -d lassen sich Zielverzeichnis und Stow-Verzeichnis angeben, letztere Option kann auch wegfallen, wenn wir uns mit cd /opt ins Stow-Verzeichnis begeben.

Noch müssen wir /opt/stow/bin/stow selbst ordentlich nach /usr/local/bin/stow verlinken, ehe wir es als ohne Pfadangabe aufrufen können. Ein

/opt #./stow/bin/stow -v -v -v -n -t /usr/local stow
Stowing package stow…
Stowing contents of stow
Stowing directory stow/bin
Stowing contents of stow/bin
LINK /usr/local/bin/stow to ../../../../opt/stow/bin/stow
Stowing directory stow/info
LINK /usr/local/info to ../../../opt/stow/info

gibt uns die Kontrolle darüber, was mit dem Inhalt des Verzeichnisses stow passieren würde, wenn wir ihn nach /usr/local verlinken wollten: Die Option -n sorgt einstweilen dafür, dass nichts geschieht, während jedes -v ("verbose") das Programm etwas geschwätziger macht; allerdings ist bei Plauderlevel 3 Schluss.

Sofern Verzeichnisse, die unterhalb von ./stow zu finden sind, in /usr/local bislang noch nicht existieren (im Beispiel /usr/local/info), legt das Programm ./stow/bin/stow sie nicht etwa an, sondern macht es sich einfach: /usr/local/info verweist auf /opt/stow/info. Existiert das jeweilige Directory schon (im Beispiel bei /usr/local/bin der Fall), setzt stow darin einen Link auf die entsprechende Datei (/usr/local/bin/stow zeigt auf /opt/stow/bin/stow). Für die Quelldatei gibt stow relative Pfade ausgehend vom Zielverzeichnis an.

Das sieht vernünftig aus, also machen wir mit ./stow/bin/stow -v -t /usr/local stow Nägel mit Köpfen und schauen uns das Ergebnis an:

/opt # ls -Al /usr/local
insgesamt 3
drwxr-xr-x 2 root root  55 Nov 26 20:02 bin
drwxr-xr-x 2 root root 150 Nov 26 18:28 ftp
lrwxrwxrwx 1 root root  22 Nov 26 20:02 info -> ../../../opt/stow/info
drwxr-xr-x 2 root root  57 Nov 26 18:28 man

Der Ärger mit den Bugs

Doch ehe wir jetzt voller Euphorie damit beginnen, weitere Software zu verstauen, prüfen wir doch besser erst einmal nach, ob die versprochene Deinstallation mit der Option -D tatsächlich so einfach ist. Wenn /usr/local/bin im Suchpfad liegt, können wir stow jetzt auch ohne Verzeichnisangabe aufrufen:

/opt # stow -v -v -v -n -D -t /usr/local stow
Unstowing in /usr/local
Unstowing in /usr/local/bin
Unstowing in /usr/local/ftp
Unstowing in /usr/local/ftp/bin
Unstowing in /usr/local/ftp/dev
Unstowing in /usr/local/ftp/etc
Unstowing in /usr/local/ftp/lib
Unstowing in /usr/local/ftp/usr
Unstowing in /usr/local/ftp/usr/bin
Unstowing in /usr/local/ftp/msgs
Unstowing in /usr/local/man

Das sieht komisch aus – warum wird /usr/local/info nie erwähnt? Warum steht da nichts davon, dass /usr/local/bin/stow gelöscht werden soll? Und was hat stow in Unterverzeichnissen wie man und ftp verloren, in die es gar nichts verlinkt hat?

Mutige sichern jetzt die komplette /usr/local-Hierarchie und lassen stow -D nochmals ohne die -n-Option laufen. Doch auch davon wird es nicht besser:

/opt # ls -al /usr/local/bin
insgesamt 16
lrwxrwxrwx 1 root root  29 Nov 26 20:02 stow -> ../../../../opt/stow/bin/stow

Der Links sind immer noch da …

Soviel wir auch hin- und herprobieren, irgendwann heißt es, in den sauren Apfel zu beißen und sich einzugestehen: stow ist fehlerhaft und ungenügend getestet. Wirklich funktionieren will es nur, wenn das Stow-Directory mit den Paketunterverzeichnissen ein Unterverzeichnis des Zielverzeichnisses ist.

Wie gut, dass wir noch wissen, was verlinkt wurde:

/opt # rm /usr/local/info
/opt # rm /usr/local/bin/stow

Legen wir also ein neues Stow-Verzeichnis stow unterhalb von /usr/local an und packen unser stow-Paketverzeichnis dahin:

/opt # mkdir /usr/local/stow
/opt # mv stow /usr/local/stow/
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...