PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann ich "tote" Symlinks finden und beheben?



GhostW
02.01.07, 09:41
Ich will ein Skript erstellen was den "toten" Symlinks findet und sie behebt oder beseitigt.

Oder gibt es schon so was im System!

carstenj
02.01.07, 09:50
Hi,

mit find kannst du herausfinden:
find / -type l -follow

GhostW
03.01.07, 07:27
Sehr gut danke, jetzt brauch nur noch eine Skript was hilft beim bearbeiten der toten links.

maikthiel
03.01.07, 15:19
Mit find kannst du auch die gefundenen Symlinks bearbeiten lassen, zum Beispiel löschen:
find / -type l -follow -exec rm {} \;

Die geschweiften Klammern dienen dabei als Platzhalter für den Namen der gefundenen Datei.
Wenn die Aktion erst nach einer Sicherheitsabfrage ausgeführt werden soll, verwende einfach "-ok" an Stelle von "-exec", die restliche Syntax bleibt unverändert.

Alternativ könntest du dir auch "xargs" ansehen, um die Suchergebnisse weiterzuverarbeiten.

Ciao sagt Maik

tictactux
03.01.07, 16:36
Das Paket symlinks gibt es auf Debian-basierten Systemen; hier die Ausgabe von "aptitude show symlinks" auf Ubuntu Dapper:

Package: symlinks
State: installed
Automatically installed: no
Version: 1.2-4.2
Priority: optional
Section: universe/utils
Maintainer: Bernd Eckenfels <ecki@debian.org>
Uncompressed Size: 61.4k
Depends: libc6 (>= 2.3.4-1)
Description: scan/change symbolic links
Symlinks scans directories for symbolic links and lists them on stdout. Each link is prefixed with a classification of relative, absolute,
dangling, messy, lengthy or other_fs.

Symlinks can also convert absolute links (within the same filesystem) to relative links and can delete messy and dangling links.

hth
Wolfgang