Article View: pl.comp.os.linux.programowanie
Article #72889Własny instalator demona - czy tylko do instalacji w katalogu domowym?
From: 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
Technical Details
Message-ID:
<GTAvE.164895$to3.66373@fx25.fr7>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder7.news.weretis.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx25.fr7.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder7.news.weretis.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx25.fr7.POSTED!not-for-mail Newsgroups: pl.comp.os.linux.programowanie X-Mozilla-News-Host: snews://newshosting.com:563 From: Szyk Cech <szykcech@spoko.pl> Subject: Własny instalator demona - czy tylko do instalacji w katalogu domowym? User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 Lines: 46 Message-ID: <GTAvE.164895$to3.66373@fx25.fr7> X-Complaints-To: abuse(at)newshosting.com NNTP-Posting-Date: Tue, 23 Apr 2019 09:27:02 UTC Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com Date: Tue, 23 Apr 2019 11:27:00 +0200 X-Received-Bytes: 3560 X-Received-Body-CRC: 2490796624 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit