Właściwa procedura instalacji w / usr / local?


3

Wczoraj pobrałem aplikację o nazwie mvPod tarball .

Miałem wrażenie, że jeśli mam jakieś programy nie zainstalowane przez menedżera pakietów, należą one do /usr/local zamiast /usr. Ale jeśli umieścisz plik wykonywalny /usr/local/bini pliki jar do /usr/local/lib, Dostaję błędy czasu wykonywania dotyczące braku możliwości załadowania klas Java. Więc uciekłem się do wprowadzania rzeczy /usr/bin i /usr/lib i działało dobrze.

Czy jest to coś, co można poprawić tylko przez inną kompilację, czy brakuje mi kroku instalacji?

Używam Ubuntu Karmic.

Odpowiedzi:


5

Wchodzi problem z instalacją dłoni /usr zamiast /usr/local czy to

  • nie będziesz od razu wiedział, jak coś zostało zainstalowane, co utrudnia później naprawianie problemów
  • jakiś pakiet może się zatrzasnąć część twojej instalacji lub odwrotnie (tylko część jest dużo gorzej niż wszyscy, zaufaj mi)

Powód a /usr/local instalacja nie działa prawie na pewno wiąże się z jakąś ścieżką wyszukiwania lub inną. Można je skonfigurować dla każdego programu wykonującego wyszukiwanie lub przechowywane w zmiennych środowiskowych lub często wykorzystują obie metody. W przypadku wszystkich typów programów będziesz chciał mieć pewność, że PATH, LD_LIBRARY_PATH, i MAN_PATH zmienne środowiskowe są aktualizowane. Java może obejmować CLASS_PATH lub coś podobnego. Być może otrzymasz bardziej szczegółową odpowiedź tutaj lub w ostateczności zawsze jest dokumentacja.


Inna sprawa: niektóre unixy oczekują lokalnych instalacji /opt zamiast /usr/local. Zawsze warto sprawdzić lokalną konwencję w tej sprawie.


+1 do konfiguracji środowiska. wszystko po prostu zadziała, jeśli właściwie ustawi swoje ścieżki.
— Justin Smith

Dzięki za informację! Takie rzeczy były moją pierwszą myślą (przed opublikowaniem tego pytania), ale byłem trochę wyłączony, że googling „LD_LIBRARY_PATH” najczęściej znajduje ludzi mówiących, że to hack. Wydaje się, że bardziej poprawne byłoby naprawienie tego w czasie, ale irytujące jest to, że rozproszone pliki binarne zostały utworzone ze „złymi” ścieżkami ...
— Owen

@Owen: dynamiczny program ładujący ( ldd ) ma plik konfiguracyjny ( ld.so.conf zwykle w /etc hierarchia i zarządzana ldconfig ), aby powiedzieć, gdzie ma wyglądać globalnie: jeśli masz uprawnienia administratora, możesz naprawić że zamiast wygłupiać się swoimi osobistymi ścieżkami.
— dmckee

1

Możesz użyć --prefix opcja z configure, make lub oba.

./configure --prefix = / usr

lub

make prefix = / usr install

To zostanie zainstalowane w /usr zamiast domyślnego /usr/local.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.