Instalacja programów w postaci binarki

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania

Przykłady jak zainstalować programy dostarczone w postaci już skompilowanej, ale nie w postaci paczek rpm. Rozwiązania problemów jakie możemy wówczas napotkać

Spis treści

Jalbum - galeria internetowa

Note.png
Notatki
Sprawdzić, czy instalacja wymaga praw roota

Generator galerii internetowych (wymaga javy) pobierz. Proponowane konto nie jest wymagane to dodatek dla chętnych (hosting zdjęć..filmów). Na ściągniętym pliku wykonaj:

 

W celu znalezienie maszyny java w instalatorze wybieramy wyszukaj inne i wybieramy domyślną ścieżkę (również dla SunJava o ile zainstalowana według tego poradnika)

/usr/bin/java

wybieramy folder instalacji

/opt/jalbum

gdzie utworzyć dowiązania? najlepiej w

/usr/local/bin

będą wówczas w "domyślnej ścieżce systemowej" dzięki czemu uruchamiamy wpisując już z dowolnego miejsca w terminalu:

 

tworzymy skrót w menu dla programu

"mcedit /usr/local/share/applications/jalbum.desktop"

wypełniamy:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Name=Galeria JAlbum 
Comment=Generator galerii internetowych
Exec=Jalbum
Icon=/usr/share/icons/hicolor/48x48/apps/java.png
Categories=Graphics;Java;

Uruchamianie binarki na przykładzie aplikacji Phun

Oprogramowanie z zamkniętym kodem dostarczane jest najczęściej w postaci pakietów binarnych. Jak znaleźć zależności potrzebne do uruchomienia programu omówię na przykładzie aplikacji Plum (krótki opis po polsku) ponieważ dobry soft trzeba promować.

  • Ściągamy Plum, rozpakowujemy i upewniamy się, że plik jest wykonywalny:
 
  • Próbujemy uruchomić wpisując w konsoli:
 

zakładając, że nie mieliśmy szczęścia otrzymamy na wyjściu brakującą zależności w postaci:

[root@host ~]# ./phun
	libSDL_image-1.2.so.0 => /usr/lib64/libSDL_image-1.2.so.0 (0x00000030e7400000)

tę bibliotekę możemy już łatwo wyszukać przy pomocy yum provides

[root@host ~]# yum provides libSDL_image-1.2.so.0
...
SDL_image-1.2.6-7.fc11.i586 : Image loading library for SDL
Repozytorium: fedora
Dopasowano z:
Inne        : libSDL_image-1.2.so.0

czyli brakująca zależność dostarcza paczka SDL_image, stąd:

"yum install SDL_image"
  • Co tak naprawdę zostało wykonane? Wystarczy zajrzeć do skryptu. Polecenie ldd sprawdza zależności binarki, a grep pozwala filtrować zawartość. :
[root@host ~]$ ldd ./phun.bin  | grep "not found"
	libSDL_image-1.2.so.0 => /usr/lib64/libSDL_image-1.2.so.0 (0x00000030e7400000)
  • Pozostają kwestie kosmetyczne. Przenieś katalog do /opt/phun i utwórz skrypt uruchamiający
"mcedit /usr/local/bin/phun"

trochę zmieniony oryginał (korekta ścieżek i parametrów):

#!/bin/sh
 
# katalog instalacji
# binarka do uruchomienia:
# katalog bibliotek programu (puste jeśli program nie dostarcza bibliotek)
# uruchamianie
"$DIR/$LIB:${LD_LIBRARY_PATH}""not found""$?""0"" Brakujące biblioteki: ""$DIR/$LIB:${LD_LIBRARY_PATH}""not found""$DIR/$LIB:${LD_LIBRARY_PATH}"

nadaj prawa do wykonywania skryptu chmod +x /usr/local/bin/phun i powinieneś mieć już możliwość uruchomienia programu z dowolnego miejsca w konsoli, czy też pod Alt+F2

Tworzymy skrót w menu dla programu

"mcedit /usr/local/share/applications/phun.desktop"

wypełniamy:

[Desktop Entry]
Name=Phun
Comment=Algodoo Phun edition, a 2D physics sandbox
Exec=/usr/local/bin/phun
Icon=/opt/phun/data/textures/logos/phun.png
Type=Application
Categories=Education;Science;Math;
Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia