Moin,
ich habe mit Python ein Programm geschrieben, welches meine eingegebenen Daten in eine sqlite Datenbank speichert. Den Code schreiben tue ich mit VSCode und gepackt habe ich das Ganze mit Pyinstaller und das funktioniert in meinem Benutzerverzeichnis auch wunderbar.
Jetzt habe ich eine Anleitung gefunden, wie ich daraus ein .deb Datei machen kann um das Programm richtig installieren zu können. Das Programm startet nach der Installation auch und zeigt mir alle Daten aus der Datenbank an. Will ich allerdings Daten speichern bzw aktualisieren, stürzt das Programm mit dieser Fehlermeldung ab:
In meinem Benutzerverzeichnis haben alle Dateien und Ordner die Rechte -rwxrwxrwx bzw drwxrwxrwx und das funktioniert. Bei der Installation habe ich die Rechte aus der Anleitung übernommen, da ich davon keine Ahnung habe.
Das Script für die Installation sieht so aus:
#!/bin/sh
# Create folders.
[ -e package ] && rm -r package
mkdir -p package/opt
mkdir -p package/usr/share/applications
mkdir -p package/usr/share/icons/hicolor/scalable/apps
# Copy files (change icon names, add lines for non-scaled icons)
cp -r dist/zugangsdaten-manager package/opt/zugangsdaten-manager
cp icons/zugangsdaten-manager.svg package/usr/share/icons/hicolor/scalable/apps/zugangsdaten-manager.svg
cp zugangsdaten-manager.desktop package/usr/share/applications
# Change permissions
find package/opt/zugangsdaten-manager -type f -exec chmod 644 -- {} +
find package/opt/zugangsdaten-manager -type d -exec chmod 755 -- {} +
find package/usr/share -type f -exec chmod 644 -- {} +
chmod +x package/opt/zugangsdaten-manager/zugangsdaten-manager
Alles anzeigen
Ich habe die Suchmaschine meines Vertrauens gefüttert und bin bei Stackoverflow gelandet und nach deren Anleitung die Rechte im Installationsordner neu gesetzt, allerdings ohne Erfolg.
Das Installationsverzeichnis sieht nun so aus: (data.db ist die Datenbank)
marko@marko-desktop:/opt/zugangsdaten-manager$ ls -l
insgesamt 151244
-rw-r--r-- 1 root root 1032366 Dez 3 15:12 base_library.zip
-rwxrwxr-x 1 root root 16384 Dez 28 08:30 data.db
drwxr-xr-x 2 root root 4096 Dez 3 15:13 icons
-rwxr-xr-x 1 root root 165968 Dez 3 15:12 libatk-1.0.so.0
-rwxr-xr-x 1 root root 219008 Dez 3 15:12 libatk-bridge-2.0.so.0
-rwxr-xr-x 1 root root 219464 Dez 3 15:12 libatspi.so.0
-rwxr-xr-x 1 root root 351352 Dez 3 15:12 libblkid.so.1
-rwxr-xr-x 1 root root 96728 Dez 3 15:12 libbsd.so.0
......
-rwxr-xr-x 1 root root 39448 Dez 3 15:12 libXrender.so.1
-rwxr-xr-x 1 root root 108936 Dez 3 15:12 libz.so.1
drwxr-xr-x 4 root root 4096 Dez 3 15:13 PyQt5
-rwxr-xr-x 1 root root 161176 Dez 3 15:12 sip.cpython-38-x86_64-linux-gnu.so
drwxr-xr-x 2 root root 4096 Dez 3 15:13 ui
-rwxr-xr-x 1 root root 910904 Dez 3 15:12 zugangsdaten-manager
marko@marko-desktop:/opt/zugangsdaten-manager$
Alles anzeigen
Hat jemand einen Tip, was ich falsch gemacht habe oder wie ich das lösen kann?
Zum erstellen der .deb habe ich folgende Anleitung benutzt (hoffe ich darf das hier verlinken):
Packaging PyQt5 applications for Linux with PyInstaller & fpm
Ich bin recht neu in Linux und Python also habt bitte Nachsicht wenn ich nicht alles gleich verstehe.
OS: Linux Mint 20.3 x86_64
Kernel: 5.4.0-135-generic
Desktop: Cinnamon