Правильна процедура встановлення в / usr / local?


3

Вчора я скачав додаток під назвою mvPod, який прийшов в тарболле .

У мене склалося враження, що якщо у мене є які-небудь програми, не встановлені менеджером пакунків, вони належать, /usr/localа не /usr. Але якщо я поміщую виконуваний файл /usr/local/binі файли jar /usr/local/lib, я отримую помилки під час виконання програм про неможливість завантаження класів Java. Тому я звернувся до наведення /usr/binі /usr/libі він працював відмінно.

Це щось, що можна виправити лише компілюючи по-іншому, або я пропускаю етап установки?

Я запускаю Ubuntu Karmic.

Відповіді:


5

Проблема із встановленням встановлення рук, /usrа не /usr/localце

  • ви не дізнаєтесь відразу, як щось було встановлено, що згодом ускладнює виправлення проблем
  • якийсь пакет може прикути частину вашої установки або навпаки (просто частина набагато гірша за всі, повірте мені)

Причина, що /usr/localінсталяція не працювала, майже напевно пов’язана з певним пошуковим шляхом. Вони можуть бути налаштовані для кожної програми, яка виконує пошук або зберігається в змінних середовища, або часто використовують обидва методи. Для всіх типів програм ви хочете бути впевнені в тому , що PATH, LD_LIBRARY_PATHі MAN_PATHоновлюються змінні оточення. Java може включати CLASS_PATHщось подібне. Можливо, ви отримаєте більш конкретну відповідь тут, або в крайньому випадку завжди є документація.


Інша річ: деякі Unixs очікують локальних встановлень, /optа не /usr/local. На це завжди варто перевірити місцеву конвенцію.


+1 для налаштування середовища. все просто спрацює, якщо він правильно встановить свої шляхи.
Джастін Сміт

Дякую за інформацію! Така річ була моєю першою думкою (перед тим, як опублікувати це запитання), але мене трохи відключили, що гугл "LD_LIBRARY_PATH" здебільшого знаходить людей, які говорять, що це хак. Здається, було б правильніше це виправити під час, але дратує тоді, що розподілені бінарні файли були зроблені "неправильними" шляхами ...
Оуен

@Owen: динамічний завантажувач ( ldd) має конфігураційний файл ( ld.so.confяк правило, в /etcієрархії та керується ним ldconfig), щоб повідомити, де шукати на глобальній основі: Якщо у вас є root-доступ, ви можете виправити це, а не обдурювати свої особисті PATHs .
dmckee

1

Ви можете використовувати --prefixпараметр з налаштуванням, виготовленням або обом.

./configure --prefix = / usr

або

зробити префікс = / usr встановити

Це встановиться /usrзамість за замовчуванням /usr/local.

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