Bisakah Anda menjelaskan ini kepada saya # ln -s: "target bukan direktori"?


12

Saya sedang melakukan ini:

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

Dan saya mendapatkan:

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

/ etc / apache2 / sites-available / LoginProject itu adalah file

edit:

perintah ini:

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

output:

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

edit 2:

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

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

1
Bisakah Anda menambahkan ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProjectoutput?
Belmin Fernandez

tentu, di sana saya menambahkannya
fceruti

Bagi siapa saja yang datang ke sini mencari kesalahan ini, tetapi solusi di atas tidak bekerja ... jika Anda menghubungkan direktori, pastikan itu TIDAK memiliki garis miring pada target atau nama.
Sherri

Jawaban:


5

Mencoba: sudo a2ensite LoginProject

Anda juga bisa melakukannya sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


File tersebut adalah: / etc / apache2 / sites-available / LoginProject Anyway, saya mencoba mengubah urutan, dan tidak berhasil
fceruti

Maaf itu salah, lihat sunting
xofer

Terima kasih! Proyek Login a2ensite bekerja! tidak mencoba perintah lainnya. Ini masih sangat aneh ... Saya benar-benar tidak mengerti
fceruti

Biasanya, ln menerima 2 path file dan jika lebih dari dua, target harus berupa direktori. Saya masih bertanya-tanya mengapa menghitung parameter Anda seperti ini !!!
SparX

27

Anda mungkin menyalin dan menempelkan ln -sperintah dari sumber lain dan sistem memasukkan jenis yang salah -. Coba hapus -dan ketikkan lagi secara manual.


1
Anda menyelamatkan hari saya dengan jawaban ini! Yah, setengah hari. Saya telah menghabiskan setengah lainnya mencabut sisa-sisa rambut saya mencoba untuk mencari tahu apa yang saya lakukan salah dan direktori apa yang diinginkannya dari saya. Ternyata saya memang memiliki garis yang salah di garis.
Alexander Amelkin

Hebat, jawaban terbaik yang harus diterima
The Godfather

Bagus!!! Terima kasih.
nano.galvao

6

Masalahnya adalah perbedaan antara ...

sudo ln s path1 path2

dan ini...

sudo ln -s path1 path2

Tidak melihat perbedaannya? Dash pendek vs dash panjang.

Tanda hubung panjang tidak diartikan sebagai opsi dan jadi ln melihat tiga jalur pada baris perintah dan mengharapkan yang terakhir menjadi direktori.


2
Anda benar-benar dapat melihat tanda hubung panjang di pos asli. Ini jawabannya.
Xalorous

3

Coba ln dengan argumen tunggal seperti di bawah ini dan melihat apakah itu membantu,

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

2

Cobalah mengutip direktori dan mengakhiri sudoargumen perintah seperti ini:

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

Tidak, ini tidak berhasil
fceruti

Edit. Coba lagi sekarang.
Belmin Fernandez

Saya salin disisipkan itu dan mendapat: ln: target `/ etc / apache2 / sites-enabled / LoginProject 'bukan direktori
fceruti

Manusia. Saya diinjak. Saya hanya melihat itu ketika target ada. Tetapi lsoutput Anda menunjukkan bahwa tidak. Ingin tahu apakah itu semacam SELinux atau ACL. Meh, Anda berhasil dengan jawaban @ fuscata.
Kerja

Terima kasih untuk manusimu, @fuscata punya solusi, mungkin bukan jawaban mengapa itu terjadi, tapi tetap saja ... terima kasih lagi
fceruti
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.