Symlinks: in kürzestmögliche relative Symlinks konvertieren

06/01/2009 - 18:00 von Michael Schuerig | Report spam
Ich suche ein Programm, dass Symlinks abkürzt. Dabei sollen absolute
Symlinks und relative Symlinks, die zu weit zu / aufsteigen, in
relative Symlinks umgewandelt werden, die nur so weit vom
Zielverzeichnis aufsteigen, wie nötig.

Von Mark Lord gibt es das Programm symlinks, das absolute Symlinks in
relative umwandeln kann. Im Prinzip sollte es genau das tun, was ich
haben möchte, aber in vielen Fàllen erzeugt es bei mir Symlinks, die
erst bis zu / aufsteigen und von dort wieder hinab, was völlig unsinnig
ist.

Michael

Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/
 

Lesen sie die antworten

#1 Sven Joachim
06/01/2009 - 18:27 | Warnen spam
Am 06.01.2009 um 18:00 schrieb Michael Schuerig:

Ich suche ein Programm, dass Symlinks abkürzt. Dabei sollen absolute
Symlinks und relative Symlinks, die zu weit zu / aufsteigen, in
relative Symlinks umgewandelt werden, die nur so weit vom
Zielverzeichnis aufsteigen, wie nötig.

Von Mark Lord gibt es das Programm symlinks, das absolute Symlinks in
relative umwandeln kann. Im Prinzip sollte es genau das tun, was ich
haben möchte, aber in vielen Fàllen erzeugt es bei mir Symlinks, die
erst bis zu / aufsteigen und von dort wieder hinab, was völlig unsinnig
ist.



Das Programm hat einen Bug, der sich aber leicht beheben làsst:

symlinks-1.2.orig/symlinks.c
+++ symlinks-1.2/symlinks.c
@@ -235,6 +240,7 @@
strcpy (np, tail);
(void) tidy_path(new);
}
+ shorten_path (new, path);
if (!testing) {
if (unlink (path)) {
perror(path);

Sven

Ähnliche fragen