1.0 Filessystem-Struktur

Aus easyVDR-Wiki
Zur Navigation springen Zur Suche springen
Easyvdr10-oneriric400x300.jpg

Zur Kategorie EasyVDR 1.0

Filessystem-Struktur

Um einen einheitlichen Stand zu haben hier die Infos zu den Standardpfaden, wie sie in der Entwickler-Telko durchgesprochen wurden:

Basis ist der FHS Standard.

Namenskonventionen:

Alles was speziell easyvdr ist, hat das "easyvdr-" im Namen und wird klein geschrieben.
z.B. easyvdr-set-settings; easyvdr-runvdr; easyvdr-runfrontend

Die Gründe:

  1. es gibt bereits eine runvdr unsere ist auch eine, aber anders -- eben speziell für easyVDR
  2. eine runvdr und die easyvdr-runvdr müssen evtl. nebeneinander existieren.
  3. kleingeschrieben, weil es einfacher (easy) zum eingeben ist.
  4. ausserdem kann man in der Konsole nur "easyvdr + tab + tab + tab" eingeben und sieht alle Scripte die für easyvdr bestimmt sind.


easyVDR ist dann der "Markenname" in Texten, wie readmes und copyrights usw.
Dort ist dann easyVDR zu verwenden.

Scripte haben keine Endung ".sh" mehr.

Nach einer Datei suchen:

  • Mit which werden nur die Pfade durchsucht die in PATH definiert sind. Es werden also nur Dateien gefunden die auch beim einem Programmaufruf Verwendung finden.
which <Dateiname>
  • Eine Suche mit locate <Dateiname> ist ebenfalls möglich. Hier werden alle Dateien mit dem Namen auf dem System gefunden. Die Datenbank kann über den Befehl updatedb (als root) auf den neusten Stand gebracht werden.
  • Auch find kann verwendet werden.

Home für Standarduser "easyvdr":

/home/easyvdr

hier werden die configs von z.B XBMC abgelegt

Home für Systemuser "vdr":

/var/lib/vdr/home

hier werden durch ein "export HOME=/var/lib/vdr/home" die .configs von xine und xinelib z.B. abgelegt

Configfiles für alle Plugins:

/var/lib/vdr/plugins/ 

Configfiles für den VDR:

/var/lib/vdr 

Plugin Libs:

/usr/lib/vdr/plugins/ 

Systemunabhängige Dateien für VDR und Plugins

(Scripte, Logos, Themes.....)

/usr/share/NAME

mplayer.sh z.B. kann also unter /usr/share/vdr-plugin-mplayer/mplayer.sh abgelegt werden.
Zusätzlich müssen dann die Standardpfade in der Debian rules oder durch Patches fix eingestellt werden.
generell sollten Pfade nicht mehr durch Parameterübergabe an Plugins definirt werden müssen.
Falls dies nicht möglich ist, kann dies auch durch links erfolgen.
Beispiel hiefür wären logos unter /usr/share/vdr-logos die wiederum in mehrere Themes von text2skin gelinkt werden.

Starter- und Helper-Scripte für den VDR

z.B. config-loader, commands-loader, shutdownaction, recordingaction

/usr/lib/vdr

als Alternative für allgemeingültigere Scripte auch

/usr/bin/

Hook-Verzeichnisse:

Verzeichnisse zum sammeln von Scripten, die an einem Bestimmten Trigger laufen oder zu laufzeit zu einer Datei zusammengebaut werden z.B. shutdown des VDR, Aufnahmestart, commands.conf

/usr/share/vdr/BEZEICHNUNG-hooks

z.B.

/usr/share/vdr/dvb-stop-hooks
/usr/share/vdr/command-hooks 

Dateien und Verzeichnisse die zu Laufzeit erstellt werden

und nicht zwingend zum Start erforderlich sind (caches)
z.B. commands.conf, epg.data, epgimages, imageplugin-cache...

/var/cache/vdr/BEZEICHNUNG

Medien-Dateien

/media/BEZEICHNUNG

z.B. Aufnahme (Video0), avi, mkv, mp3....:

/media/easyvdr01/mp3
/media/easyvdr01/filme
/media/easyvdr01/video0 

Da der VDR (leider) nur ein Config-Verzeichnis ansprechen kann, wurde dafür /var/lib/vdr/ ausgewählt.
Dies sichert neben der Einhaltung der fhs auch eine weitgehende Kompatibilität zu den Packeten von ctvdr und yavdr.

ehem. Configfiles für den VDR

/etc/vdr

In /etc/vdr wird nur noch wenn dringend nötig mit links aus den anderen Verzeichnissen befüllt.
Dies sollte aber nur sehr selten und bei config-Files benutzt werden, die ein User anpassen muss/kann.
Dieser Link dient ist lediglich zum einfachen auffinden von /var/lib/vdr (/etc/vdr/ ist gewohnt) und dass der User nicht auf allen Dateien des VDR zugreift und evtl. "zuviel" umstellt"