Nie mogę zainstalować programu z końcówką RUN


(quantumrush) #1

Mam program z końcówką RUN i za żadne skarby nie chce się zainstalować. Próbowałem z sh ./plik.run , sudo -i , ale wyskakują błędy
Metoda z ./plik.run pojawia się komunikat

cezary@SuperTux:~/Pobrane$ ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/home/cezary/.setup6598: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory

Tutaj brakuje biblioteki ale nie wiem jak ją doinstalować. Poleceniem apt-get nie działa.

Z kolei metoda sh też zgłasza błędy

cezary@SuperTux:~/Pobrane$ sh ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/home/cezary/.setup6804: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory

Tutaj też jest problem z biiblioteką

I w końcu metoda sudo su root ./tenebrae.quake_1.04-english-2.run. Też zgłasza błąd z biblioteką

cezary@SuperTux:~/Pobrane$ sudo su root ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/root/.setup6940: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory

Jakim poleceniem doinstalować brakującą bibliotekę?


(saturno) #3


Jak powyższe nie pomoże to podaj z jakiej dystrybucji Linuksa korzystasz i jaką architekturę ma twój system operacyjny.


(quantumrush) #4

Straszne walki. Po przeczytaniu wolałbym podać dystrybucję i architekturę.


(Domker) #5

Skrypt instalatora poprawnie się zachowuje, jeżeli masz aktualny system to pewnie obecna jest co najwyżej biblioteka libgtk-3.so należąca do pakietu gtk3 i libgtk-2.so należąca do pakietu gtk2.

Nawet jeżeli znajdziesz bibliotekę w wymaganej wersji (a w repozytorium na pewno jej nie ma) to zależności pojawi się znacznie więcej.
Tenebrae Quake zainstalujesz, co najwyżej na jakiejś archiwalnej dystrybucji Linux.


(quantumrush) #6

W planach mam aktualizację systemu do Ubuntu 16.04.3 i w takim razie nie będę bawił się w Tenebrae Quake.

Nie będę szukał tej biblioteki, bo to strata czasu.

Jak wyżej. Dzięki za odpowiedź.


(Domker) #7

Tak poza tym używanie instalatorów RUN to proszenie się o kłopoty :wink: to tak przy okazji.
System rozwiązywania zależności wtedy nie ma informacji o zainstalowanej w ten sposób aplikacji (&bibliotekach) i przy pierwszej lepszej aktualizacji może wysypać się, albo sama aplikacja, albo nawet system.


#8

Są sposoby na obejście tego…
Wrzucasz sobie przede wszystkim obsługę architektury 32bitowej, bo bez tego zapomnij, że takie stare gierki w ogóle ruszą.
Potem można przelinkować nawet i do pustego pliku o takiej nazwie, jakiej wymaga installer.
Można też w ów pusty podlinkowany plik wrzucić po prostu zawartość z takiej samej biblioteki tyle, że z gtk3 :wink:
Niektóre apki ruszają w ten sposób.
Można sobie zainstalować coś co ma obsługę wymaganych libsów… np.ePSXe - emulatorek taki pleja.
Czasem po czymś takim i restarcie system potrafi “zobaczyć” te libsy.
To zależy… próbuj, kombinuj. Jeśli ci się chce :wink:


(quantumrush) #9

Odpowiem tylko na ten kawałek - nie chce mi się, jak widziałem co ten gościu robi, to spasowałem, to raz. Dwa, będę aktualizował system i nie chcę zawracać sobie głowy niepotrzebnymi rzeczami, tym bardziej że są przestarzałe.


#10

No to masz odpowiedź na swe pytanie :wink:


(quantumrush) #11

Oczywiście dziękuje koledze za wysiłek i trud jaki włożył w znalezienie możliwego rozwiązania, ale jak zobaczyłem co trzeba robić to spasowałem i wolałem inne rozwiązanie. Teraz to już i tak za późno ponieważ będę aktualizował system i nie chcę zawracać sobie głowy przestarzałymi rzeczami.


(nintyfan) #12

Zainstaluj sobie przez np. systemd-nspawn starszą dystrybucję, która ma taką bibliotekę. Ja instalowałem Ubuntu, rozpakowując system plików, który był na płytce Ubuntu do jakiegoś katalogu i wykonując inne kroki (nie pamiętam, jakie),


(quantumrush) #13

Co to jest systemd-nspawn i do czego służy. Starszą dystrybucję od jakiej, od Ubuntu 16.04 jakie mam teraz.

Ja zamierzam zrobić “czystą instalację” ponieważ aktualnie mam syf - część programów działa, część nie.


(nintyfan) #14

Uwagi:

  1. Nie mam pojęcia, od której wersji Ubuntu korzysta z systemd.
  2. Nie wiem, która wersja Ubuntu/Debiana ma tę bibliotekę
  3. Możliwe, że ta biblioteka jest tak stara, że nie ma dystrybucji z systemd, która by ją miała - w takim wypadku zainteresuj się innymi rozwiązaniami do konteneryzacji, docker chyba nie ma wymagań co do składników kontenera, a systemd dla flagi -b wymaga zainstalowanego systemd w kontenerze. Możesz także rozważyć nie korzystanie z flagi -b i nie instalowanie systemd w kontenerze (czytaj dalej), lecz wtedy będziesz korzystać z opcji do uruchomienia basha w kontenerze.

Systemd-nspawn jest rozwiązaniem do konteneryzacji (możesz instalować sobie system w kontenerze, jednak na Linuksach dotyczy to tylko innych Linuksów; konteneryzacja jest o wiele szybsza od wirtualizacji).

  1. Sprawdź czy masz zainstalowany systemd-nspawn
  2. Utwórz katalog na nowy system
  3. Skorzystaj z nowego katalogu, instalując systemd, apt i bash w nowym katalogu - posłuż się danymi na tej stronie https://stackoverflow.com/questions/3954584/running-apt-get-for-another-partition-directory
  4. Musisz uruchomić nowy system z przełącznikiem -b (o ile dobrze pamiętam; od angielskiego boot)

Nie wiem tylko, którą wersję Ubuntu powinieneś zainstalować.


(quantumrush) #15

Mówiąc szczerze nie wiem co to jest konteneryzacja i nie wiem czy mi jest potrzebna.

Jak wyżej. System będę instalował zwykle bez konteneryzacji.

Znowu jak wyżej. System będę instalował na czysto. Tej gry nie będę już instalował bo to strata czasu na projekt, który jest przestarzały. Temat uważam za zamknięty. Wszystko co chciałem, dostałem.

Tajemnica wojskowa :wink: