Bạn có thể giải thích điều này cho tôi #ln -s: Mục tiêu không phải là một thư mục không?


12

Tôi đang làm điều này:

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

Va tôi lây:

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

/ etc / apache2 / sites-Available / LoginProject đó là một tệp

biên tập:

lệnh này:

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

đầu ra:

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

chỉnh sửa 2:

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

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

1
Bạn có thể thêm ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProjectđầu ra?
Belmin Fernandez

chắc chắn, tôi đã thêm nó
fceruti

Đối với bất kỳ ai đến đây để tìm lỗi này, nhưng các giải pháp trên không hoạt động ... nếu bạn đang liên kết một thư mục, hãy đảm bảo rằng nó KHÔNG có dấu gạch chéo trên mục tiêu hoặc tên.
Sherri

Câu trả lời:


4

Thử: sudo a2ensite LoginProject

Bạn cũng có thể làm sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


Tệp này là: / etc / apache2 / sites-Available / LoginProject Dù sao, tôi đã thử thay đổi thứ tự và không hoạt động
fceruti

Xin lỗi đó là sai, xem chỉnh sửa
xofer

Cảm ơn! Dự án đăng nhập a2ensite đã hoạt động! đã không thử lệnh khác. Nó vẫn rất kỳ lạ ... Tôi thực sự không hiểu được
fceruti

Thông thường, ln chấp nhận 2 đường dẫn tệp và nếu nhiều hơn hai, mục tiêu phải là một thư mục. Tôi vẫn tự hỏi tại sao nó đếm các thông số của bạn như thế này !!!
SparX

26

Bạn có thể đã sao chép và dán ln -slệnh từ một nguồn khác và hệ thống chèn sai loại -. Hãy thử xóa -và gõ lại bằng tay.


Bạn đã lưu ngày của tôi với câu trả lời này! Vâng, một nửa của ngày. Tôi đã dành nửa còn lại để nhổ những tàn dư của mái tóc của mình để cố gắng tìm ra những gì tôi đã làm sai và thư mục nào nó muốn từ tôi. Hóa ra tôi thực sự đã có một dấu gạch ngang sai trong dòng.
Alexander Amelkin

Tuyệt vời, câu trả lời tốt nhất nên được chấp nhận
Bố già

Tuyệt quá!!! Cảm ơn bạn.
nano.galvao

6

Vấn đề là sự khác biệt giữa ...

sudo ln s path1 path2

và cái này...

sudo ln -s path1 path2

Đừng thấy sự khác biệt? Dấu gạch ngang ngắn so với dấu gạch ngang dài.

Dấu gạch ngang dài không được hiểu như là một tùy chọn và do đó ln thấy ba con đường trên dòng lệnh và hy vọng cuối cùng để trở thành một thư mục.


2
Bạn thực sự có thể thấy dấu gạch ngang dài trong bài viết gốc. Đây là câu trả lời.
Xalious

3

Hãy thử ln với một đối số như dưới đây và xem liệu nó có giúp ích gì không,

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

2

Hãy thử trích dẫn các thư mục và chấm dứt các sudođối số lệnh như vậy:

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

Không, điều này đã không tạo ra mánh khóe
fceruti

Thực hiện một chỉnh sửa. Hãy thử lại bây giờ.
Belmin Fernandez

Tôi sao chép đã dán và nhận: ln: target `/ etc / apache2 / sites-enable / LoginProject 'không phải là một thư mục
fceruti

Đàn ông. Tôi dậm chân. Tôi chỉ thấy rằng khi mục tiêu tồn tại. Nhưng lsđầu ra của bạn cho thấy rằng nó không. Tự hỏi nếu đó là một vấn đề của Selinux hoặc ACL. Meh, bạn đã làm cho nó hoạt động với câu trả lời của @ fuscata. Làm tốt lắm :-)
Belmin Fernandez

Cảm ơn người đàn ông thời gian của bạn, @fuscata đã có một giải pháp, có thể không phải là câu trả lời cho lý do tại sao chuyện đó xảy ra, nhưng vẫn ... cảm ơn lần nữa
fceruti
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.