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
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ć.
- Ściągamy Plum, rozpakowujemy i upewniamy się, że plik jest wykonywalny:
chmod +x phun- Próbujemy uruchomić wpisując w konsoli:
./phunzakł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"
- Co tak naprawdę zostało wykonane? Wystarczy zajrzeć do skryptu. Polecenie
lddsprawdza zależności binarki, agreppozwala 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/phuni utwórz skrypt uruchamiający
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;
