Sie können dies mit einem trivialen Perl-Skript beheben:
#!/usr/bin/perl use strict; my $progname = $0; $progname =~ s@^.*/@@; # accept path of bogued "link" file on command line my $file = shift() or die "$progname: usage: $progname <file>\n"; my $content = ''; my $target = ''; # read the bogued file to find out where the symlink should point open my $fh, '<', $file or die "$progname: unable to open $file: $!\n"; # parse the target path out of the file content $content = <$fh>; die "$progname: $file content in bogus format\n" unless $content =~ m@^link (.*)\r?\n$@; $target = $1; close $fh; # delete the bogued file unlink $file or die "$progname: unable to unlink $file: $!\n"; # replace it with the correct symlink system('ln', '-s', $target, $file);
Legen Sie das Skript in einer Datei ab, z. B. fixlink.pl, rufen Sie es als auf perl fixlink.pl /path/to/bogued/symlink
. Es liest das Ziel aus der Datei und ersetzt die Datei durch einen Symlink zu diesem Ziel.
Natürlich hilft das nicht, die Ursachen des Problems zu lösen, aber es sollte zumindest das Leben einfacher machen, bis Sie die Ursache herausfinden und beheben konnten.