Thread View: pl.comp.os.linux.programowanie
5 messages
5 total messages
Started by Szyk Cech
Tue, 23 Apr 2019 09:27
Własny instalator demona - czy tylko do instalacji w katalogu domowym?
Author: Szyk Cech
Date: Tue, 23 Apr 2019 09:27
Date: Tue, 23 Apr 2019 09:27
46 lines
3762 bytes
3762 bytes
Witam Chcę zrobić instalator demona dla Linux-a. Mój demon to program do robienia kopi zapasowych (napisany w Qt5 z biblioteką SMTPEmail oraz z moją biblioteką pomocniczą w używaniu Qt), który ma być uruchamiany z zadaną częstotliwością przez systemd. Chciałbym, by można go było instalować na wielu dystrybucjach. Dlatego zainteresowałem się paczkami Snap, Flatpack i AppImage. Jednak one odpadają z uwagi na to, że nie pozwalają na ingerencję w system (instalowane przez nie programy działają w piaskownicy). Ja natomiast muszę dodawać pliki service i timer do /etc/systemd/system co wymaga uprawnień roota. Dlatego wymyśliłem rozwiązanie podobne jak sterownik Nvidia: skrypt bash z doklejonym archiwum z programem. Ja nie chcę robić tak wypasionego instalatora jak Nvidia. Ja chcę mieć w tym skrypcie bash (do którego jest doklejone archiwum z programem) tylko jedną opcję z linii komend: --installDir lub -d. Chcę by w tym doklejanym archiwum było coś podobnego do AppImage: cała struktura programu razem z używanymi bibliotekami (to mi załatwi https://github.com/probonopd/linuxdeployqt ). Skrypt bash po prostu by to rozpakowywał do katalogu domyślnego lub do zadanego. I tu pojawia się problem: Jeśli użytkownik wpadłby na pomysł by ten program zainstalować w systemie (a nie lokalnie), to trzeba by podegrać biblioteki do katalogów systemowych. Jeśli by wybrał katalog /usr/local (czyli odpowiedni do takich celów - bo instalacja do /usr/bin i /usr/lib jest generalnie zabroniona), to pojawia się problem z tym, że podegrane biblioteki nie miałby by plików *Config.cmake ani *.pc opisujących te biblioteki. To by spowodowało, że byłyby one nie do użytku z innymi programami. Ja potencjalnie mogę mieć więcej tych programów instalowanych tym sposobem. Więc pojawia się kolejny problem: biblioteki Qt i moje były by nadpisywane przez instalator. I jak bym ich wszystkich nie aktualizował jednocześnie (bo nie widzę ku temu innych powodów), to po ich instalacji najprawdopodobniej działałby tylko jeden z nich. A zatem pytanie jest takie: Czy własny system instalowania powinien służyć do instalowania programów jedynie lokalnie w katalogu użytkownika? Czy może są jakieś inne standardowe rozwiązania tego problemu? W sumie to naszło mnie teraz to, że można by instalować programy do /opt/NazwaProgramu/ - czy to prawidłowe rozwiązanie? Wtedy zamiast opcji --installDir musiałbym mieć opcję --system lub podobną. z góry dzięki i pozdro Szyk Cech
Re: Własny instalator demona - czy tylko do instalacji w katalogu domowym?
Author: Szyk Cech
Date: Tue, 23 Apr 2019 19:01
Date: Tue, 23 Apr 2019 19:01
21 lines
1998 bytes
1998 bytes
> Chcę by w tym doklejanym archiwum było coś > podobnego do AppImage: cała struktura programu razem z używanymi > bibliotekami (to mi załatwi https://github.com/probonopd/linuxdeployqt > ). O matko!!! Czytajcie te paranoidalne bzdury: $ ./linuxdeployqt-continuous-x86_64.AppImage -h linuxdeployqt 6 (commit de6d873), build 672 built on 2019-04-10 05:52:44 UTC ERROR: The host system is too new. Please run on a system with a glibc version no newer than what comes with the oldest currently still-supported mainstream distribution (xenial), which is glibc 2.23. This is so that the resulting bundle will work on most still-supported Linux distributions. For more information, please see https://github.com/probonopd/linuxdeployqt/issues/340 Nie dość, że używam Kubuntu Lts, to jeszcze rządają bym używał najstarszej wersji!!!
Re: Własny instalator demona - czy tylko do instalacji w katalogu domowym?
Author: Szyk Cech
Date: Tue, 23 Apr 2019 19:18
Date: Tue, 23 Apr 2019 19:18
26 lines
2222 bytes
2222 bytes
W dniu 23.04.2019 o 21:01, Szyk Cech pisze: >> Chcę by w tym doklejanym archiwum było coś podobnego do AppImage: cała >> struktura programu razem z używanymi bibliotekami (to mi załatwi >> https://github.com/probonopd/linuxdeployqt ). > > O matko!!! Czytajcie te paranoidalne bzdury: > > $ ./linuxdeployqt-continuous-x86_64.AppImage -h > linuxdeployqt 6 (commit de6d873), build 672 built on 2019-04-10 05:52:44 > UTC > ERROR: The host system is too new. > Please run on a system with a glibc version no newer than what comes > with the oldest > currently still-supported mainstream distribution (xenial), which is > glibc 2.23. > This is so that the resulting bundle will work on most still-supported > Linux distributions. > For more information, please see > https://github.com/probonopd/linuxdeployqt/issues/340 > > Nie dość, że używam Kubuntu Lts, to jeszcze rządają bym używał > najstarszej wersji!!! Na całe szczęście jest taka "nieoficjalna" opcja: -unsupported-allow-new-glibc To normalizuje sytuację...
Re: Własny instalator demona - czy tylko do instalacji w katalogu domowym?
Author: Queequeg
Date: Tue, 23 Apr 2019 21:06
Date: Tue, 23 Apr 2019 21:06
12 lines
1324 bytes
1324 bytes
Szyk Cech <szykcech@spoko.pl> wrote: > Nie dość, że używam Kubuntu Lts, to jeszcze rządają bym używał > najstarszej wersji!!! Żądają. Urok open source polega na tym, że możesz ten skrypcik wyedytować, zmodyfikować, sforkować lub napisać własny. -- https://www.youtube.com/watch?v=9lSzL1DqQn0
Re: Własny instalator demona - czy tylko do instalacji w katalogu domowym?
Author: Queequeg
Date: Tue, 23 Apr 2019 21:06
Date: Tue, 23 Apr 2019 21:06
11 lines
1353 bytes
1353 bytes
Szyk Cech <szykcech@spoko.pl> wrote: > Na całe szczęście jest taka "nieoficjalna" opcja: > -unsupported-allow-new-glibc > To normalizuje sytuację... Zastanowiłbym się najpierw, jakie są konsekwencje jej użycia i dlaczego nie jest włączona domyślnie. -- https://www.youtube.com/watch?v=9lSzL1DqQn0
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads