🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72889

Własny instalator demona - czy tylko do instalacji w katalogu domowym?

#72889
From: Szyk Cech
Date: Tue, 23 Apr 2019 09:27
46 lines
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-mail

Show 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