Calibre-Server automatisch starten

  • Hallo liebe Community, ich freue mich nun auch ein Mitglied dieses Forums zu sein!

    Ich haber mir vor paar Tagen meinen ersten Raspberry Pi (3B+) gekauft und bin wirklich begeistert, was dieses kleine Ding so alles draufhat!

    Mittlerweile läuft mein Plex Media Server im Dauerbetrieb auf dem Pi, so kann sich mein Hauptrechner zwischendurch mal ausruhen.

    Als nächstes dachte ich mir, könnte ich den Inhalteserver von Calibre auf dem Raspberry Pi im Dauerbetrieb laufen lassen.

    D.h mit dem Pi zusammen soll auch der Calibre-Server starten. Praktisch ein Autoboot.

    Ein Tutorial in diese Richtung habe ich hier gefunden.

    https://www.digitalocean.com/community/tuto…kground-service

    Ich habe bis Step 5 alles wie dort beschrieben gemacht.

    Dass die .conf-Datei eventuell Rechte braucht habe ich in einem Thread erfahren, so wollte ich es mal versuchen, weil ich nicht weitergekommen bin. So sieht mein Terminal aus und ich bekomme immer denselben Fehler mit dem Pfad.

    Code
    pi@raspberrypi:~ $ sudo nano /etc/init.d/calibre-server.conf
    pi@raspberrypi:~ $ cd /etc/init.d
    pi@raspberrypi:/etc/init.d $ sudo chmod 755 calibre-server.conf
    pi@raspberrypi:/etc/init.d $ cd
    pi@raspberrypi:~ $ sudo calibre-server start
    No saved library path. Use the --with-library option to specify the path to the library you want to use.

    Dabei macht es keinen unterschied ob die conf.-Datei im ordner "/etc/init" oder "/etc/init.d" ist. Immer der selbe Fehler, ich komme nicht mehr weiter :conf:

    Das steht in der config

    Den Pfad habe ich natürlich angepasst. Die Bibliothek liegt auf einer ext. Festplatte, wie auch mein Plex-Server.

    Die Password line unter "env USER" hatte ich erst leergelassen, nun habe ich probeweise sie entfernt, weil ich für den Nutzer "calibre" kein Passwort habe.

    Muss der Benutzer "calibre" erstellt und mit nötigen Rechten versehen werden damit er auf die Festplatte zugreifen kann?

    Und wenn ja wie mache ich das?

    Noch eine merkwürdigkeit ist, dass wenn ich den Befehl

    Code
    sudo calibre-server --with-library '/media/pi/Mediaserver/Calibre-Raspberry'

    normal im Terminal ausführe, der Server problemlos gestartet wird und funktioniert, wobei ich einen Fehler im Pfad ausschließen kann.

    Nur eben nicht mit dem Skript. Wo ist der Wurm drinnen?

    :conf::helpnew:

    Grüße!

  • Als nächstes dachte ich mir, könnte ich den Inhalteserver von Calibre auf dem Raspberry Pi im Dauerbetrieb laufen lassen.

    D.h mit dem Pi zusammen soll auch der Calibre-Server starten. Praktisch ein Autoboot.

    Ein Tutorial in diese Richtung habe ich hier gefunden.

    https://www.digitalocean.com/community/tuto…kground-service

    Ich habe bis Step 5 alles wie dort beschrieben gemacht.

    Wie hast Du calibre auf deinem PI installiert? Denn das gibt es doch auch als package, oder?

    Code
    apt-cache policy calibre
    apt-cache show calibre

    Und damit sollte doch auch eine native oder generierte service unit verwendet werden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Danke für eure sehr schnellen Antworten!

    Ich habe den Tipp mit dem Pfad in '$LIBRARY_PATH' zu setzen ausgetestet und voilá, es funktioniert!

    Der Fehler wird nicht mehr angezeigt und der Calibre-Server startet.

    Allerdings habe ich dann probeweise rebootet. Leider startet der Skript nicht von selbst, sondern ich muss es nochmal im Terminal manuell per Befehl starten.

    Code
    sudo calibre-server start

    Er läuft dann. Allerdings kann ich es nicht wieder stoppen oder per 'status' überprüfen. Die 'stop' und 'status' Befehle funktionieren nicht.

    Wie bekomme ich es hin, es beim hochfahren vom Pi, automatisch starten zu lassen?

    ---------

    Wie hast Du calibre auf deinem PI installiert? Denn das gibt es doch auch als package, oder?

    Ich habe Calibre mit dem Befehl im Terminal installiert.

    Code
    sudo apt-get update && sudo apt-get install calibre
    Code
    pi@raspberrypi:~ $ apt-cache policy calibre
    calibre:
      Installiert:           2.75.1+dfsg-1
      Installationskandidat: 2.75.1+dfsg-1
      Versionstabelle:
     *** 2.75.1+dfsg-1 500
            500 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages
            100 /var/lib/dpkg/status

    ----------

    Verzeiht mir bitte meine fatale Unkenntnis, ich bin wie gesagt seit paar Tagen erst dabei und taste mich langsam in die Materie :)

    Auch ist es meine erste Erfahrung mit Linux/Debian und dem Terminal allgemein.

    Bin bisher nur Windows-User gewesen, das stellt mich natürlich vor großen Schwierigkeiten :D

    Einmal editiert, zuletzt von noxyz (11. März 2019 um 23:20) aus folgendem Grund: Ergänzung und Formatierung

  • Ich habe Calibre mit dem Befehl

    Code
    sudo apt-get update && sudo apt-get install calibre

    installiert.

    Wie sind dann die Ausgaben von:

    Code
    systemctl list-units --all | grep -i calibre
    systemctl is-enabled calibre

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • description "Calibre-Server"

    start on runlevel [2345]

    zeigt, dass Du den Server noch mit den system V Runlevel Scipten und Configs zu starten versuchst, während Deine Calibre-Server Installation wahrscheinlich primär auf die aktuelle systemd Umgebung abstellt. Du solltest daher eine Anleitung für systemd suchen und die Calibre-Units mit systemctrl start Unit* usw. in systemd einbinden.

    Vielleicht findest Du eine systemd - Anleitung sogar auf Deinem Rechner unter /usr/share/calibre*

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Wie sind dann die Ausgaben von:

    Code
    systemctl list-units --all | grep -i calibre
    systemctl is-enabled calibre
    Code
    pi@raspberrypi:~ $ systemctl list-units --all | grep -i calibre
    pi@raspberrypi:~ $ systemctl is-enabled calibre
    Failed to get unit file state for calibre.service: No such file or directory

    RTFM , danke für den Tipp.

    Ich habe im besagten Ordner leider keine Anleitung gefunden, aber werde mir gleich mal Anleitungen für systemd anschauen. Hoffentlich werde ich daraus schlau und bekomme das hin :)

    Grüße!

  • Code
    pi@raspberrypi:~ $ systemctl lists-unit --all | grep -i calibre
    Unknown operation lists-unit.

    BTW: Ich habe:

    Code
    systemctl list-units --all | grep -i calibre

    geschrieben und nicht "lists-unit".

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • keine Anleitung gefunden, aber werde mir gleich mal Anleitungen für systemd anschauen.

    Na dann mal viel Spaß. Hier meine Ausgabe von < apropos systemd >

    apropos systemd

    $ apropos systemd

    30-systemd-environment-d-generator (8) - Load variables specified by environm...

    deb-systemd-helper (1p) - subset of systemctl for machines not running systemd

    deb-systemd-invoke (1p) - wrapper around systemctl, respecting policy-rc.d

    init (1) - systemd system and service manager

    journalctl (1) - Query the systemd journal

    libnss_systemd.so.2 (8) - Provide UNIX user and group name resolution for dyn...

    loginctl (1) - Control the systemd login manager

    networkd-dispatcher (8) - Dispatcher service for systemd-networkd connection ...

    nss-systemd (8) - Provide UNIX user and group name resolution for dynami...

    pam_systemd (8) - Register user sessions in the systemd login manager

    systemctl (1) - Control the systemd system and service manager

    systemd (1) - systemd system and service manager

    systemd-analyze (1) - Analyze and debug system manager

    systemd-ask-password (1) - Query the user for a system password

    systemd-ask-password-console.path (8) - Query the user for system passwords o...

    systemd-ask-password-console.service (8) - Query the user for system password...

    systemd-ask-password-wall.path (8) - Query the user for system passwords on t...

    systemd-ask-password-wall.service (8) - Query the user for system passwords o...

    systemd-backlight (8) - Load and save the display backlight brightness at boo...

    systemd-backlight@.service (8) - Load and save the display backlight brightne...

    systemd-binfmt (8) - Configure additional binary formats for executables at...

    systemd-binfmt.service (8) - Configure additional binary formats for executab...

    systemd-cat (1) - Connect a pipeline or program's output with the journal

    systemd-cgls (1) - Recursively show control group contents

    systemd-cgtop (1) - Show top control groups by their resource usage

    systemd-cryptsetup (8) - Full disk decryption logic

    systemd-cryptsetup-generator (8) - Unit generator for /etc/crypttab

    systemd-cryptsetup@.service (8) - Full disk decryption logic

    systemd-debug-generator (8) - Generator for enabling a runtime debug shell an...

    systemd-delta (1) - Find overridden configuration files

    systemd-detect-virt (1) - Detect execution in a virtualized environment

    systemd-environment-d-generator (8) - Load variables specified by environment.d

    systemd-escape (1) - Escape strings for usage in systemd unit names

    systemd-fsck (8) - File system checker logic

    systemd-fsck-root.service (8) - File system checker logic

    systemd-fsck@.service (8) - File system checker logic

    systemd-fsckd (8) - File system check progress reporting

    systemd-fsckd.service (8) - File system check progress reporting

    systemd-fsckd.socket (8) - File system check progress reporting

    systemd-fstab-generator (8) - Unit generator for /etc/fstab

    systemd-getty-generator (8) - Generator for enabling getty instances on the c...

    systemd-gpt-auto-generator (8) - Generator for automatically discovering and ...

    systemd-growfs (8) - Creating and growing file systems on demand

    systemd-growfs@.service (8) - Creating and growing file systems on demand

    systemd-halt.service (8) - System shutdown logic

    systemd-hibernate-resume (8) - Resume from hibernation

    systemd-hibernate-resume-generator (8) - Unit generator for resume= kernel pa...

    systemd-hibernate-resume@.service (8) - Resume from hibernation

    systemd-hibernate.service (8) - System sleep state logic

    systemd-hostnamed (8) - Host name bus mechanism

    systemd-hostnamed.service (8) - Host name bus mechanism

    systemd-hwdb (8) - hardware database management tool

    systemd-hybrid-sleep.service (8) - System sleep state logic

    systemd-importd (8) - VM and container image import and export service

    systemd-importd.service (8) - VM and container image import and export service

    systemd-inhibit (1) - Execute a program with an inhibition lock taken

    systemd-initctl (8) - /dev/initctl compatibility

    systemd-initctl.service (8) - /dev/initctl compatibility

    systemd-initctl.socket (8) - /dev/initctl compatibility

    systemd-journal-upload (8) - Send journal messages over the network

    systemd-journald (8) - Journal service

    systemd-journald-audit.socket (8) - Journal service

    systemd-journald-dev-log.socket (8) - Journal service

    systemd-journald.service (8) - Journal service

    systemd-journald.socket (8) - Journal service

    systemd-kexec.service (8) - System shutdown logic

    systemd-localed (8) - Locale bus mechanism

    systemd-localed.service (8) - Locale bus mechanism

    systemd-logind (8) - Login manager

    systemd-logind.service (8) - Login manager

    systemd-machine-id-commit.service (8) - Commit a transient machine ID to disk

    systemd-machine-id-setup (1) - Initialize the machine ID in /etc/machine-id

    systemd-makefs (8) - Creating and growing file systems on demand

    systemd-makefs@.service (8) - Creating and growing file systems on demand

    systemd-makeswap@.service (8) - Creating and growing file systems on demand

    systemd-modules-load (8) - Load kernel modules at boot

    systemd-modules-load.service (8) - Load kernel modules at boot

    systemd-mount (1) - Establish and destroy transient mount or auto-mount po...

    systemd-networkd (8) - Network manager

    systemd-networkd-wait-online (8) - Wait for network to come online

    systemd-networkd-wait-online.service (8) - Wait for network to come online

    systemd-networkd.service (8) - Network manager

    systemd-notify (1) - Notify service manager about start-up completion and o...

    systemd-path (1) - List and query system and user paths

    systemd-poweroff.service (8) - System shutdown logic

    systemd-quotacheck (8) - File system quota checker logic

    systemd-quotacheck.service (8) - File system quota checker logic

    systemd-random-seed (8) - Load and save the system random seed at boot and sh...

    systemd-random-seed.service (8) - Load and save the system random seed at boo...

    systemd-rc-local-generator (8) - Compatibility generator for starting /etc/rc...

    systemd-reboot.service (8) - System shutdown logic

    systemd-remount-fs (8) - Remount root and kernel file systems

    systemd-remount-fs.service (8) - Remount root and kernel file systems

    systemd-resolve (1) - Resolve domain names, IPV4 and IPv6 addresses, DNS res...

    systemd-resolved (8) - Network Name Resolution manager

    systemd-resolved.service (8) - Network Name Resolution manager

    systemd-rfkill (8) - Load and save the RF kill switch state at boot and change

    systemd-rfkill.service (8) - Load and save the RF kill switch state at boot a...

    systemd-rfkill.socket (8) - Load and save the RF kill switch state at boot an...

    systemd-run (1) - Run programs in transient scope units, service units, ...

    systemd-shutdown (8) - System shutdown logic

    systemd-sleep (8) - System sleep state logic

    systemd-sleep.conf (5) - Suspend and hibernation configuration file

    systemd-socket-activate (1) - Test socket activation of daemons

    systemd-socket-proxyd (8) - Bidirectionally proxy local sockets to another (p...

    systemd-suspend-then-hibernate.service (8) - System sleep state logic

    systemd-suspend.service (8) - System sleep state logic

    systemd-sysctl (8) - Configure kernel parameters at boot

    systemd-sysctl.service (8) - Configure kernel parameters at boot

    systemd-system-update-generator (8) - Generator for redirecting boot to offli...

    systemd-system.conf (5) - System and session service manager configuration files

    systemd-sysusers (8) - Allocate system users and groups

    systemd-sysusers.service (8) - Allocate system users and groups

    systemd-sysv-generator (8) - Unit generator for SysV init scripts

    systemd-timedated (8) - Time and date bus mechanism

    systemd-timedated.service (8) - Time and date bus mechanism

    systemd-timesyncd (8) - Network Time Synchronization

    systemd-timesyncd.service (8) - Network Time Synchronization

    systemd-tmpfiles (8) - Creates, deletes and cleans up volatile and temporary ...

    systemd-tmpfiles-clean.service (8) - Creates, deletes and cleans up volatile ...

    systemd-tmpfiles-clean.timer (8) - Creates, deletes and cleans up volatile an...

    systemd-tmpfiles-setup-dev.service (8) - Creates, deletes and cleans up volat...

    systemd-tmpfiles-setup.service (8) - Creates, deletes and cleans up volatile ...

    systemd-tty-ask-password-agent (1) - List or process pending systemd password...

    systemd-udevd (8) - Device event managing daemon

    systemd-udevd-control.socket (8) - Device event managing daemon

    systemd-udevd-kernel.socket (8) - Device event managing daemon

    systemd-udevd.service (8) - Device event managing daemon

    systemd-umount (1) - Establish and destroy transient mount or auto-mount po...

    systemd-update-utmp (8) - Write audit and utmp updates at bootup, runlevel ch...

    systemd-update-utmp-runlevel.service (8) - Write audit and utmp updates at bo...

    systemd-update-utmp.service (8) - Write audit and utmp updates at bootup, run...

    systemd-user-sessions (8) - Permit user logins after boot, prohibit user logi...

    systemd-user-sessions.service (8) - Permit user logins after boot, prohibit u...

    systemd-user.conf (5) - System and session service manager configuration files

    systemd-veritysetup (8) - Disk integrity protection logic

    systemd-veritysetup-generator (8) - Unit generator for integrity protected bl...

    systemd-veritysetup@.service (8) - Disk integrity protection logic

    systemd-volatile-root (8) - Make the root file system volatile

    systemd-volatile-root.service (8) - Make the root file system volatile

    systemd.automount (5) - Automount unit configuration

    systemd.device (5) - Device unit configuration

    systemd.directives (7) - Index of configuration directives

    systemd.dnssd (5) - DNS-SD configuration

    systemd.environment-generator (7) - systemd environment file generators

    systemd.exec (5) - Execution environment configuration

    systemd.generator (7) - systemd unit generators

    systemd.index (7) - List all manpages from the systemd project

    systemd.journal-fields (7) - Special journal fields

    systemd.kill (5) - Process killing procedure configuration

    systemd.link (5) - Network device configuration

    systemd.mount (5) - Mount unit configuration

    systemd.negative (5) - DNSSEC trust anchor configuration files

    systemd.netdev (5) - Virtual Network Device configuration

    systemd.network (5) - Network configuration

    systemd.offline-updates (7) - Implementation of offline updates in systemd

    systemd.path (5) - Path unit configuration

    systemd.positive (5) - DNSSEC trust anchor configuration files

    systemd.preset (5) - Service enablement presets

    systemd.resource-control (5) - Resource control unit settings

    systemd.scope (5) - Scope unit configuration

    systemd.service (5) - Service unit configuration

    systemd.slice (5) - Slice unit configuration

    systemd.socket (5) - Socket unit configuration

    systemd.special (7) - Special systemd units

    systemd.swap (5) - Swap unit configuration

    systemd.target (5) - Target unit configuration

    systemd.time (7) - Time and date specifications

    systemd.timer (5) - Timer unit configuration

    systemd.unit (5) - Unit configuration

    $

    Servus !

    RTFM = Read The Factory Manual, oder so

  • BTW: Ich habe:

    Code
    systemctl list-units --all | grep -i calibre

    geschrieben und nicht "lists-unit".

    Ja, du hast Recht sorry. Ich habe vorhin den Fehler auch schnell bemerkt und erneut richtig eingetippt und meinen Beitrag editiert.

    Bist mir aber dennoch zuvor gekommen :)

  • Servus!

    So, ich habe jetzt bisschen rumexperementiert und paar Anleitungen gelesen.

    Ich bin jetzt auch so weit gekommen, dass der Service mit dem Systemstart zusammen startet.

    Nur stehe ich nun vor einem anderen Problem.

    Erstmal meine bisherige Lösung.

    Die "calibre-server.conf" in "/etc/init" habe ich gelöscht und auf Rat von RTFM (Danke an dieser Stelle für den Tipp!) , eine systemd service Datei erstellt.

    Meine Vorgehensweise:

    pi@raspberrypi:~ $ sudo touch /etc/systemd/system/calibre-server.service

    pi@raspberrypi:~ $ sudo nano /etc/systemd/system/calibre-server.service


    So weit so gut, dann habe ich das ganze aktiviert mit:

    root@raspberrypi:~# sudo systemctl enable calibre-server.service

    und getestet

    root@raspberrypi:~# sudo systemctl start calibre-server.service

    root@raspberrypi:~# sudo systemctl stop calibre-server.service

    root@raspberrypi:~# sudo systemctl status calibre-server.service

    Hat alles funktioniert. Server lief und hielt auch an mit den Befehlen. Es hat auch den richtigen Pfad zur Bibliothek gefunden.

    ---

    Dann habe ich es natürlich mit einem 'reboot' probiert; war ja Sinn der ganzen Sache.

    Nun hier hats gescheitert. Der Server hat zwar gestartet, aber die Bibliothek war leer!

    Dann habe ich gesehen, dass der Pi mir unter "/media/pi/" einen Ordner namens "Mediaserver" erstellt hat mit dem Ordner "Calibre-Raspberry" drinnen (ist ja auch mein Bibliotheks-Pfad)

    Meine externe Festplatte die normalerweise unter "Mediaserver" erreichbar ist und wo auch die eigentliche Bibliothek ist hat sie umbenannt in "Mediaserver1".

    Tja blöd, weil der Pfad jetzt zur richtigen Bibliothek jetzt nicht mehr stimmt :D

    Für meinen Plex-Mediaserver der ebenfalls da drauf läuft sieht es auch schlecht aus, weil er auch falsche Pfade hat.

    Ich denke mal, Calibre-Server.service hat schneller gestartet als meine externe Festplatte gemountet hat. Oder woran könnte das sonst liegen?

    Wie kann ich meinem Pi beibringen, dass er bitte bitte drauf warten soll, bis die Festplatten gemountet sind UND DANN erst den Calibre-Service und auch erst den Plex-Service starten soll?

    Also die Reihenfolge die ich benötige ist:

    1. Internetverbindung

    2. Mounten der HDDs (wobei auch das als erstes sein könnte und dann erst die Internetverbindung)

    3. Plex

    4. Calibre


    Ich habe im Code ja bereits "After=network.target" drinnen.

    Kann ich vielleicht da noch eine Zeile einfügen mit "After=ERST DIE FESTPLATTE DANN DU.target" ?

    Das würde zwar dann nur für Calibre und nicht für Plex gelten, aber das wäre mir egal. Für Plex könnte ich ja eventuell die service-Datei bearbeiten und dieselbe Zeile auch dort einfügen.

    :lol::danke_ATDE:

    Edit: Ich habe den Service vorerst mittels "sudo systemctl disable calibre-server.service" wieder deaktiviert und starte ihn manuell nach dem reboot (funktioniert weiterhin), bis eine Lösung für die Reihenfolge gefunden wird :)

    Einmal editiert, zuletzt von noxyz (12. März 2019 um 05:45)

  • Code
    pi@raspberrypi:~ $ systemctl list-units --all | grep -i calibre
    pi@raspberrypi:~ $ systemctl is-enabled calibre
    Failed to get unit file state for calibre.service: No such file or directory

    Poste mal die Ausgabe von:

    Code
    dpkg --listfiles calibre

    Damit sieht man welche Dateien betr. das package calibre auf deinem PI, mit "sudo apt-get install calibre" installiert worden sind.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hallo und schönen Abend,

    Poste mal die Ausgabe von:

    Code
    dpkg --listfiles calibre

    Damit sieht man welche Dateien betr. das package calibre auf deinem PI, mit "sudo apt-get install calibre" installiert worden sind.

    Ich glaube aber, dass nach oben hin noch ein Stück fehlt. Der Terminal zeigt mir nicht alles an weil es zu lang ist, kann das sein?

    Wie bringe ich ihn zur vollen Anzeige?

    Und vor allen hypothetischen Fehlerüberlegungen, schau erstmal in die Logfiles rein.

    Servus °

    Das ist mir leider überhaupt nicht eingefallen. Daher konnte ich nur mutmaßen und habe ja auch deshalb gefragt ob ihr Ideen dazu habt.

    Google verriet mir, dass ich die Logfile vom Boot über diesen Befehl aufrufen kann: 'dmesg'

    Relevant sind wohl die Zeilen:

    Code
    [    2.094122] systemd[1]: [/etc/systemd/system/calibre-server.service:1] Assignment outside of section. Ignoring.
    [    2.094180] systemd[1]: [/etc/systemd/system/calibre-server.service:2] Assignment outside of section. Ignoring.
    
    [    3.643385] usb 1-1.3: New USB device found, idVendor=0480, idProduct=b001
    [    3.643405] usb 1-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=1
    [    3.643415] usb 1-1.3: Product: STOR.E PARTNER
    [    3.643424] usb 1-1.3: Manufacturer: TOSHIBA
    [    3.643432] usb 1-1.3: SerialNumber: 201110200764
    [    3.644556] usb-storage 1-1.3:1.0: USB Mass Storage device detected
    [    3.661637] scsi host0: usb-storage 1-1.3:1.0

    Muss den Beitrag leider in zwei Teilen (Zeichenbegrenzung)

  • Hier noch der ganze Log.

    Ich denke, dass kommt meiner Vermutung nahe oder liegt da ein anderer Fehler vor?

    Was kann ich nun tun?

    Und was hat es mit dem 'Ignoring' am Ende der Calibre-server.service Zeilen auf sich?


    Gruß


    EDIT: Habe mal versucht die service-Datei so umzuändern. (Paar Anleitungen im Netz um ein systemd nach dem Mounten einer HDD zu starten)

    Code
    Description=Calibre Server
    Requieres=media-pi-Mediaserver.mount
    After=network.target media-pi-Mediaserver.mount

    Leider hat das aber nicht funktioniert. Habe ich da einen Fehler im Code oder würde das prinzipiell nicht funktionieren?

    Es wird immer noch ein "Mediaserver"-Ordner erstellt mit einer leeren Calibre-Library (auf die ich übrigens nicht zugreifen kann mangels Rechte, nur mit root funktionierts)

    Und mein "Mediaserver" von der ext. HDD wird gemountet und umbenannt in "Mediaserver1" wodurch die Pfade nicht stimmen.

    Wenn ich den service manuell nach dem automatischen Mount der ext. HDD starte funktioniert alles tadellos.

    Einmal editiert, zuletzt von noxyz (12. März 2019 um 19:21) aus folgendem Grund: Ergänzung

  • Dir fehlt der section header "[Unit]" am Anfang der Datei, alles, was außerhalb einer section steht, wird ignoriert – dementsprechend auch die Ergänzungen aus Deinem Edit.

    -> "Requires"

    Okay, verstehe. Danke!

    Der Rechtschreibfehler war blöd von mir, hab da auch noch ewig überlegt :D

    Aber auch die Korrektur hat leider nichts bewirkt.

    Ich habe kürzlich noch gelesen, dass man die Festplatte im fstab eintragen und damit mounten lassen soll.

    Der fstab soll dann einfach vor dem systemd ausgeführt werden.

    Funktioniert das? Und wenn ja wie?

    Ich weiß einfach nicht wie ich an die Sache rangehen muss..

  • Ich glaube aber, dass nach oben hin noch ein Stück fehlt. Der Terminal zeigt mir nicht alles an weil es zu lang ist, kann das sein?

    Wie bringe ich ihn zur vollen Anzeige?

    Versuch mal mit:

    Code
    dpkg --listfiles calibre > files_calibre.txt
    dpkg --listfiles calibre-bin > files_calibre-bin.txt

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Versuch mal mit:

    Code
    dpkg --listfiles calibre > files_calibre.txt
    dpkg --listfiles calibre-bin > files_calibre-bin.txt

    Danke für den Tipp! Das ist aber zu lang für den Beitrag. Ich poste es mal via Pastebin.

    https://pastebin.com/u4ubRKTg


  • Ich bin kein systemd-Experte, aber ich meine mich zu erinnern, daß das Mittel der Wahl, um auf das Netzwerk zu warten, ein

    Code
    Requires=network-online.target

    war (könnte auch After=... sein). Evtl. gibt es auch noch ein explizites target für die Netzwerkfilesysteme (remote-fs o.ä.).

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!