#klooienmetcomputers

Apple danst de Samba niet zo makkelijk

Arnout van Kempen over rommelen in een digitale wereld.

Mocht je, zoals ik, de Raspberry Pi als Samba-server willen koppelen aan een iPad, iPhone of Mac, dan loop je tegen iets bijzonders aan. Het maken en wissen van folders vanaf je Apple werkt probleemloos, maar zodra je bestanden gaat verschuiven loopt het mis. Je krijgt een error code 100093. Diezelfde foutmelding krijg je overigens ook bij andere operaties tussen een Apple en een externe server, schijf of zelfs USB-stick. Het probleem ligt niet aan de Raspberry Pi of aan de Samba-server, maar aan wat gekkigheid van Apple.

Zowel iOS, iPadOS als MacOS zijn gebaseerd op UNIX. Om precies te zijn, de Kernel is Darwin, wat BSD Unix is. Dat zou toch moeiteloos moeten samenwerken met Linux, zou je denken. Maar het probleem zit in de Files-app onder iOS en iPadOS en in de Finder van MacOS. Helaas levert speurwerk op internet niet heel veel informatie op, maar als ik het allemaal goed interpreteer heeft het iets te maken met verschillen die ontstaan omdat MacOS, en dus de Darwin-kernel, POSIX-gecertificeerd is terwijl Linux slechts 'Mostly POSIX compliant' is; kortom: niet helemaal voldoet aan de 'UNIX standaard'. En dat wreekt zich als een bestand wordt gekopieerd uit de ene omgeving naar de andere. Opnieuw als ik het goed begrijp, krijgt een bestand bij de overgang van Darwin naar Linux een kleine aanpassing in de meta-data, waardoor een verify tijdens het kopiëren faalt.

Of ik het nu helemaal goed begrijp of niet, wat telt is natuurlijk vooral of het opgelost kan worden. En dat kan. Wil de Samba-server op de Raspberry Pi naadloos samenwerken met een Apple, in mijn geval een iPad, dan moet je in de configuratie-file van de server, het bestand /etc/samba/smb.conf dus, in de [global] sectie toevoegen:

# iOS specific
server min protocol=SMB2
client min protocol=SMB3
vfs objects=catia fruit streams_xattr
fruit:nfs_aces=no
ea support=yes
in protocol=SMB2
fruit:metadata=stream
fruit:model=MacSamba
fruit:veto_appledouble=no
fruit:posix_rename=yes
fruit:zero_file_id=yes
fruit:wipe_intentionally_left_blank_rfork=yes
fruit:delete_empty_adfiles=yes

Vervolgens kan je de share zelf definiëren als volgt:

[pi400smb]

path=/home/pi
browseable = yes
writeable = yes}read only = no
force create mode = 0777
force directory mode = 2777
valid users = pi @admins
ea support=yes
vfs objects=fruit streams_xattr

Hierbij is [pi400smb] de naam waarmee de share zichtbaar wordt op je iPad, path= geeft de folder op je Pi die als share gaat dienen, en achter valid users= staan de namen van de users die je bij de Samba-server hebt aangemeld.

Gebruik GitHub om te klooien met de computer!

Wie mee wil doen met #klooienmetcomputers, maar niet alle teksten van Arnout wil overtypen, of de eigen code wil delen met andere lezers, kan dat doen via GitHub:

1. Maak een account op www.github.com

2. Zoek naar Abmvk/kmc

Het account Abmvk volgen kan ook.

Arnout plaatst daar alle stukjes code voor #klooienmetcomputers, met als naam eerst een volgnummer van het stukje waar de code bij hoort en dan een term uit de titel. Zaken die bijvoorbeeld in een config-bestand thuishoren plaatst hij als .txt bestand, wat overtypen kan besparen. Ook plaatst hij stukjes code waar hij zelf mee rommelt en die niet in een stukje op accountant.nl terechtkomen. Die stukjes zijn te herkennen omdat er geen volgnummer voor staat.

Lezers zijn vrij te gebruiken wat ze willen en om zelf zaken toe te voegen of aan te passen, vragen te stellen of commentaar te leveren. Samen kom je een eind. Om dit goed te laten werken: maak een clone van Arnout’s repo, haal met pull nieuwe bestanden binnen en voeg met push zelf toe. Wie er niet uitkomt: laat het Arnout weten.

Arnout van Kempen di CCO CISA is Senior manager Risk & Compliance bij Baker Tilly. Hij schrijft op persoonlijke titel. Hij is lid van de Commissie Financiële verslaggeving & Accountancy van de AFM en lid van de signaleringsraad van de NBA. Daarnaast is hij diaken van het bisdom 's-Hertogenbosch.

Gerelateerd

reacties

Reageren op een artikel kan tot drie maanden na plaatsing. Reageren op dit artikel is daarom niet meer mogelijk.

Aanmelden nieuwsbrief

Ontvang elke werkdag (maandag t/m vrijdag) de laatste nieuwsberichten, opinies en artikelen in uw mailbox.

Bent u NBA-lid? Dan kunt u zich ook aanmelden via uw ledenprofiel op MijnNBA.nl.