Motion - RaspberryPi?
Weiß jemand wieso Motion bei mir nicht Richtig installiert wird?
Code:
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Vorgeschlagene Pakete:
default-mysql-client postgresql-client
Die folgenden NEUEN Pakete werden installiert:
motion
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 481 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 2.171 kB Plattenplatz zusätzlich benutzt.
Vorkonfiguration der Pakete ...
Vormals nicht ausgewähltes Paket motion wird gewählt.
(Lese Datenbank ... 104083 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../motion_4.3.2-1_armhf.deb ...
Entpacken von motion (4.3.2-1) ...
motion (4.3.2-1) wird eingerichtet ...
Broadcast message from systemd-journald@Nicolaus (Sat 2022-02-12 23:56:07 CET):
motion[2321]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Trigger für man-db (2.9.4-2) werden verarbeitet ...
Message from syslogd@Nicolaus at Feb 12 23:56:07 ...
motion[2321]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Code ende:
Vielen Dank!
1 Antwort
Weiß jemand wieso Motion bei mir nicht Richtig installiert wird?
Ja. Es wird richtig installiert. Man lese einfach sinnentnehmend die Meldungen:
motion[2321]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Motion hat Probleme, das Logfile anzulegen, weil die Berechtigungen nicht passen.
Muss da denn eine Datei liegen? Ich finde den Verweis auf eine Datei in /etc/default nur in sehr alten Tutorials. Wenn ich das richtig sehe, konfigurierst Du daemon on|off in /etc/motion/motion.conf.
Aber vorher musst Du das Rechteproblem beheben.
Aber wenn ich dann z.b. sudo service motion restart eingebe bekomme ich wieder diesen Error:
Message from syslogd@Nicolaus at Feb 13 00:18:02 ...
motion[3896]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Broadcast message from systemd-journald@Nicolaus (Sun 2022-02-13 00:18:02 CET):
motion[3896]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Dann lies doch noch einmal die Fehlermeldung bei der Installation. Dann lies die Fehlermeldung beim Neustart des Dienstes. Und dann lies meine Antwort. Fällt Dir was auf?
Das Problem liegt immer noch darin, dass motion keine Logdatei anlegen kann. Da stimmen die Rechte nicht. Das schrieb ich bereits und sollte eigentlich zu verstehen sein. Warum reagierst Du darauf nicht? Warum hängst Du Dich an der /etc/default/motion.conf auf, die es offensichtlich nicht mehr gibt? Behebe diesen Fehler, damit motion startet. Danach kannst Du Dich um andere Dinge kümmern.
sudo service motion restart
Daran sehe ich, dass Du wohl völlig veraltete Tutorials verwendest und nur wenig Erfahrung mit Linux/Debian hast. Der Befehl service ... restart ist veraltet und funktioniert nur noch aufgrund von Abwärtskompatibilitäten.
Ich vermute, dass apparmor das Anlegen des Logs verhindert. Motion läuft nicht als root, sondern mit dem Benutzer motion. Und dieser Benutzer darf halt nicht überall hinschreiben. Mache mal zwei Terminal-Fenster auf. In dem einen Fenster schauen wir auf die Logdatei, in die apparmor schreibt:
tail -f /var/log/syslog
Im zweiten Terminal-Fenster startest Du motion:
sudo systemctl start motion
Wie lauten die neuen Zeilen in /var/log/syslog?
Im zweiten Terminal kommt diese Nachricht:
Broadcast message from systemd-journald@Nicolaus (Sun 2022-02-13 14:34:32 CET):
motion[5196]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Message from syslogd@Nicolaus at Feb 13 14:34:32 ...
motion[5196]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Feb 13 14:34:32 Nicolaus motion: [0:motion] [NTC] [ALL] conf_load: Processing th read 0 - config file /etc/motion/motion.conf
Feb 13 14:34:32 Nicolaus motion[5196]: [0:motion] [NTC] [ALL] conf_load: Process ing thread 0 - config file /etc/motion/motion.conf
Feb 13 14:34:32 Nicolaus motion[5196]: [0:motion] [ERR] [ALL] myfopen: Error ope ning file /var/log/motion/motion.log with mode a: Permission denied
Feb 13 14:34:32 Nicolaus motion[5196]: [0:motion] [EMG] [ALL] motion_startup: Ex it motion, cannot create log file /var/log/motion/motion.log: Permission denied
Feb 13 14:34:32 Nicolaus motion[5196]: [0:motion] [ERR] [ALL] myfopen: Error ope ning file /var/log/motion/motion.log with mode a: Permission denied
Feb 13 14:34:32 Nicolaus motion[5196]: [0:motion] [EMG] [ALL] motion_startup: Ex it motion, cannot create log file /var/log/motion/motion.log: Permission denied
Feb 13 14:34:32 Nicolaus systemd[1]: motion.service: Succeeded.
Der Schuss verpuffte im Ofen. Keine Meldungen von apparmor, wie ich das erhofft hatte. Also habe ich mir gerade auch einmal motion installiert. Bei mir läuft das fehlerfrei durch. Motion ergibt beim Start keine Fehlermeldung, ein Log wird allerdings auch nicht angelegt. Die Datei /etc/default/motion ist da.
Ich habe in dieser Datei dann daemon=yes gesetzt. Dann wird die Logdatei angelegt. Wenn ich die Datei /etc/default/motion entferne, startet motion ebenfalls, die Logdatei wird angelegt.
Wie ist die Ausgabe von
uname -a
dpkg -l | grep motion
sudo systemctl status apparmor
?
Ja, aber bei mir wird die /etc/default/motion Datei nicht erstellt. Die Ausgabe:
Linux Nicolaus 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l GNU/Linux
ii motion 4.3.2-1 armhf V4L capture program supporting motion detection
Unit apparmor.service could not be found.
Ja, aber bei mir wird die /etc/default/motion Datei nicht erstellt.
Das schriebst Du bereits einige Male. Ich benötige hier jetzt keine alten Informationen zum x-ten Male.
Linux Nicolaus 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l GNU/Linux
Das ist aktuell.
ii motion 4.3.2-1 armhf V4L capture program supporting motion detection
Bei mir ist es
ii motion 4.1.1-1.1+b2
Woher hast Du die Version? Wie genau hast Du die Installation vorgenommen?
Unit apparmor.service could not be found.
Dann kann uns das auch nicht ins Knie schießen. Meine initiale Vermutung war also definitiv falsch. Ich benötigte von Dir also die exakten Angaben, wie Du die Installation vorgenommen hast.
Mit diesem einfachen Befehl habe ich motion installiert: sudo apt-get install motion
Hast Du bereits Bullseye? Bei mir sieht
cat /etc/issue
Raspbian GNU/Linux 10 \n \l
so aus. Steht bei Dir eine 11, wo bei mir die 10 steht?
Kommt bei mir ; Raspbian GNU/Linux 11 \n \l
Du hast bereits Bullseye, ich habe Buster. Deshalb kann ich das Problem nicht nachstellen. Möglicherweise ist das Paket in Bullseye nicht in Ordnung. Mit Bestimmtheit kann ich das aber nicht sagen. Jetzt gibt es zwei Möglichkeiten:
- Du legst die Datei /etc/default/motion selbst an.
- Du legst die Logdatei selbst an.
Die Datei /etc/default/motion hat nur zwei Zeilen:
sudo nano /etc/default/motion
# set to 'yes' to enable the motion daemon
start_motion_daemon=no
Die Logdatei:
sudo touch -p /var/log/motion/motion.log && sudo chown -R motion.adm /var/log/motion && sudo chmod 2750 /var/log/motion && sudo chmod 644 /var/log/motion/motion.log
Alternativ installierst Du statt Bullseye (Debian 11) erst mal Buster (Debian 10). Da funktioniert die Installation von motion.
Bei der Log-Datei kommt dieser Fehler:
touch: Ungültige Option -- p
„touch --help“ liefert weitere Informationen.
Jupp, ich war im falschen Film. Den Parameter -p gibt es bei mkdir, nicht bei touch. Also:
sudo mkdir /var/log/motion && sudo touch /var/log/motion/motion.log && sudo chown -R motion.adm /var/log/motion && sudo chmod 2750 /var/log/motion && sudo chmod 644 /var/log/motion/motion.log
mkdir: das Verzeichnis „/var/log/motion“ kann nicht angelegt werden: Die Datei e xistiert bereits
Dann lege nur noch die Logdatei an und setze die Rechte:
sudo touch /var/log/motion/motion.log && sudo chown -R motion.adm /var/log/motion && sudo chmod 2750 /var/log/motion && sudo chmod 644 /var/log/motion/motion.log
Es kommt jetzt dieser Fehler:
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/ motion.conf
[0:motion] [ERR] [ALL] myfopen: Error opening file /etc/motion/motion.conf with mode a: Permission denied
[0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /etc/ motion/motion.conf: Permission denied
Message from syslogd@Nicolaus at Feb 14 17:19:28 ...
motion[1857]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /etc/motion/motion.conf: Permission denied
Broadcast message from systemd-journald@Nicolaus (Mon 2022-02-14 17:19:28 CET):
motion[1857]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /etc/motion/motion.conf: Permission denied
Ich habe das Gefühl, als wäre Dein System komplett verkonfiguriert oder aber das Paket motion bei Bullseye kaputt. Ich steige hier aus. Erstens habe ich hier kein System, um das nachzustellen. Ich habe auch keine Kapazitäten, das hier bereitzustellen. Zweitens fehlen Dir wesentliche Grundlagen bei der Administration des Servers. Du scheinst überhaupt keine Idee zu haben, was diese Meldungen bedeuten und was die Befehle, die ich Dir genannt habe, bewirken. Das ist eine denkbar schlechte Voraussetzung für den Betrieb eines Servers.
Du hast, wenn die von mir genannten Befehle richtig ausgeführt wurden, ein Logfile /var/log/motion/motion.log angelegt und dem Verzeichnis und der Datei die richtigen Rechte gegeben. Trotzdem moniert motion den Zugriff auf die Konfigurationsdatei. Das ist nicht normal und ich kann das nicht per Ferndiagnose beheben.
Noch einmal mein Tipp: Installiere Buster und versuche es da mit motion. Hier lief das einwandfrei.
Ja, aber wenn ich in cd /etc/default/ gehe finde ich keine motion Datei. Ich habe es bereits öfters neu installiert die Datei wird nicht erstellt.