Символічне посилання: такого файлу чи каталогу немає


18

Я створив символічне посилання з файлу "/ opt / bleir / bla" до "bla". Отже, "bla" зараз в "/ usr / bin / bla". Але якщо я хочу викликати "bla" на терміналі, виникає помилка такого файлу чи каталогу. Я подивився на "/ usr / bin / bla" і файл правильно посилається на "/ opt / bleir / bla".

Що може бути помилкою?

PS ось мій термінальний "запис": sudo ln -s /opt/bladir/bla bla

Спасибі!

€: Проблема вирішена. Відповідно до списку особливостей, 12.04 повинен мати підтримку Multiarch ... "повинен". Я отримав ia32-libs від синаптичних, і тепер програма просто чудово. Як виглядає, мої символічні посилання там, де правильно.

Дякую за всі відповіді!

Відповіді:


13

EDIT: рішення нижче не працює. Очевидно, що символічне посилання розірвано, тому що file -Lне може відкрити символічне посилання / usr / bin / bla. У цьому випадку виконайте наступне:

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

використання повних контурів (-f - примусово перезаписати попереднє символічне посилання, якщо воно є).

Гм. Я думаю, що програма "bla" може шукати речі, які встановлені в / opt / bleir і не можуть їх знайти. Наприклад, це може бути обгортка сценарію оболонки навколо виконуваного файлу Java, з контуром відносно поточного каталогу: але ваш поточний каталог - / usr / bin /, а не / opt / bleir /.

Якщо працює наступне

file -L /usr/bin/bla

... тоді точно не проблема з вашим символічним посиланням.

Перевірте, чи "bla" - це сценарій оболонки, який ви можете змінити, загляньте всередину - можливо, ви знайдете проблему. Можливо, кращим рішенням було б додати / opt / сечовий міхур до вашого PATH.


Дана команда говорить: ПОМИЛКА: не можна відкрити `/ usr / bin / bla '. Я не можу заглянути всередину "бла", це програма, а не лише сценарій оболонки.
Sehe

Гаразд, повторіть символічне посилання повним шляхом, будь ласка.
січня

Я прийшов до цієї ідеї раніше сам. Навіть якщо rm старі посилання та створення нових, помилка все ще з'являється. -sf також не працював.
Sehe

ДОБРЕ. Будь ласка, запускайте ls -l /usr/bin/blaта ls -l /opt/bladir/blaповідомляйте точний вихід цих команд.
січня

@January, який спосіб дії ви б рекомендували, якщо file -L це не працює?
dbliss

0

Часто цей тип повідомлення про помилку відображається, якщо у вас не включений біт виконання. Перевірте, чи надано основний файл, а також посилання дозвіл на виконання.

Я підозрюю, що ваш файл /optможе бути змонтований на окремому розділі, і він не змонтований за допомогою execпараметра кріплення


Біт виплат встановлений і / opt / не знаходиться на окремому розділі: /
1212
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.