1.0 Filessystem-Struktur
Inhaltsverzeichnis
- 1 Filessystem-Struktur
- 2 Nach einer Datei suchen:
- 3 Home für Standarduser "easyvdr":
- 4 Home für Systemuser "vdr":
- 5 Configfiles für alle Plugins:
- 6 Configfiles für den VDR:
- 7 Plugin Libs:
- 8 Systemunabhängige Dateien für VDR und Plugins
- 9 Starter- und Helper-Scripte für den VDR
- 10 Hook-Verzeichnisse:
- 11 Dateien und Verzeichnisse die zu Laufzeit erstellt werden
- 12 Medien-Dateien
- 13 ehem. Configfiles für den VDR
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:
- es gibt bereits eine
runvdr
unsere ist auch eine, aber anders -- eben speziell für easyVDR - eine
runvdr
und dieeasyvdr-runvdr
müssen evtl. nebeneinander existieren. - kleingeschrieben, weil es einfacher (easy) zum eingeben ist.
- 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"