Instalacja programów w postaci binarki

Z Fedora Wiki

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

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:

chmod u+x Jalbuminstall.bin && ./Jalbuminstall.bin

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:

Jalbum

tworzymy skrót w menu dla programu

su -c "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ć.

chmod +x phun
./phun

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:

su -c "yum install SDL_image"
[root@host ~]$ ldd ./phun.bin  | grep "not found"
	libSDL_image-1.2.so.0 => /usr/lib64/libSDL_image-1.2.so.0 (0x00000030e7400000)
su -c "mcedit /usr/local/bin/phun"

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

#!/bin/sh
 
# katalog instalacji
DIR=/opt/phun
# binarka do uruchomienia:
RUN=phun.bin
# katalog bibliotek programu (puste jeśli program nie dostarcza bibliotek)
LIB=lib
 
# uruchamianie
LD_LIBRARY_PATH="$DIR/$LIB:${LD_LIBRARY_PATH}" ldd $DIR/$RUN | grep "not found" > /dev/null 2>&1
 
if [ "$?" -eq "0" ]; then
  echo " Brakujące biblioteki: "
_EOF_
  LD_LIBRARY_PATH="$DIR/$LIB:${LD_LIBRARY_PATH}" ldd $DIR/$RUN | grep "not found" 
else
  LD_LIBRARY_PATH="$DIR/$LIB:${LD_LIBRARY_PATH}" $DIR/$RUN $@
fi

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

su -c "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;