Правильна процедура встановлення в / 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.