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/
$
fceruti
quelle
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/

xofer
quelle
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.

Dr. Julie
quelle
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.

Chris Steinbach
quelle
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
SparX
quelle
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"
Belmin Fernandez
quelle
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