Liên kết tượng trưng: Không có tệp hoặc thư mục như vậy


17

Tôi đã tạo một Liên kết tượng trưng từ một tệp tại "/ opt / bladir / bla" đến "bla". Vì vậy, "bla" hiện ở "/ usr / bin / bla". Nhưng nếu tôi muốn gọi "bla" tại terminal, sẽ không có lỗi tập tin hoặc thư mục như vậy. Tôi đã tra cứu "/ usr / bin / bla" và tập tin được liên kết chính xác tại "/ opt / bladir / bla".

Điều gì có thể là lỗi?

PS ở đây là "mục" thiết bị đầu cuối của tôi: sudo ln -s /opt/bladir/bla bla

Cảm ơn!

€: Vấn đề được giải quyết. Theo Danh sách tính năng, 12.04 nên có hỗ trợ Multiarch ... 'nên'. Tôi đã nhận được ia32-libs từ synap và bây giờ chương trình đã ổn. Như nó có vẻ, liên kết tượng trưng của tôi nơi chính xác.

Cảm ơn bạn vì tất cả các câu trả lời!

Câu trả lời:


13

EDIT: giải pháp dưới đây không hoạt động. Rõ ràng là liên kết tượng trưng bị hỏng, vì file -Lkhông thể mở liên kết tượng trưng / usr / bin / bla. Trong trường hợp này, hãy làm như sau:

sudo ln -sf /opt/bladir/bla /usr/bin/bla

sử dụng đường dẫn đầy đủ (-f là để ghi đè liên kết tượng trưng trước đó, nếu có).

Hừm. Tôi nghĩ rằng chương trình "bla" có thể đang tìm kiếm những thứ được cài đặt trong / opt / bladir và không thể tìm thấy chúng. Ví dụ, nó có thể là một trình bao bọc kịch bản lệnh shell xung quanh một tệp thực thi Java, với đường dẫn liên quan đến thư mục hiện tại: nhưng thư mục hiện tại của bạn là / usr / bin /, và không / opt / bladir /.

Nếu sau đây hoạt động

file -L /usr/bin/bla

... thì đó chắc chắn không phải là vấn đề với liên kết tượng trưng của bạn.

Kiểm tra xem "bla" có phải là tập lệnh shell mà bạn có thể sửa đổi hay không, hãy xem bên trong - có thể bạn sẽ tìm thấy vấn đề. Có thể, thêm / opt / bladir vào PATH của bạn sẽ là một giải pháp tốt hơn.


Lệnh đã cho biết: ERROR: không thể mở `/ usr / bin / bla '. Tôi không thể nhìn vào bên trong "bla", đó là một chương trình, không chỉ là một kịch bản shell.
Sehe

OK, làm lại liên kết tượng trưng với các đường dẫn đầy đủ, xin vui lòng.
tháng

Tôi đến với ý tưởng đó sớm hơn một mình. Ngay cả với rm các liên kết cũ và tạo liên kết mới, lỗi vẫn xuất hiện. -sf cũng không hoạt động.
Sehe

ĐỒNG Ý. Plese chạy ls -l /usr/bin/blals -l /opt/bladir/blabáo cáo đầu ra chính xác của các lệnh này.
tháng

@ Tháng một bạn muốn giới thiệu khóa học hành động nào nếu file -L không hoạt động?
dbliss

0

Thông thường loại thông báo lỗi này được hiển thị, nếu bạn không kích hoạt bit thực thi. Kiểm tra xem tệp chính cũng như liên kết có được cấp quyền thực thi hay không.

Tôi nghi ngờ bạn /optcó thể được gắn kết từ một phân vùng riêng và nó không được gắn với exectùy chọn gắn kết


Bit thực thi được đặt và / opt / không nằm trên một phân vùng riêng: /
Sehe
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.