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.