# Verschieben der Netzwerkfreigabe für digikam

## uhai

Hallo zusammen,

ich habe meine NAS mit 2 größeren Laufwerken als neues Volume aufgerüstet, da meine Bildersammlung den vorhandenen Platz aufgebraucht hat. Die Verzeichnisse mit den Bildern habe ich 1:1 vom Volume1 auf Volume2 der NAS kopiert und auf meinem Desktop am gleichen Mountpoint eingehängt. Überraschenderweise findet digikam die Bilder nicht mehr, zumindest habe ich nur noch die thumbnails, keine Vollansichten mehr. Ein aktualisieren der Netzwerkfreigaben in Einstellungen/Sammlungen von digikam hat auch nichts gebracht.

Woran kann das liegen? Stellt digikam die Verbindung über UUIDs oder so etwas her? Falls ja wo legt es die ab damit ich die ändern kann??

Notfalls habe ich die Dateien noch am alten platz auf der NAS, dort müssen die aber langsam weg.

Freigaben auf der NAS:

```
exportfs -v 

/share/CACHEDEV1_DATA/Public

                192.168.*.*(rw,async,wdelay,insecure,no_root_squash,no_subtree_check,fsid=187f07688af237f648d8f7126f908066)

/share/NFSv=4/Public

                192.168.*.*(rw,async,wdelay,nohide,insecure,no_root_squash,no_subtree_check,fsid=187f07688af237f648d8f7126f908066)

/share/CACHEDEV1_DATA/homes

                192.168.*.*(rw,async,wdelay,insecure,root_squash,no_subtree_check,fsid=ed7621f8976c7eea70e11bc87c45f88d,anonuid=2147483647,anongid=2147483647)

/share/NFSv=4/homes

                192.168.*.*(rw,async,wdelay,nohide,insecure,root_squash,no_subtree_check,fsid=ed7621f8976c7eea70e11bc87c45f88d,anonuid=2147483647,anongid=2147483647)

/share/NFSv=4   <world>(ro,wdelay,insecure,no_root_squash,no_subtree_check,fsid=0)

/share/CACHEDEV2_DATA/Public1

                <world>(ro,async,wdelay,insecure,no_root_squash,no_subtree_check,fsid=b790a94ab07004ccd897f97084ae04ac)

/share/NFSv=4/Public1

                <world>(ro,async,wdelay,nohide,insecure,no_root_squash,no_subtree_check,fsid=b790a94ab07004ccd897f97084ae04ac)

/share/CACHEDEV2_DATA/homes1

                <world>(ro,async,wdelay,insecure,no_root_squash,no_subtree_check,fsid=385c2383c301ed22888527b2bb522bad)

/share/NFSv=4/homes1

                <world>(ro,async,wdelay,nohide,insecure,no_root_squash,no_subtree_check,fsid=385c2383c301ed22888527b2bb522bad)

```

Das sind die Beteiligten:

QNAP TS 431

digikam 6.3.0

KDE Frameworks 5.64.0

Qt 5.12.5 (kompiliert gegen 5.12.5)

Das xcb Fenstersystem

Anbindung über nfs

```

 net-fs/nfs-utils

     Verfügbare Versionen:   2.3.4^t 2.4.1-r4^t ~2.4.2-r1^t {caps ipv6 junction kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid KERNEL="linux"}                                                                                                                            

     Installierte Versionen: 2.4.1-r4^t(17:34:25 08.12.2019)(ipv6 libmount nfsdcld nfsidmap nfsv4 nfsv41 tcpd uuid -caps -junction -kerberos -ldap -selinux KERNEL="linux")                                                                                                                           

     Startseite:             http://linux-nfs.org/

     Beschreibung:           NFS client and server daemons
```

systemd-243-r2

uhai

----------

## uhai

Trotz gleichen mountpoints erkennt Digikam die kopierten Verzeichnisse nicht wieder:

```
digikam.dbengine: Loading SQL code from config file "/usr/share/digikam/database/dbconfig.xml"

digikam.dbengine: Checking XML version ID => expected:  3  found:  3

digikam.coredb: Core database: running schema update

digikam.coredb: Core database: have a structure version  10

digikam.coredb: Core database: makeUpdates  10  to  10

digikam.database: Creating new Location  "/"  uuid  "networkshareid:?mountpath=/home/uhai/NAS/Bilder"

digikam.database: Creating new Location  "/"  uuid  "networkshareid:?mountpath=/home/uhai/NAS/Fotos"

digikam.database: Creating new Location  ""  uuid  "volumeid:?uuid=66f7-ea54"

digikam.database: location for  "/home/uhai/NAS/Bilder"  is available  false

digikam.database: location for  "/home/uhai/NAS/Fotos"  is available  false

digikam.database: location for  ""  is available  false

KMemoryInfo: Platform identified :  "LINUX"

KMemoryInfo: TotalRam:  33691279360

dig
```

strace meldet fehlende Berechtigungen:

```
access("/home/uhai/NAS/Fotos", R_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", F_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", R_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", F_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", R_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", F_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", R_OK)    = -1 EACCES (Keine Berechtigung)

access("/home/uhai/NAS/Fotos", F_OK)    = -1 EACCES (Keine Berechtigung)

```

Gesetzt waren diese Berechtigungen auf die alten Verzeichnisse:

```
CACHEDEV1:

59642013 drwxrwx--T   41 uhai     everyone     12288 Jun  2  2019 Bilder/

55181448 drwxrwx---   58 uhai     everyone     12288 May 12  2019 Fotos/

```

Was bedeutet das große "T"?

uhai

----------

## Tyrus

 *uhai wrote:*   

> 
> 
> Was bedeutet das große "T"?
> 
> 

 

Das ist das Sticky Bit. Eine kurze Erklärung zur Notation und was es macht, dazu verweise ich der Einfachheit halber auf die Wiki.

Auf dem Verzeichnis Fotos haben nur der Eigentümer und die Gruppe volle Rechte. Ich weiss nicht ob du dafür mehr Rechte für Others geben musst, aber die Fehlermeldungen aus dem strace deuten das an. 

Mach mal ein: 

```

chmod 1777 /home/uhai/NAS/Fotos 

chmod 1777 /home/uhai/NAS/Bilder

```

Damit würdest du dann für others rwx aktivieren zusätzlich und ausserdem das Sticky Bit setzen. Bei Bilder wars schon gesetzt aber Fotos hatte es nicht.

----------

## uhai

Jetzt habe ich auf der NAS die Verzeichnisse mit chmod erst mal meinem user zugeordnet. Seltsamerweise sind die gemounteten Verzeichnisse auf dem Desktop jetzt nobody:nobody zugeordnet????

uhai

----------

## firefly

User namen sind nicht von bedeutung sondern die ID, welche sich hinter dem namen verbirgt.

Denn nur diese ID wird im Dateisystem gespeichert.

Hier ein beispiel für einen test user.

```

$ id test

uid=1001(test) gid=100(users) groups=100(users),18(audio)
```

Der test user hat die id 1001 und dieser wert ist im Dateisystem hinterlegt als user id wenn eine datei dem user "test" als "owner" ausgewiesen ist.

Ich vermute die User id auf dem NAS für deinen user ist anders als die auf deinem Rechener.

AFAIK kennt NFS (mit v4) ein ID mapping um client Ids auf server Ids  (wohl anhand des names) zu mappen.

Beispielbeschreibung für Synology NAS: https://superuser.com/questions/860553/user-id-mapping-with-nfs-on-synology-nas

Wenn dein NAS kein NFS v4 kann dann musst du dafür sorgen dass der User auf dem NAS die gleiche ID hat wie der user auf dem client bzw. umgekehrt je nach dem was einfacher zu ändern ist.

----------

## uhai

Hallo firefly,

das kommt mir bekannt vor, da habe ich damals irgendwas gemacht, ich erinnere mich dunkel....

Allerdings hat die ID wohl vor dem verschieben des Bilderverzeichnisses bei beiden usern (Desktop & NAS) wohl übereingestimmt.... also müssten die user doch nach wie vor auf beiden Systemen die gleiche ID verwenden - oder ändert die sich beim einsetzen neuer laufwerke in die NAS?

EDIT:

Heute morgen nachgesehen. Auf dem Desktop sieht der user so aus:

```
 id uhai

uid=1000(uhai) gid=1000(uhai) Gruppen=1000(uhai),7(lp),10(wheel),18(audio),19(cdrom),27(video),85(usb),100(users),35(games),103(plugdev),102(scanner)

```

auf der NAS habe ich das:

```
# id uhai

uid=1000(uhai) gid=100(everyone)

```

Die uid ist also nach wie vor gleich.... d.h. uhai:users (10000:100) auf dem Desktop sollte auf der NAS uhai:everyone (1000:100) entsprechen... das tut es aber nicht, auf dem Desktop wird uhai:everyone als nobody:nobody dargestellt. Warum?

nfs4 kann meine QNAP nicht... wäre evtl. cifs (Samba) einfacher als nfs?

So sehen die Rechte der bisher verwendeten Verzeichnisse auf den Bestandsplatten aus:

```
59642013 drwxrwx--T   41 uhai     everyone     12288 Jun  2  2019 Bilder/

55181448 drwxrwx---   58 uhai     everyone     12288 May 12  2019 Fotos/

```

Und das habe ich derzeit auf den kopierten Verzeichnissen auf den neuen Platten:

```
548932277 drwxrwxrwx   41 uhai     everyone     12288 Jun  2  2019 Bilder/

548405272 drwxrwx---   58 uhai     everyone     12288 May 12  2019 Fotos/

```

Welche Rechte muss digikam auf seinen Foto-Sammlungen denn haben? Ich will nicht zuviel geben... Das Sticky-Bit ist meiner Ansicht nach z.B. nicht nötig....

uhai

----------

## uhai

Reichlich seltsam... ich habe auf der NAS eine Verzeichnis-Hierarchie höher den chown-Befehl angesetzt und jetzt in digikam wieder die Vollansicht der Bilder. In der Konsole auf dem Desktop bekomme ich mit ls -ali als user für die komplette Sammlung nach wie vor nobody.nobody angezeigt. Das verstehe ich nach wie vor nicht....

EDIT:

Schreibrechte habe ich auch noch nicht als user (über digikam)

```
ls -ali NAS

insgesamt 3483900

548405261 drwxrwx---  8 nobody nobody       4096 21. Nov 17:01 .

   655363 drwxr-xr-x 68 uhai   users        4096 21. Dez 15:27 ..

548932277 drwxrwxrwx 41 nobody nobody      12288  2. Jun 2019  Bilder

548405272 drwxrwx--- 58 nobody nobody      12288 12. Mai 2019  Fotos

```

uhai

----------

## uhai

ok, ich habe nfs4 jetzt..

Und ich habe diesen thread gefunden... anscheinend ist meine Netzwerkkonfiguration unvollständig, deshalb funktioniert wohl idmap nicht richtig.

```
 resolveip 192.168.0.24

resolveip: Unable to find hostname for '192.168.0.24'
```

```
/usr/src/linux/ hostname

After8

```

uhai

----------

## uhai

```
 resolveip 127.0.0.1

Host name of 127.0.0.1 is After8.Adlerhorst.local, After8, localhost

```

Da klappt die Auflösung jetzt - die /etc/hosts habe ich entsprechend angepasst.

```
 resolveip 192.168.0.24

resolveip: Unable to find hostname for '192.168.0.24'

```

Da klappt es nicht, die IP ist aber mein Desktop.... ping geht:

```
ping 192.168.0.24

PING 192.168.0.24 (192.168.0.24) 56(84) bytes of data.

64 bytes from 192.168.0.24: icmp_seq=1 ttl=64 time=0.018 ms

64 bytes from 192.168.0.24: icmp_seq=2 ttl=64 time=0.041 ms

64 bytes from 192.168.0.24: icmp_seq=3 ttl=64 time=0.040 ms

```

Die Dateiberechtigungen werden immer noch nicht richtig von der NAS auf den Desktop übersetzt... installiert ist nfs4 inzwischen habe ich auch avahi installiert, leider hat das aber nichts gebracht....

Wo kann ich ansetzen??

uhai

----------

## uhai

Im Kernel habe ich mal geschaut, ob alles da ist für nfs4... brauche ich auf dem Gentoo-Client diese Einträge:

```
NFS_USE_KERNEL_DNS [=n]
```

```
OVERLAY_FS_NFS_EXPORT [=n]
```

```
CIFS_NFSD_EXPORT [=n]
```

Nach dem nfs-utils-Wiki bin ich den Kernel schon durchgegangen, da ist alles aktiv...

uhai

----------

