Bunu bana #ln -s: “hedef bir dizin değil” diye açıklayabilir misiniz?


12

Bunu yapıyorum:

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

Ve anladım:

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

/ etc / apache2 / sites-available / LoginProject bir dosya

Düzenle:

bu komut:

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

çıktılar:

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

düzenleme 2:

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

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

1
ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProjectÇıktı ekleyebilir misiniz ?
Belmin Fernandez

emin, orada ekledim
fceruti

Bu hatayı arayan buraya gelen herkes için, ancak yukarıdaki çözümler işe yaramaz ... bir dizine symlink yapıyorsanız, hedefte veya adda bir eğik çizgi olmadığından emin olun.
Sherri

Yanıtlar:


5

Deneyin: sudo a2ensite LoginProject

Ayrıca yapabilirsin sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


Dosya: / etc / apache2 / sites-available / LoginProject Neyse, siparişi değiştirmeyi denedim ve işe yaramadı
fceruti

Maalesef yanlıştı, bkz. Düzenleme
xofer

Teşekkürler! a2ensite LoginProject çalıştı! diğer komutu denemedi. Hala çok garip ... Gerçekten anlamıyorum
fceruti

Normalde, ln 2 dosya yolunu kabul eder ve ikiden fazlaysa, hedef bir dizin olmalıdır. Hala neden bu şekilde parametrelerinizi sayar merak ediyorum !!!
SparX

27

Muhtemelen ln -skomutu başka bir kaynaktan kopyalayıp yapıştırdınız ve sistem yanlış türde ekledi -. Silmeyi -ve manuel olarak tekrar yazmayı deneyin .


1
Bu cevapla günümü kurtardın! Günün yarısı. Diğer yarısını neyi yanlış yaptığımı ve benden hangi dizini istediğini anlamaya çalışarak saçlarımın kalıntılarını çekerek geçirdim. Gerçekten de çizgide yanlış bir çizgi olduğum ortaya çıktı.
Alexander Amelkin

Kabul edilmesi gereken harika, en iyi cevap
The Godfather

Harika!!! Teşekkür ederim.
nano.galvao

6

Sorun bunun arasındaki fark ...

sudo ln s path1 path2

ve bu...

sudo ln -s path1 path2

Farkı görmüyor musunuz? Kısa çizgi - uzun çizgi.

Uzun tire bir seçenek olarak yorumlanır değildir ve bu yüzden ln komut satırında üç yolları görür ve bir dizin olması son beklemektedir.


2
Aslında orijinal yayında uzun tireyi görebilirsiniz. Cevap bu.
Xalorous

3

Deneyin ln aşağıda gibi tek argüman alan ve yardımcı olmadığını görmek,

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

2

Dizinleri alıntılamayı ve sudokomut bağımsız değişkenlerini şu şekilde sonlandırmayı deneyin :

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

Hayır, bu hile yapmadı
fceruti

Bir düzenleme yaptım. Şimdi tekrar deneyin.
Belmin Fernandez

Bunu kopyaladım ve şunu aldım: ln: target `/ etc / apache2 / sites-etkin / LoginProject 'bir dizin değil
fceruti

Adam. Ezildim. Bunu sadece hedef var olduğunda gördüm. Ancak lsçıktınız bunun olmadığını gösterir. Bir tür SELinux veya ACL sorunu olup olmadığını merak ediyorum. Meh, @ fuscata'nın cevabı ile çalıştın. İyi iş :-)
Belmin Fernandez

Zaman ayırdığınız için teşekkürler, @fuscata bir çözüm buldu, belki bunun neden olduğuna bir cevap olmayabilir, ama yine de ... tekrar teşekkürler
fceruti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.