Autor Thema: Modularer Aufbau des Linux-Installers  (Gelesen 18521 mal)

kalibari

  • Gast
Modularer Aufbau des Linux-Installers
« am: Januar 20, 2010, 02:07:39 Vormittag »
Hallo, der Treiber/Installer bietet einige Funktionen, die ich eigentlich gar nicht benötige.
Ich verwenden nur Tvtime (Analog) + Me-tv (DVB-C) und brauche keine Netzwerkunterstützung oder den Remote-Support. Eine Installer-Routine mit Optionen z.B. "Brauchen Sie eine ... Unterstützung (y/n)" wäre genial.
Gerne würde ich wenn möglich auf zusätzliche Daemons, Dateien mit SUID/SGID-Bit verzichten.

Thx Kalibari

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8607
    • Profil anzeigen
Re:Modularer Aufbau des Linux-Installers
« Antwort #1 am: Januar 20, 2010, 04:03:12 Vormittag »
Der Netzwerksupport wird nur zugeschalten sofern er verwendet wird.
In Linux laufen Treiber idR direkt im Kernelmodus (Ring 0) welcher permanent aktiv ist, wobei sie teilweise ungeschuetzten Zugriff auf das komplette System haben. Der Daemon bricht das ganze lediglich auf den Userbereich (Ring 3) herunter - dadurch kann es zu keinen gravierenden/irreparablen Laufzeitfehlern kommen. Sprich Treiber laufen idR immer als priviligierterer User als normale Anwendung.

http://de.wikipedia.org/wiki/Ring_%28CPU%29

Die einzige Moeglichkeit die Sie haetten waere die USB Schnittstellen einem User zuzuteilen und den Daemon als diesen User (/opt/bin/mediasrv --suid=[uid] -d) zu starten. Wir konfigurieren dies jedoch nicht standardmaessig da wir die Systemkonfiguration so wenig wie moeglich veraendern moechten. Der Grund dafuer ist das verschiedene Distributionen teilweise unterschiedliche Konfigurationen haben und die Fehleranfaelligkeit bei der Installation erhoeht wird.
« Letzte Änderung: Januar 20, 2010, 08:49:18 Vormittag von Sundtek »
Failure is a good thing! I'll fix it

kalibari

  • Gast
Re:Modularer Aufbau des Linux-Installers
« Antwort #2 am: Januar 23, 2010, 02:01:34 Vormittag »
OK. Thanks, noch ne Frage, warum wird der Daemon als user und root gestartet?
root  1227  6.1  0.1  99416  5704 S<l  Jan22   7:05 /opt/bin/mediasrv -d -susbfs --pluginpath=/opt/bin
user  3666  2.3  0.1 184116  3756 S<l  Jan22   2:41 /opt/bin/mediasrv -d -susbfs --pluginpath=/opt/bin

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8607
    • Profil anzeigen
Re:Modularer Aufbau des Linux-Installers
« Antwort #3 am: Januar 23, 2010, 03:01:07 Vormittag »
Der Treiber laeuft als root, aber Sie verwenden warscheinlich Pulseaudio. Bei Pulseaudio schaltet der 2. Prozess auf den User um.
Da Pulseaudio sehr unstabil ist gibt es 2 Prozesse, der 2. Prozess der Audio fuer FM Radio und Analog TV (tvtime) wiedergibt stuerzt hin und wieder aufgrund von Bugs in Pulseaudio ab (dies ist auch Distributions und Versionsabhaengig), der Treiber startet diesen Prozess dann automatisch neu. Das Umschalten ist notwendig aufgrund der Zugriffssteuerung von Pulseaudio.
« Letzte Änderung: Januar 23, 2010, 03:40:33 Vormittag von Sundtek »
Failure is a good thing! I'll fix it

kalibari

  • Gast
Re:Modularer Aufbau des Linux-Installers
« Antwort #4 am: März 04, 2010, 02:03:20 Nachmittag »
Das erklärt aber nicht warum hier das SUID/SGID-Bit gesetzt wird. /opt/bin/mediasrv läuft ja schon als root.

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8607
    • Profil anzeigen
Re:Modularer Aufbau des Linux-Installers
« Antwort #5 am: Mai 25, 2010, 09:27:17 Vormittag »
Der Treiber wurde urspruenglich ueber den Client neu gestartet, deshalb auch das SUID Bit.

Auch kann ein Normaler User den Start des Treibers ausloesen indem er folgenden Befehl ausfuehrt:
Zitat
/opt/bin/udevsrv load

Zugegebenermaszen wird dies heutzutage nicht mehr sonderlich benoetigt, die Moeglichkeit besteht aber. Wenn es einem nicht gefaellt kann man dies auch manuell abaendern (chmod 755 /opt/bin/mediasrv) es entsteht dadurch weder ein Vor- noch ein Nachteil in diesem Fall.
Failure is a good thing! I'll fix it