# Datenbank: Verhalten bei Symlinks, Hardlinks usw

**URL:** <https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689>\
**Category:** Allgemein\
**Created:** [January 14, 2018, 10:31am UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689 "2018-01-14T10:31:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [January 14, 2018, 10:31am UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/1 "2018-01-14T10:31:54Z")

</div>

Wie verhält sich eigentlich die neue Datenbankfunktion (Versionen ab 2.85b) bei Symlinks, Hardlinks usw.?  
Können da Komplikationen auftreten?  
Grundsätzlich folgt MP3Tag ja zur Quelle des Links.  
Was passiert aber in der Datenbank, wenn man den Symlink aufruft?  
Wird der zusätzlich eingetragen?

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [February 13, 2018, 8:56am UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/2 "2018-02-13T08:56:30Z")

</div>

> [@poster](#):
>
> Was passiert aber in der Datenbank, wenn man den Symlink aufruft?
> 
> Wird der zusätzlich eingetragen?

Ja, symbolische Links werden zusätzlich eingetragen. Es passiert völlig transparent für Mp3tag, das heißt es wird keine Unterscheidung gemacht.

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [February 13, 2018, 9:34am UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/3 "2018-02-13T09:34:24Z")

</div>

Ich muss doch nochmals nachfragen:  
Wenn ich das jetzt richtig verstehe, folgt MP3Tag doch eigentlich dem Link.  
Wenn jetzt der Link-Ordner zusätzlich eingetragen wird, existieren doch 2 Datenbankeinträge.  
Erfolgt somit ein Update der Datenbank bei Veränderungen an den Files bei beiden parallel, ist also die Datenbank sich bewusst, dass es sich um dieselben Files handelt, oder wird ein Update der Datenbank für den weiteren Eintrag erst bei nächsten Laden des betreffenden Ordners, sei es der Link oder das Original, vorgenommen?

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [February 13, 2018, 9:53am UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/4 "2018-02-13T09:53:32Z")

</div>

Mp3tag erkennt nicht, dass es sich bei einem Verzeichnis um einen symbolischen Link handelt. Das heißt, wenn Du ein Verzeichnis `Original` und ein einen symbolischen Link `Link` der auf `Original` zeigt hast, werden Einträge in der Datenbank für alle Dateien in `Original` **und** `Link` angelegt.

Wenn sich jetzt eine Datei `Track 01.mp3` ändert und Du nach `Original` navigierst, wird der Eintrag für `Link\Track 01.mp3` nicht automatisch aktualisiert. Dieser wird erst beim Navigieren nach `Link` aktualisiert (falls das Änderungsdatum der Datei sich geändert hat).

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [February 13, 2018, 12:48pm UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/5 "2018-02-13T12:48:31Z")

</div>

@Florian  
Das spiegelt sich dann aber nicht in den Ordner-Informationsfeldern von MP3Tag wieder.  
%\_path% usw. melden immer die Werte der Original-Location.

Im Gegensatz zu Link-Verzeichnissen verhält sich MP3Tag bei Links zu Dateien offenbar so:  
Die Größe eines Hardlinks zu einer Datei listet MP3Tag bei der Dateigröße mit der Originalgröße.  
Bei einem Symlink zur einer Datei wird die Dateigröße 0 gelistet.

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [February 13, 2018, 1:34pm UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/6 "2018-02-13T13:34:47Z")

</div>

> [@poster](#):
>
> Das spiegelt sich dann aber nicht in den Ordner-Informationsfeldern von MP3Tag wieder.
> 
> %\_path% usw. melden immer die Werte der Original-Location.

Das klingt interessant und bei mir hier so nicht reproduzierbar: Ich habe zum Test einen symbolischen Link auf ein Verzeichnis mittels `mklink /D Link Original` erstellt.

Die Dateien aus `Link` zeigen in der Dateiansicht das Verzeichnis als `Link` an und haben eine korrekte Größenangabe.

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [February 13, 2018, 2:19pm UTC](https://community.mp3tag.de/t/datenbank-verhalten-bei-symlinks-hardlinks-usw/19689/7 "2018-02-13T14:19:14Z")

</div>

Ich habe es nochmals gecheckt. Irgendwie haben wir beide recht.

Ich habe einen Ordner, in dem ich symbolische Links zu anderen Ordnern gespeichert habe.  
Wenn ich diesen Über-Ordner in Mp3Tag lade, zeigen alle aus den Unterordnern (=symbolische Links) geladenen Dateien den korrekten Pfad des Links an.  
Wenn ich jedoch den Unterordner (=symbolischer Link) direkt mit MP3Tag ansteuere, wird der originale Pfad des Quellordners angezeigt.

In beiden Fällen wird die korrekte Größe angezeigt.  
Meine Anmerkung hinsichtlich der Größe bezog sich ja auf einen direkten symbolischen Link zu einer **Datei** und nicht zu einem Ordner. Da stelle ich fest, dass der symbolische Link als Dateigröße 0 anzeigt wogegen ein Hardlink wiederum die korrekte Größe anzeigt.
