Können Sie mir das erklären #ln -s: "Ziel ist kein Verzeichnis"?


12

Ich mache das:

sudo ln s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/LoginProject

Und ich bekomme:

ln: target `/etc/apache2/sites-enabled/LoginProject' is not a directory

/ etc / apache2 / sites-available / LoginProject ist eine Datei

bearbeiten:

dieser Befehl:

ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject

Ausgänge:

ls: cannot access /etc/apache2/sites-enabled/LoginProject: No such file or directory
-rw-r--r-- 1 root root 526 2011-09-27 18:40 /etc/apache2/sites-available/LoginProject

bearbeiten 2:

$ls /etc/apache2/sites-available/
default  default-ssl  LoginProject
$

$ls /etc/apache2/sites-enabled/
$

1
Können Sie die ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProjectAusgabe hinzufügen ?
Belmin Fernandez

Klar

Für alle, die hier ankommen und nach diesem Fehler suchen, aber die oben genannten Lösungen funktionieren nicht ... Wenn Sie ein Verzeichnis mit Symlinks verknüpfen, stellen Sie sicher, dass weder das Ziel noch der Name einen abschließenden Schrägstrich enthalten.
Sherri

Antworten:


4

Versuchen: sudo a2ensite LoginProject

Sie könnten auch tun sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


Die Datei ist: / etc / apache2 / sites-available / LoginProject Wie auch immer, ich habe versucht, die Reihenfolge zu ändern, und hat nicht funktioniert
fceruti

Entschuldigung, das war falsch, siehe edit
xofer

Vielen Dank! Das a2ensite LoginProject hat funktioniert! habe den anderen Befehl nicht ausprobiert. Es ist immer noch sehr seltsam ... Ich verstehe es wirklich nicht
fceruti

Normalerweise akzeptiert ln zwei Dateipfade, und wenn es mehr als zwei sind, muss das Ziel ein Verzeichnis sein. Ich frage mich immer noch, warum es Ihre Parameter so zählt !!!
SparX

26

Sie haben den ln -sBefehl wahrscheinlich von einer anderen Quelle kopiert und eingefügt, und das System hat den falschen Typ eingefügt -. Versuchen Sie, das zu löschen -und erneut manuell einzugeben.


Du hast meinen Tag mit dieser Antwort gerettet! Nun, den halben Tag. Ich habe die andere Hälfte damit verbracht, die Reste meiner Haare herauszuziehen, um herauszufinden, was ich falsch gemacht habe und welches Verzeichnis es von mir will. Es stellte sich heraus, dass ich tatsächlich einen falschen Strich in der Linie hatte.
Alexander Amelkin

Tolle, beste Antwort, die akzeptiert werden sollte
Der Pate

Groß!!! Vielen Dank.
nano.galvao

6

Das Problem ist der Unterschied zwischen diesem ...

sudo ln s path1 path2

und das...

sudo ln -s path1 path2

Siehst du den Unterschied nicht? Kurzer Strich gegen langer Strich.

Der lange Bindestrich wird nicht als Option interpretiert. Daher werden in der Befehlszeile drei Pfade angezeigt, und es wird erwartet, dass der letzte ein Verzeichnis ist.


2
Sie können den langen Strich tatsächlich im ursprünglichen Beitrag sehen. Das ist die Antwort.
Xalorous

3

Versuchen ln mit Argumente wie unten und sehen , ob es hilft,

cd /etc/apache2/sites-enabled/ ; sudo ln -s /etc/apache2/sites-available/LoginProject

2

Versuchen Sie, die Verzeichnisse in Anführungszeichen zu setzen und die sudoBefehlsargumente wie folgt zu beenden :

sudo -- \ln s "/etc/apache2/sites-available/LoginProject" "/etc/apache2/sites-enabled/LoginProject"

Nein, das hat den Trick nicht geschafft
fceruti

Eine Bearbeitung vorgenommen. Versuchen Sie es jetzt noch einmal.
Belmin Fernandez

Ich kopiere das eingefügt und bekam: ln: Ziel `/ etc / apache2 / sites-enabled / LoginProject 'ist kein Verzeichnis
fceruti

Mann. Ich bin getrampelt. Ich habe das nur gesehen, wenn das Ziel existiert. Ihre lsAusgabe zeigt jedoch, dass dies nicht der Fall ist. Ich frage mich, ob es sich um ein SELinux- oder ACL-Problem handelt. Meh, du hast es geschafft, mit @ fuscatas Antwort zu arbeiten. Gute Arbeit :-)
Belmin Fernandez

Vielen Dank für Ihre Zeit Mann, @fuscata hat eine Lösung, vielleicht keine Antwort darauf, warum das passiert ist, aber trotzdem ... nochmals
vielen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.