Network-Attached Storage (NAS)
Of je je Raspberry Pi nu gaat gebruiken als mediacenter, gamemachine of dedicated ontwikkel-pc: het is erg handig om bestanden op je Pi te delen en er vanaf andere computers bij te kunnen. De Raspberry Pi staat standaard al goed ingesteld voor allerlei scenario's, maar de optie om de inhoud van je gebruikersmap (home-folder) binnen je lokale netwerk te delen is niet geactiveerd. Met Samba is het echter niet al te moeilijk om dat alsnog voor elkaar te krijgen. Daarenboven kan je Samba gebruiken onder Linux, Windows en macOS: het is dus platformonafhankelijk. Je kunt dan altijd bij je media, scripts en documenten vanaf een andere pc in je netwerk.
Installatie
Zoals steeds zorgen we dat Raspberry Pi OS up to date is:
pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade
Geraakt:1 http://deb.debian.org/debian bookworm InRelease
Geraakt:2 http://deb.debian.org/debian-security bookworm-security InRelease
Geraakt:3 http://deb.debian.org/debian bookworm-updates InRelease
Geraakt:4 http://archive.raspberrypi.com/debian bookworm InRelease
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
Alle pakketten zijn up-to-date.
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
Opwaardering wordt doorgerekend... Klaar
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Om daarna Samba te installeren:
pi@raspberrypi:~ $ sudo apt install samba samba-common-bin
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende extra pakketten zullen geïnstalleerd worden:
attr libcephfs2 liburing2 python3-anyio python3-dnspython python3-gpg python3-h11 python3-h2 python3-hpack python3-httpcore
python3-httpx python3-hyperframe python3-ldb python3-markdown python3-markdown-it python3-mdurl python3-requests-toolbelt
python3-rfc3986 python3-rich python3-samba python3-sniffio python3-talloc python3-tdb python3-yaml samba-ad-provision samba-common
samba-dsdb-modules samba-vfs-modules tdb-tools
Voorgestelde pakketten:
python3-trio python3-aioquic python-markdown-doc bind9 bind9utils ctdb ldb-tools ntp | chrony ufw winbind heimdal-clients
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
attr libcephfs2 liburing2 python3-anyio python3-dnspython python3-gpg python3-h11 python3-h2 python3-hpack python3-httpcore
python3-httpx python3-hyperframe python3-ldb python3-markdown python3-markdown-it python3-mdurl python3-requests-toolbelt
python3-rfc3986 python3-rich python3-samba python3-sniffio python3-talloc python3-tdb python3-yaml samba samba-ad-provision
samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools
0 opgewaardeerd, 31 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 7.953 kB aan archieven opgehaald worden.
Na deze bewerking zal er 67,4 MB extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n]
Ophalen:1 http://deb.debian.org/debian bookworm/main arm64 python3-dnspython all 2.3.0-1 [152 kB]
Ophalen:2 http://deb.debian.org/debian-security bookworm-security/main arm64 python3-ldb arm64 2:2.6.2+samba4.17.12+dfsg-0+deb12u1 [60,0 kB]
Ophalen:3 http://deb.debian.org/debian bookworm/main arm64 python3-tdb arm64 1.4.8-2 [16,2 kB]
...
Ophalen:29 http://deb.debian.org/debian-security bookworm-security/main arm64 samba-ad-provision all 2:4.17.12+dfsg-0+deb12u1 [415 kB]
Ophalen:30 http://deb.debian.org/debian-security bookworm-security/main arm64 samba-dsdb-modules arm64 2:4.17.12+dfsg-0+deb12u1 [298 kB]
Ophalen:31 http://deb.debian.org/debian-security bookworm-security/main arm64 samba-vfs-modules arm64 2:4.17.12+dfsg-0+deb12u1 [406 kB]
7.953 kB opgehaald in 1s (8.472 kB/s)
Extraheren van sjablonen uit pakketten: 100%
Voorconfigureren van pakketten ...
Voorheen niet geselecteerd pakket python3-dnspython wordt geselecteerd.
(Database wordt ingelezen ... 125760 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../00-python3-dnspython_2.3.0-1_all.deb wordt voorbereid...
Bezig met uitpakken van python3-dnspython (2.3.0-1) ...
...
Voorheen niet geselecteerd pakket samba-vfs-modules:arm64 wordt geselecteerd.
Uitpakken van .../30-samba-vfs-modules_2%3a4.17.12+dfsg-0+deb12u1_arm64.deb wordt voorbereid...
Bezig met uitpakken van samba-vfs-modules:arm64 (2:4.17.12+dfsg-0+deb12u1) ...
Instellen van python3-sniffio (1.2.0-1) ...
Instellen van python3-requests-toolbelt (0.10.1-1) ...
Instellen van python3-anyio (3.6.2-1) ...
...
Instellen van python3-httpx (0.23.3-1) ...
Instellen van samba-common-bin (2:4.17.12+dfsg-0+deb12u1) ...
Instellen van samba (2:4.17.12+dfsg-0+deb12u1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/samba-ad-dc.service → /lib/systemd/system/samba-ad-dc.service.
Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service.
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Bezig met afhandelen van triggers voor libc-bin (2.36-9+rpt2+deb12u3) ...
Instellen
Als de bronpakketten geïnstalleerd zijn, moet je Samba gaan vertellen hoe hij zijn werk moet doen. Dat doe je door je voorkeursinstellingen in Samba's configuratiebestand te zetten. Dat bestand heet smb.conf en staat in de map /etc/samba.
pi@raspberrypi:~ $ sudo nano -B /etc/samba/smb.conf
Werkgroep
Het configuratiebestand bevat veel informatie en dat kan wat intimiderend overkomen, maar je hoeft maar een paar dingen te wijzigen en toe te voegen. Allereerst moet je ervoor zorgen dat de juiste werkgroep ingesteld staat. Als je je netwerk niet anders ingesteld hebt, is dat WORKGROUP.
Om de bijhorende instelling te vinden, druk je in nano op Ctrl+w en typ je workgroup
in en daarna op Return.
Op die manier kom je bij de eerste vermelding van het woord workgroup.
Gebruik de pijltjestoetsen om tussen de regels te wisselen.
Toegangsrechten
Standaard heb je enkel leesrechten, je kunt met andere woorden de inhoud van gedeelde mappen en bestanden inkijken, maar niet aanpassen.
Ook het aanmaken van nieuwe mappen en bestanden is onmogelijk.
Dit heeft weerom te maken met beveiliging van gegevens.
Nu lijkt het mij vanzelfsprekend dat je na het aanmelden als gebruiker met een bijhorend wachtwoord je je bestanden en mappen moet kunnen beheren, m.a.w. je hebt schrijfrechten nodig.
Om dit aan te passen ga je in het configuratiebestand op zoek naar de sectie [homes]
waar de instellingen voor de gebruikersmappen staan.
Door de schakelaar read only niet enkel tot lezen te beperken, krijg je lees- en schrijfrechten.
read only = no
Ziezo nu kan je reeds mappen en bestanden aanmaken, aanpassen en dus ook verwijderen, kortom alle beheeropdrachten uitvoeren. Sla de aanpassing op en sluit nano af.
Wachtwoorden instellen
Door die configuratie heb je dan een laagje beveiliging in de vorm van een wachtwoord klaargezet. Dan moet je een wachtwoord instellen om de beveiliging te kunnen gebruiken.
pi@raspberrypi:~ $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.
Je wordt gevraagd om een nieuw wachtwoord blind in te voeren en dat te bevestigen. Dat is vervolgens je gebruikersnaam en wachtwoord om je bestanden te kunnen benaderen.
Samba herstarten
De laatste stap is het simpelweg herstarten van Samba om de nieuwe instellingen van kracht te laten worden.
pi@raspberrypi:~ $ sudo systemctl restart smbd.service
Windows Verkenner
Windows heeft naam gemaakt en de wereld veroverd door zijn compatibiliteit met vorige versies, maar dit heeft een keerzijde. In de beginjaren van de computer had je niets te vrezen van het internet, 99% van de computers was er niet op aangesloten. Toen de computers massaal het internet op gingen, moest het delen van mappen en bestanden met extra lagen beveiligd worden. Deze extra lagen kon je achterwege laten (compatibel met vroeger) of toepassen en veilig het internet op gaan. Het gebruik van extra lagen zorgde niet alleen voor compatibiliteit, maar ook voor een ongeziene complexiteit. Bij elke Windowsversie verschenen extra lagen en werd het systeem complexer.
Bij het starten van Windows Verkenner kan je via Netwerk het lokale netwerk laten scannen naar Windows compatibele apparaten. Afhankelijk van de grootte van het netwerk kan dit een tijd in beslag nemen. Na een tijdje verschijnt ook de naam van jouw Raspberry Pi tussen de Computers. Mocht dit niet zo zijn, dan herkent Windows op het netwerk aangesloten apparaten door gebruik te maken van Web Service Discovery. Dit is de vervanger van het verouderde NetBios systeem, dat stilaan uit Windows wordt verwijderd. Samba werkt nog niet met Web Service Discovery, waardoor onze NAS niet altijd in Windows Verkenner wordt weergegeven. Tot het nieuwe Windows Web Service Discovery in Samba is geïntegreerd, kan je de volgende software op jouw Raspberry Pi installeren en gebruiken:
- Download het script (software) met de opdracht:
pi@raspberrypi:~ $
wget https://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py
--2024-07-01 19:30:47-- https://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py Herleiden van raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ... Verbinding maken met raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443... verbonden. HTTP-verzoek is verzonden; wachten op antwoord... 200 OK Lengte: 74666 (73K) [text/plain] Wordt opgeslagen als: ‘wsdd.py’ wsdd.py 100%[==============================================>] 72,92K --.-KB/s in 0,009s 2024-07-01 19:30:47 (7,73 MB/s) - '‘wsdd.py’' opgeslagen [74666/74666] - Verplaats het script naar de softwaremap van de Raspberry Pi:
pi@raspberrypi:~ $
sudo mv wsdd.py /usr/bin/wsdd
- Dit script is voor Raspberry Pi OS nog steeds een eenvoudig tekstbestand.
Om dit script als programma te kunnen starten, moeten we het uitvoerrechten geven (eXecutable maken):
pi@raspberrypi:~ $
sudo chmod +x /usr/bin/wsdd
- We testen het script door het uit te voeren:
pi@raspberrypi:~ $
En in Windows Verkenner de inhoud van het onderdeel Netwerk te vernieuwen. Jouw Raspberry Pi NAS wordt door deze extra software zichtbaar in Verkenner./usr/bin/wsdd
2024-07-01 19:34:10,818:wsdd WARNING(pid 3207): no interface given, using all interfaces - Stop het wsdd script met de toetscombinatie Ctrl+C. Druk daarna op Enter om de prompt terug tegen de kant van de terminal te plaatsen.
- Tijd om het wsdd script automatisch te starten bij het opstarten van de Raspberry Pi:
- Download het systemd startscript:
pi@raspberrypi:~ $
wget https://raw.githubusercontent.com/christgau/wsdd/master/etc/systemd/wsdd.service
--2024-07-01 19:35:48-- https://raw.githubusercontent.com/christgau/wsdd/master/etc/systemd/wsdd.service Herleiden van raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8001::154, 2606:50c0:8002::154, 2606:50c0:8003::154, ... Verbinding maken met raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8001::154|:443... verbonden. HTTP-verzoek is verzonden; wachten op antwoord... 200 OK Lengte: 824 [text/plain] Wordt opgeslagen als: ‘wsdd.service’ wsdd.service 100%[==============================================>] 824 --.-KB/s in 0s 2024-07-01 19:35:48 (41,5 MB/s) - '‘wsdd.service’' opgeslagen [824/824] - Verplaats het opstartscript naar de map met opstartscripts:
pi@raspberrypi:~ $
sudo mv wsdd.service /etc/systemd/system/
- Test het opstartscript door het te starten:
pi@raspberrypi:~ $
sudo systemctl start wsdd.service
Job for wsdd.service failed because of unavailable resources or another system error. See "systemctl status wsdd.service" and "journalctl -xeu wsdd.service" for details. - Dit gaat duidelijk fout.
Na een grondig onderzoek van het starscript /etc/systemd/system/wsdd.service bleek al vlug dat het standaard configuratiebestand /etc/default/wsdd ontbreekt.
Je kunt dit aanmaken met de opdracht:
pi@raspberrypi:~ $
sudo touch /etc/default/wsdd
- Test het opstartscript opnieuw:
pi@raspberrypi:~ $
sudo systemctl start wsdd.service
- Controleer de meldingen van het opstartscript:
pi@raspberrypi:~ $
sudo systemctl status wsdd.service
● wsdd.service - Web Services Dynamic Discovery host daemon Loaded: loaded (/etc/systemd/system/wsdd.service; disabled; preset: enabled) Active: active (running) since Mon 2024-07-01 19:37:29 CEST; 2min 16s ago Docs: man:wsdd(8) Main PID: 3229 (python3) Tasks: 1 (limit: 4444) CPU: 140ms CGroup: /system.slice/wsdd.service └─3229 python3 /usr/bin/wsdd --shortlog --chroot=/run/wsdd jul 01 19:37:29 raspberrypi systemd[1]: Started wsdd.service - Web Services Dynamic Discovery host daemon. jul 01 19:37:29 raspberrypi wsdd[3229]: WARNING: no interface given, using all interfaces - En onze Raspberry Pi NAS verschijnt terug in de Windows Verkenner Netwerkomgeving.
- Nu de test geslaagd is, nemen we het startscript op in het opstartsysteem van Raspian:
pi@raspberrypi:~ $
sudo systemctl enable wsdd.service
Created symlink /etc/systemd/system/multi-user.target.wants/wsdd.service → /etc/systemd/system/wsdd.service.
- Download het systemd startscript:
- Meer info over wsdd op de webpagina van de ontwikkelaar op GitHub.
Uit deze info blijkt dat wsdd nu is opgenomen in Raspberry Pi OS (Debian) 12 Bookworm en je deze software kunt installeren met
sudo apt install wsdd
.
Herstart je Samba op de Raspberry Pi opnieuw en herscan je het netwerk in Windows Verkenner met Netwerk vernieuwen of een druk op F5.
Open de Raspberry Pi computer in Windows Verkenner.
Indien de map nobody verschijnt of de volgende foutmelding verschijnt:
, moet je zelf in de adresbalk de volgende URL invoeren: \\RASPBERRYPI\pi
.
Er verschijnt een dialoogvenster waar je de gebruikersnaam en bijhorende wachtwoord moet ingeven.
Mocht je ooit de neiging hebben om een vinkje te plaatsen bij Mijn referenties onthouden, hou er dan wel rekening mee dat iedereen zomaar zonder wachtwoord vanaf deze computer toegang heeft tot de gebruikersmap van pi op de Raspberry Pi.
Let ook op het adres van gedeelde gebruikersmap van pi op de Raspberry Pi.
\\RASPBERRYPI\pi
waarbij de \\
betekenen dat er een computernaam (hostname) volgt (RASPBERRYPI
) en de \
het scheidingsteken voor de mappen is (pi
).
Enkel Windows gebruikt backslashes, vervang op andere besturingssystemen de backslashes door gewone slashes (/
).
Je kunt dus steeds een Samba gedeelde map bereiken door het correcte adres in de adresbalk te typen.
Indien je dit altijd doet is dit veiliger en kan je de wssd software uitschakelen en/of verwijderen.
Praktijk opdracht
- We kunnen nu wel de gebruikersmap van pi beheren, maar dit maakt van onze Raspberry Pi nog geen NAS.
Terug gaan we het principe toepassen waarbij het Raspberry Pi OS besturingssysteem op de SD-kaart staat en onze gegevens op een externe USB schijf met voeding (je kunt voor de opdracht ook een USB-stick gebruiken):
- Plug de USB-stick in de Raspberry Pi.
- De eigenschappen van de USB-stick geef je weer met:
pi@raspberrypi:~ $
De blkid opdracht toont twee opslagmedia met in totaal drie opslagruimtes (partities). mmcblk0 is de SD-kaart en deze heeft twee partities: p1 voor het opstarten (bootfs) van de Pi en p2 met het Raspberry Pi OS besturingssysteem (rootfs). sda is de USB-stick. USB-sticks gebruiken in tegenstelling tot USB schijven niet altijd partities. USB-sticks zonder partities hebben daardoor steeds één grote partitie met de naam sda. M.a.w. op USB schijven heeft sda minstens één partitie met de naam sda1. De USB-Stick in het voorbeeld werd als USB schijf geformatteerd en heeft dus een sda1 partitie. Elke schijf wordt gekenmerkt door een uniek nummer, zijn UUID. Bruikbare partities zijn geformatteerd met een bepaald bestandssysteem (TYPE), zo gebruikt de boot partitie van de SD-kaart vfat, het Raspberry Pi OS systeem ext4 en de USB-stick vfat.sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="bootfs" LABEL="bootfs" UUID="50C8-AEAE" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="19b853eb-01" /dev/mmcblk0p2: LABEL="rootfs" UUID="fc7a1f9e-4967-4f41-a1f5-1b5927e6c5f9" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="19b853eb-02" /dev/sda1: LABEL="SYSREC" UUID="B002-4BBF" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="00088eeb-01" - Maak een map om de inhoud van de USB-stick beschikbaar te maken:
pi@raspberrypi:~ $
sudo mkdir /media/SambaDrive
- Uit veiligheidsoverwegingen gaan we de inhoud van de USB-stick benaderen als gebruiker pi, als je als root (systeembeheerder) werkt, krijgt een eventuele hacker direct toegang als systeembeheerder met alle gevolgen van dien.
Jammer genoeg werken computersystemen met getallen (ID's) en niet met namen, de overeenkomstige ID's voor de gebruikers- en groepsnaam van de pi gebruiker achterhaal je met:
pi@raspberrypi:~ $
De UID (User Identifier) en de GID (Group Identifier) stellen de ID's voor de gebruiker en de hoofdgroep waarvan deze gebruiker lid is voor.id pi
UID=1000(pi) GID=1000(pi) groepen=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),102(input),105(render),106(netdev),995(spi),994(i2c),993(gpio),115(lpadmin) - Om de inhoud van de USB-stick in de mappenstructuur van de Raspberry Pi op te nemen, moet je het configuratiebestand verantwoordelijk voor de bestandssystemen aanpassen.
Het /etc/fstab (filesystem table) pas je als systeemgebruiker aan met de nano editor.
pi@raspberrypi:~ $
Voeg de volgende regel toe:sudo nano /etc/fstab
UUID=B002-4BBF /media/SambaDrive vfat rw,uid=1000,gid=1000 0 0
Vervang daarbij de UUID door deze van jouw USB-stick. /media/SambaDrive is de map waar de inhoud van de USB-stick tevoorschijn zal komen. vfat is het op de USB-stick gebruikte bestandssysteem. De map krijgt de volgende eigenschappen: rw (readwrite, dus lees- en schrijfrechten) bepalen de toegangsrechten, uid en gid zijn de ID's van de gebruiker die toegang tot de map krijgt. Let op: dit configuratiebestand moet eindigen met een lege regel. Sla de aanpassing op en sluit de teksteditor nano af. - Voor de zekerheid testen we de nieuwe configuratie:
pi@raspberrypi:~ $
Ok, eerst systemd op de hoogte brengen van de aangepaste fstab:sudo mount -a
mount: (hint) your fstab has been modified, but systemd still uses the old version; use 'systemctl daemon-reload' to reload.pi@raspberrypi:~ $
En we proberen nogmaals:sudo systemctl daemon-reload
pi@raspberrypi:~ $
Geen nieuws is opnieuw goed nieuws, anders pas je /etc/fstab aan tot deze geen fouten meer bevat. Aangezien dit configuratiebestand nodig is bij het opstarten van de Pi, is het belangrijk deze test uit te voeren, anders kan het opstarten afgebroken worden.sudo mount -a
- Herstart de Raspberry Pi met:
pi@raspberrypi:~ $
sudo shutdown -r now
Broadcast message from root@raspberrypi on pts/1 (Wed 2024-07-03 16:10:49 CEST): The system will reboot now! - Bekijk de inhoud van de map met:
pi@raspberrypi:~ $
De -l optie zorgt dat er details (long) zoals rechten, gebruiker, datum en grootte worden weergegeven.ls -l /media/SambaDrive/
totaal 4 drwxr-xr-x 2 pi pi 4096 22 jun 20:36 'System Volume Information'
- Nu de USB-stick beschikbaar is, moeten we Samba instellen om er gebruik van te maken:
- Open als systeembeheerder het Samba configuratiebestand met een teksteditor.
pi@raspberrypi:~ $
sudo nano -B /etc/samba/smb.conf
- Voeg op het einde van het configuratiebestand de volgende sectie toe:
[NAS] comment = Network-Attached Storage path = /media/SambaDrive read only = no public = yes force user = pi
Daarbij wordt de naam van de sectie (NAS) in Windows Verkenner in kleine letters weergeven als de naam van de gedeelde map. De Comment eigenschap is enkel als commentaar bedoeld en mag je dus vrij kiezen. De path eigenschap bepaald het pad waar de inhoud van de gedeelde map op de Raspberry Pi opgeslagen wordt. De read only schakelaar zorgt voor lees- en schrijfrechten. De public schakelaar zorgt dat iedereen zonder wachtwoord toegang krijgt tot de gedeelde map. De force user eigenschap zorgt dat je in de gedeelde map steeds als gebruiker pi werkt, dit moet overeenkomen met de gebruikers ID's opgegeven in het /etc/fstab configuratiebestand. - Herstart samba
pi@raspberrypi:~ $
En test de nieuwe Samba configuratie in Windows Verkenner.sudo systemctl restart smbd.service
- Open als systeembeheerder het Samba configuratiebestand met een teksteditor.
- Een NAS is niet enkel handig om bestanden te delen, maar ook om reservekopieën te maken en dan nog het liefst automatisch.
FreeFileSync kan op geregelde tijdstippen mappen en bestand synchroniseren naar een map op een ander systeem.
Syncthing (zie verder) gaat nog een stuk verder en maakt bij elke aanpassing direct een kopie op een ander systeem.
Daarenboven kan je met Syncthing terugkeren in de tijd.
Syncthing onthoud elke aanpassing en werkt als een tijdmachine (vandaar de naam timemachine).
Tijdmachines zijn complexer en dus moeilijker te configureren, maar eenmaal ze werken, gaat alles vanzelf.
We beginnen met FreeFileSync.
- Surf in Windows naar de FreeFileSync webpagina en download het recentste installatie programma.
- Installeer FreeFileSync.
- Maak in de map Documenten een map met de naam Bron.
- Kopieer naar of maak in de map Documenten\Bron een tiental documenten.
- Maak op uw Raspberry Pi NAS de map Backup.
- Start de toepassing FreeFileSync vanuit de map C:/Program Files/FreeFileSync/.
Hoewel FreeFileSync veel instelmogelijkheden en functies heeft, gaan we een eenvoudige synchronisatie uitvoeren:
- Plaats (sleep of blader) in de linkerkolom de Windows map Documenten\Bron.
- Plaats (sleep of blader) in de rechterkolom de map Backup op uw Raspberry Pi NAS.
- Selecteer met de knop Vergelijkingsinstellingen (F6) (blauw tandwiel) op het tabblad Synchronisatie (F8) de variant Bijwerken.
- Aaan de hand van knoppen aan de rechterkant kan je nagaan wat er gebeurd bij het aanmaken (Maak), Bijwerken en Verwijderen van bestanden. Merk op dat als je bestanden verwijderd FreeFileSync niets doet, m.a.w. de backup blijft behouden. Pas dit aan naar een knop met een Prullenbak in de kolom Links (de bron). De synchronisatie variant verandert daardoor automatisch naar Aangepast.
- Bevestig de aanpassing met de knop .
- Klik op de knop (F9).
- Laat de synchronisatie uitvoeren.
- Controleer na het voltooien het Logboek.
- Sluit het venster met het overzicht.
- Controleer op de Raspberry Pi of de bestanden op de USB Stick staan.
Dit kan via de Bestandsbeheerder of met behulp van de volgende opdracht:
pi@raspberrypi:~ $
ls -l /media/SambaDrive/Backup/
27652 -rwxr-xr-x 1 pi pi 5645367 24 aug 2022 '1 Basisbegrippen IT.pdf' -rwxr-xr-x 1 pi pi 1607040 24 aug 2022 '1 Basisbegrippen Taak.pdf' -rwxr-xr-x 1 pi pi 5769598 24 aug 2022 '2 Tekstverwerking Deel 1.pdf' -rwxr-xr-x 1 pi pi 127677 24 aug 2022 '2 Tekstverwerking Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 4961061 24 aug 2022 '3 Rekenbladen Deel 1.pdf' -rwxr-xr-x 1 pi pi 109141 24 aug 2022 '3 Rekenbladen Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 5526276 24 aug 2022 '4 Presentaties Deel 1.pdf' -rwxr-xr-x 1 pi pi 244566 24 aug 2022 '4 Presentaties Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 4211135 24 aug 2022 '5 Databanken Deel 1.pdf' -rwxr-xr-x 1 pi pi 84455 24 aug 2022 '5 Databanken Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 243 3 jul 16:43 sync.ffs_db - Om later deze taak elke dag automatisch te laten uitvoeren, start je in het menu Bestand de opdracht Opslaan als batchverwerking...:
- Accepteer de standaard instellingen.
- Sla de batchverwerking op in de map Documenten als
Backup
.ffs_batch.
- Sluit FreeFileSync af.
- Om dagelijks een Backup van de map Documenten\Bron te maken, ga je als volgt te werk:
- Start Taakplanner.
- Klik bij de Acties op Taak maken....
- Op het tabblad Algemeen:
- Geef je de taak een Naam, bijvoorbeeld FreeFileSync.
- Maak op het tabblad Triggers een Nieuwe trigger.
Een trigger bepaald het moment waarop FreeFileSync gestart wordt:
- Start FreeFileSync Dagelijks.
- Bevestig de aanmaak van de nieuwe trigger.
- Maak op het tabblad Acties een nieuwe actie.
Acties bepalen wat er bij een trigger moet gebeuren:
- De actie wordt Programma starten.
- Blader naar het FreeFileSync programmma ("C:\Program Files\FreeFileSync\FreeFileSync.exe") op uw computer.
- In het tekstvak Parameters toevoegen (optioneel) plaats je de daarstraks opgeslagen batchverwerking
"C:\Users\gebruikersnaam\Documents\Backup.ffs_batch"
. Vervang daarbijgebruikersnaam
door jouw eigen gebruikersnaam in Windows. Achterhaal de gebruikersnaam door naar de map in Windows Verkennener te bladeren (Nederlandse mapnamen) en daarna de echte mapnamen te achterhalen door te klikken in de adresbalk. - Bevestig de aanmaak van de nieuwe actie.
- Op het tabblad Instellingen activeer je de optie Als de taak mislukt, opnieuw opstarten elke:. En stel in dat er drie pogingen met een tussentijd van één uur worden uitgevoerd.
- Bevestig de aanmaak van de nieuwe taak.
- Selecteer in de Task Scheduler-bibliotheek de taak FreeFileSync.
- Om onze taak de testen, klik je in het rechter deelvenster op de Actie Uitvoeren.
- Indien FreeFileSync correct is opgestart en zijn taak heeft volbracht, verschijnt opnieuw het venster met een overzicht. Indien dit niet het geval is, pas je in de Taakplanner van de geopende taak FreeFileSync de Eigenschappen aan.
- Een laatste test:
- Pas een document in de map Documenten\Bron aan.
- Kopieer een extra document naar de map Documenten\Bron.
- Verwijder een document uit de map Documenten\Bron.
- Voer nogmaals via Taakplanner FreeFileSync uit.
- Zoals je merkt, zal FreeFileSync je waarschuwen bij probleemgevallen. Negeer het Prullenbak probleem op de Raspberry Pi.
- Controleer op de Raspberry Pi of de backup gelukt is (aangepaste, toegevoegde en verwijderde bestand). Het verwijderde bestand blijft op de Raspberry Pi NAS staan. Dit kan je aanpassen door de instellingen van de Backup sessie in FreeFileSync aan te passen en de batchverwerking opnieuw op te slaan, evenals het weergeven van de waarschuwingen. Een mooie extra oefening.
- Als voorbereiding op de volgende opdracht, verwijder je de taak FreeFileSync uit de Taakplanner.
- Syncthing is een vrij, open-source peer-to-peer applicatie om bestanden te synchroniseren.
Het is beschikbaar voor Windows, Mac, Linux, iOS, Android, Solaris, Darwin en BSD, m.a.w. platformonafhankelijk.
Het kan bestanden synchroniseren tussen apparaten in een lokaal netwerk en over het internet.
Dit programma kan je het best vergelijken met BitTorrent Sync (geen open-source en hogere systeembelasting), Apple Time Machine (enkel voor Apple apparaten) en op internet diensten zoals Dropbox en Google Drive (traag door internetverbinding).
Installeer Syncthing:
pi@raspberrypi:~ $
sudo apt install syncthing -y
Pakketlijsten worden ingelezen... Klaar Boom van vereisten wordt opgebouwd... Klaar De statusinformatie wordt gelezen... Klaar De volgende NIEUWE pakketten zullen geïnstalleerd worden: syncthing 0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 1 niet opgewaardeerd. Er moeten 6.859 kB aan archieven opgehaald worden. Na deze bewerking zal er 21,1 MB extra schijfruimte gebruikt worden. Ophalen:1 http://deb.debian.org/debian bookworm/main arm64 syncthing arm64 1.19.2~ds1-1+b4 [6.859 kB] 6.859 kB opgehaald in 1s (6.383 kB/s) Voorheen niet geselecteerd pakket syncthing wordt geselecteerd. (Database wordt ingelezen ... 149761 bestanden en mappen momenteel geïnstalleerd.) Uitpakken van .../syncthing_1.19.2~ds1-1+b4_arm64.deb wordt voorbereid... Bezig met uitpakken van syncthing (1.19.2~ds1-1+b4) ... Instellen van syncthing (1.19.2~ds1-1+b4) ... Created symlink /etc/systemd/system/sleep.target.wants/syncthing-resume.service → /lib/systemd/system/syncthing-resume.service. Bezig met afhandelen van triggers voor desktop-file-utils (0.26-1) ... Bezig met afhandelen van triggers voor hicolor-icon-theme (0.17-2) ... Bezig met afhandelen van triggers voor gnome-menus (3.36.0-1.1) ... Bezig met afhandelen van triggers voor man-db (2.11.2-2) ... Bezig met afhandelen van triggers voor mailcap (3.70+nmu1) ... - Syncthing maakt bij zijn eerste start zelf een standaard configuratie aan.
Voer daarvoor op de Raspberry Pi zelf de volgende opdracht uit:
pi@raspberrypi:~ $
De browser start automatisch op met de bedieningspagina van Syncthing. Stel in of er Anonieme gebruikersstatistieken verstuurd mogen worden.syncthing
[start] 19:10:28 INFO: syncthing v1.19.2-ds1 "Fermium Flea" (go1.19.8 linux-arm64) debian@debian 2023-04-09 10:43:33 UTC [start] 19:10:28 INFO: Generating ECDSA key and certificate for syncthing... [start] 19:10:28 INFO: Default folder created and/or linked to new config [start] 19:10:28 INFO: Default config saved. Edit /home/pi/.config/syncthing/config.xml to taste (with Syncthing stopped) or use the GUI [start] 19:10:28 INFO: Archiving a copy of old config file format at: /home/pi/.config/syncthing/config.xml.v0 [7WNGE] 19:10:28 INFO: My ID: 7WNGE7L-JU3RWPD-YO5YVQO-BBEOCFY-OEXBIWD-FMDA4PV-ZVHF3GL-QDF2KA5 [7WNGE] 19:10:29 INFO: Single thread SHA256 performance is 1434 MB/s using crypto/sha256 (1433 MB/s using minio/sha256-simd). [7WNGE] 19:10:30 INFO: Hashing performance is 706.46 MB/s ... [7WNGE] 19:10:49 INFO: quic://0.0.0.0:22000 detected NAT type: Port restricted NAT [7WNGE] 19:10:49 INFO: quic://0.0.0.0:22000 resolved external address quic://91.180.5.20:22000 (via stun.syncthing.net:3478) [7WNGE] 19:11:12 INFO: Joined relay relay://178.38.157.60:22067- Open het menu Acties en start de opdracht Instellingen.
- Standaard kan je Syncthing enkel bedienen vanuit een browser op de Raspberry Pi zelf, maar dat is erg onhandig, zeker als je er daarvoor een toetsenbord, muis en scherm moet op aansluiten. Dit doe je door het adres van waarop Syncthing is te bedienen uit te breiden van localhost (127.0.0.1) naar alle apparaten (ongedefinieerd of 0.0.0.0): Pas op het tabblad GUI het GUI-luisteradres aan naar 0.0.0.0:8384.
- Om veiliger te werken, kan je een GUI-gebruikersnaam en GUI-wachtwoord toevoegen en de gegevens tijdens het verzenden en ontvangen versleutelen door HTTPS gebruiken voor GUI in te schakelen. Dit laatste is enkel nodig als je via internet werkt.
- Schakel indien gewenst het automatisch opstarten van de browser uit. Dit is namelijk nutteloos en processor belastend op een NAS zonder scherm, toetsenbord en muis.
- Sla de aanpassingen op.
- Sluit Syncthing af via het menu Acties en sluit de browser op de Raspberry Pi.
De term localhost verwijst naar de locatie van het eigen systeem op een netwerk. Het is een loopback-interface, in IPv4 krijgt dit meestal het IP-adres 127.0.0.1, in IPv6 ::1. Dit adres kan vervolgens door TCP/IP-applicaties gebruikt worden om met het eigen systeem te communiceren indien dit nodig is.
Dit adres kan aangewend worden voor testdoeleinden zonder dat de machine een "echt" IP-adres moet hebben, of om services, die normaal via het netwerk bereikt worden, te contacteren op de eigen machine.
Tevens dient het adres om gebruikers die op de computer zelf werken te onderscheiden van diegenen die van een netwerk gebruik maken. Vooral voor wat betreft toegangscontrole is dit onderscheid nuttig.
In de hackerscene heeft het adres een zeker cultstatus verworven, als symbool van de eigen computer. Dit heeft zijn weerslag gevonden in gevleugelde woorden als "Home is where 127.0.0.1 is" en "There's no place like 127.0.0.1". - Je kunt Syncthing bij elke start van de Raspberry Pi manueel starten, maar het is veel eenvoudiger als dit automatisch gaat.
- Start Syncthing als pi gebruiker via:
pi@raspberrypi:~ $
sudo systemctl start syncthing@pi.service
- Test de Syncthing service met de opdracht:
pi@raspberrypi:~ $
sudo systemctl status syncthing@pi.service
● syncthing@pi.service - Syncthing - Open Source Continuous File Synchronization for pi Loaded: loaded (/lib/systemd/system/syncthing@.service; disabled; preset: enabled) Active: active (running) since Wed 2024-07-03 19:16:59 CEST; 3min 14s ago Docs: man:syncthing(1) Main PID: 2752 (syncthing) Tasks: 18 (limit: 4444) CPU: 1.594s CGroup: /system.slice/system-syncthing.slice/syncthing@pi.service ├─2752 /usr/bin/syncthing serve --no-browser --no-restart --logflags=0 └─2760 /usr/bin/syncthing serve --no-browser --no-restart --logflags=0 jul 03 19:17:00 raspberrypi syncthing[2752]: [7WNGE] INFO: Ready to synchronize "Default Folder" (default) (…eceive) jul 03 19:17:00 raspberrypi syncthing[2752]: [7WNGE] INFO: GUI and API listening on [::]:8384 jul 03 19:17:00 raspberrypi syncthing[2752]: [7WNGE] INFO: Access the GUI via the following URL: http://127.…1:8384/ jul 03 19:17:00 raspberrypi syncthing[2752]: [7WNGE] INFO: My name is "raspberrypi" jul 03 19:17:00 raspberrypi syncthing[2752]: [7WNGE] INFO: Completed initial scan of sendreceive folder "Def…efault) jul 03 19:17:11 raspberrypi syncthing[2752]: [7WNGE] INFO: New NAT port mapping: external TCP address 91.180…:22000. jul 03 19:17:11 raspberrypi syncthing[2752]: [7WNGE] INFO: Detected 1 NAT service jul 03 19:17:20 raspberrypi syncthing[2752]: [7WNGE] INFO: quic://0.0.0.0:22000 detected NAT type: Port rest…ted NAT jul 03 19:17:20 raspberrypi syncthing[2752]: [7WNGE] INFO: quic://0.0.0.0:22000 resolved external address qu…t:3478) jul 03 19:17:42 raspberrypi syncthing[2752]: [7WNGE] INFO: Joined relay relay://92.35.9.12:22067 Hint: Some lines were ellipsized, use -l to show in full. - Indien alles goed ging, kan je Syncthing opnemen in de opstartprocedure van de Raspberry Pi:
pi@raspberrypi:~ $
sudo systemctl enable syncthing@pi.service
Created symlink /etc/systemd/system/multi-user.target.wants/syncthing@pi.service → /lib/systemd/system/syncthing@.service. - Test of Syncting automatisch opstart bij het opstarten van de Raspberry Pi.
- Start Syncthing als pi gebruiker via:
- Syncting beheer je via een webpagina die je kan bereiken via poort 8384.
- Eerst bepaal je waar op de Raspberry Pi de gesynchroniseerde bestanden bewaard worden:
- Klik op de knop .
- Geef de map een Maplabel (naam) (Sync). Deze mag je zelf kiezen, maar ze moet wel uniek zijn op het apparaat, daarenboven maak je het jezelf eenvoudiger als je systematisch te werk gaat (zie verder).
- En een bijhorende Maplocatie in de bestandsstructuur van de Raspberry Pi. Bij het intypen van de Maplocatie wordt je geholpen met een keuzelijst met beschikbare mappen. Indien je een onbestaande map gebruikt, wordt indien mogelijk deze automatisch aangemaakt. Wij kiezen vanzelfsprekende een map op onze USB-stick (/media/SambaDrive/Sync waarbij de map Sync automatisch wordt aangemaakt). Let op de naamgeving van de map en het Map label, dit is wat we bedoelen met systematisch werken.
- Sla de instellingen op.
- Eerst bepaal je waar op de Raspberry Pi de gesynchroniseerde bestanden bewaard worden:
- Op apparaten waarvan mappen moeten synchroniseren met een map op de Raspberry Pi, moet je eveneens Syncthing installeren en configureren:
- Download de Syncting versie voor Windows.
- Je kunt een melding krijgen om Syncthing te vertrouwen, met als opmerking dat Syncthing niet veel wordt gedownload!
Klik op de Meer acties knop en kies de optie Behouden. Open Meer weergeven en klik op Toch behouden.. - Installeer Syncthing en kies daarbij voor de methode (Install for current user only). Dit heeft te maken met rechten, anders kunnen we de bestanden van de gebruiker niet benaderen om ze te synchroniseren.
- Op het einde van de installatie verschijnt een Firewall dialoogvenster.
Syncthing moet toegang krijgen tot het netwerk om gegevens (bestanden) te kunnen synchroniseren met de Raspberry Pi. Met andere woorden, als je Syncthing wilt gebruiken, moet je dit bevestigen met de knop . Klik nogmaals op de knop om de toelating te geven de firewall te wijzigen. Vanaf dan heeft Syncthing steeds toegang tot het lokale netwerk. - Syncting start na de installatie automatisch.
Soms krijg je een melding van Windows SmartScreen dat uw PC wordt beschermd tegen applicaties van Onbekende uitgevers (lees niet door Microsoft erkende uitgevers).
Klik op Meer informatie en daarna op de knop om Syncthing toch te starten.
Deze toestemming moet je maar één keer geven, bij de volgende start van Syncthing start Syncthing zonder deze melding. - Automatisch start de standaard browser met het Syncting beheer voor de Windows computer.
Daarbij kan je een Privacy melding krijgen.
Deze melding krijg je omdat Syncthing geen Https gebruikt. Aangezien we niet op internet werken, maar lokaal op de computer is dit helemaal OK. Om door te gaan, klik je op de knop en daarna op de koppeling Doorgaan naar 127.0.0.1 (onveilig). - Lees de informatie die in het dialoogvenster Versturen van anonieme gebruikersstatistieken toestaan? verschijnt. Reageer gepast. M.a.w. stuur je gegevens naar de ontwikkelaars van Syncthing om deze software verder te verbeteren en door te ontwikkelen met informatie over hoe je Syncthing gebruikt.
- Hier is geen gebruikersnaam en bijhorend wachtwoord nodig, aangezien de webpagina enkel lokaal bereikbaar is.
- Tijd om Syncthing op de hoogte te brengen van een tweede apparaat met Syncthing (onze Raspberry Pi):
- Klik op de knop .
- Selecteer en vervolledig het correcte Apparaat-ID van jouw Raspberry Pi. Het Apparaat-ID van uw Raspberry Pi kan je op de webpagina van Syncthing op de Raspberry Pi opvragen bij Acties > ID weergeven.
- Als Naam kies je de naam van jouw Raspberry Pi (logisch toch).
- Sla de instellingen op.
- Ondertussen wordt op de webpagina van de Raspberry Pi een melding weergegeven.
Met de knop in deze melding aanvaard Syncthing de verbinding met Syncthing op Windows. Dit heen en weer gedoe is noodzakelijk om vreemden te weren (beveiliging door middel van aanvraag en toestemming):- Op het tabblad Delen bij Niet-gedeelde mappen activeer je de map Sync. Zo geef je aan dat je de bestanden afkomstig van Windows zult opslaan in de map Sync.
- Sla de instellingen op.
- Ondertussen verschijnt bovenaan de webpagina van Syncthing op Windows een melding:
- Nu de Raspberry Pi een map heeft klaarstaan om bestanden van Windows in op te slaan, kan je met de knop een map op Windows selecteren die synchroniseert met de map op de Raspberry Pi.
- Alle gekende informatie afkomstig van de Raspberry Pi is reeds ingevuld, waaronder het Maplabel en de Map-ID. Hier merk je weer dat wij mensen werken met namen en labels en computerprogramma's met ID's. Enkel mappen met hetzelfde ID worden gesynchroniseerd. Als Maplocatie gebruik je ~\Documents\Bron of met andere woorden de bronmap in de map Documenten van de gebruiker op de Windows computer.
- Sla de instellingen op.
- Automatisch begint de synchronisatie.
Let op: zowel de map (gaat snel, lokaal), als het apparaat moet gesynchroniseerd zijn (traag, transfer via netwerk).
Na het beëindigen van het synchroniseren staat er bij het Externe Apparaat de groene melding Bijgewerkt.
- Onder Windows kan je aan de map Sync met de gesynchroniseerde mappen en bestanden dankzij de reeds eerder ingestelde Samba.
En op de Raspberry Pi geef je de gesynchroniseerde bestanden en mappen weer met:
pi@raspberrypi:~ $
ls -l /media/SambaDrive/Sync/
totaal 23536 -rwxr-xr-x 1 pi pi 5645367 24 aug 2022 '1 Basisbegrippen IT.pdf' -rwxr-xr-x 1 pi pi 1607040 24 aug 2022 '1 Basisbegrippen Taak.pdf' -rwxr-xr-x 1 pi pi 5769598 24 aug 2022 '2 Tekstverwerking Deel 1.pdf' -rwxr-xr-x 1 pi pi 127677 24 aug 2022 '2 Tekstverwerking Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 4961061 24 aug 2022 '3 Rekenbladen Deel 1.pdf' -rwxr-xr-x 1 pi pi 109141 24 aug 2022 '3 Rekenbladen Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 5526276 24 aug 2022 '4 Presentaties Deel 1.pdf' -rwxr-xr-x 1 pi pi 244566 24 aug 2022 '4 Presentaties Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 84455 24 aug 2022 '5 Databanken Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 0 3 jul 18:52 'Nieuw - Tekstdocument.txt' -rwxr-xr-x 1 pi pi 252 3 jul 19:02 sync.ffs_db
- Met versiebeheer worden wijzigingen in documenten en andere bestanden bijgehouden.
Dit betekend in de praktijk dat bestanden die gesynchroniseerd worden, niet zomaar worden overschreven, maar dat oudere versies nog een tijdje bewaard worden.
Dit vergt echter voor het bijhouden van de oude versies veel meer schijfruimte.
In Syncthink werkt dit als volgt:
- Surf naar de beheerspagina van Syncthing op de Raspberry Pi.
- Klik op de map Sync.
- Daarna op Bewerken.
- Selecteer bij Versiebeheer het Gespreid versiebeheer. Een korte uitleg verschijnt op het scherm. Gespreid versiebeheer is het meest geavanceerde versiebeheer dat in Syncthing is ingebouwd. Standaard worden oude versies maximaal een jaar bijgehouden, hoe recenter, hoe meer versies bewaard worden.
- Bevestig de nieuwe instelling.
- Het pas geactiveerde versiebeheer test je als volgt:
- Maak in de map Documenten/Bron een nieuw tekstdocument aan met de naam Versiebeheer.
- Open de pas aangemaakte tekst en typ:
Deze tekst is de eerste versie, met andere woorden een ruwe schets.
- Sla de aangepaste tekst op.
- Wacht ten minste 1 minuut, want pas bij de volgende synchronisatie, komt het bestand in aanmerking om bewaard te worden door het versiebeheer. De synchronisatie kan je volgen op de webpagina van de Raspberry Pi.
- Voeg de volgende tekst toe:
De tweede versie bevat naast de hoofdlijnen al enkele details, compleet is deze tekst nog lang niet.
- Sla de aangepaste tekst op.
- Na een tijdje merkt je op de Raspberry Pi inderdaad dat het versiebeheer werkt:
pi@raspberrypi:~ $
De Sync map bevat ook oude versies van Versiebeheer.txt:ls -l /media/SambaDrive/Sync/
totaal 23544 -rwxr-xr-x 1 pi pi 5645367 24 aug 2022 '1 Basisbegrippen IT.pdf' -rwxr-xr-x 1 pi pi 1607040 24 aug 2022 '1 Basisbegrippen Taak.pdf' -rwxr-xr-x 1 pi pi 5769598 24 aug 2022 '2 Tekstverwerking Deel 1.pdf' -rwxr-xr-x 1 pi pi 127677 24 aug 2022 '2 Tekstverwerking Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 4961061 24 aug 2022 '3 Rekenbladen Deel 1.pdf' -rwxr-xr-x 1 pi pi 109141 24 aug 2022 '3 Rekenbladen Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 5526276 24 aug 2022 '4 Presentaties Deel 1.pdf' -rwxr-xr-x 1 pi pi 244566 24 aug 2022 '4 Presentaties Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 84455 24 aug 2022 '5 Databanken Deel 1 Taak.pdf' -rwxr-xr-x 1 pi pi 0 3 jul 18:52 'Nieuw - Tekstdocument.txt' -rwxr-xr-x 1 pi pi 252 3 jul 19:02 sync.ffs_db -rwxr-xr-x 1 pi pi 0 6 jul 20:22 Versiebeheer.sync-conflict-20240706-202332-XLTFCKX.txt -rwxr-xr-x 1 pi pi 66 6 jul 20:23 Versiebeheer.sync-conflict-20240706-202510-XLTFCKX.txt -rwxr-xr-x 1 pi pi 169 6 jul 20:25 Versiebeheer.txtpi@raspberrypi:~ $
Deze kreeg een tijdstempel in de naam.cat /media/SambaDrive/Sync/Versiebeheer.sync-conflict-20240706-202510-XLTFCKX.txt
Deze tekst is de eerste versie, met andere woorden een ruwe schets.
- Sommige bestanden en mappen zijn verborgen (naam begint met een punt).
Deze verborgen mappen zijn standaard niet zichtbaar in met Samba gedeelde mappen.
Verborgen mappen en bestanden worden niet zomaar verborgen, ze bevatten dikwijls kritieke gegevens die je niet ongestraft kunt aanpassen en/of verwijderen.
M.a.w. probeer het volgende niet thuis (op eigen risico) (een gewaarschuwde man of vrouw is er twee waard) (enz.):
- Voeg in het configuratiebestand van Samba in de sectie NAS de volgende regel toe:
hide dot files = no
- Zorg dat Samba de nieuwe configuratie gebruikt.
- Test in Windows Verkenner of je nu de map .stfolder kunt openen.
- Voeg in het configuratiebestand van Samba in de sectie NAS de volgende regel toe:
- Openmediavault is een opensource NAS-server.
Je benadert de openmediavault NAS in je netwerk met alle gangbare protocollen (SMB/CIFS, NFS, RSync en meer) en configureert de schijven en diverse scenario's (individueel of RAID).
- Daar openmediavault niet geïnstalleerd kan worden op een Raspberry Pi OS Desktop systeem, maken we een SD-kaart aan met het besturingssysteem Raspberry Pi OS Lite (64-bit) die je kan vinden in de groep Raspberry Pi OS (other). Zorg daarbij voor een correcte configuratie (OS aanpassen).
- Start de Raspberry Pi met een aangesloten netwerkkabel (beter voor een NAS en dus ook openmediavault) en werk het systeem bij:
pi@raspberrypi:~ $
sudo apt update && sudo apt upgrade -y
Hit:1 http://deb.debian.org/debian bookworm InRelease Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [23.6 kB] Get:5 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [162 kB] Get:6 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [165 kB] Get:7 http://deb.debian.org/debian-security bookworm-security/main Translation-en [101 kB] Get:8 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages [417 kB] Get:9 http://archive.raspberrypi.com/debian bookworm/main armhf Packages [419 kB] Fetched 1390 kB in 1s (955 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 4 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 548 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://deb.debian.org/debian-security bookworm-security/main arm64 libgssapi-krb5-2 arm64 1.20.1-2+deb12u2 [124 kB] Get:2 http://deb.debian.org/debian-security bookworm-security/main arm64 libkrb5-3 arm64 1.20.1-2+deb12u2 [313 kB] Get:3 http://deb.debian.org/debian-security bookworm-security/main arm64 libkrb5support0 arm64 1.20.1-2+deb12u2 [31.8 kB] Get:4 http://deb.debian.org/debian-security bookworm-security/main arm64 libk5crypto3 arm64 1.20.1-2+deb12u2 [79.4 kB] Fetched 548 kB in 0s (6241 kB/s) apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct! apt-listchanges: Reading changelogs... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_TIME = "nl_BE.UTF-8", LC_MONETARY = "nl_BE.UTF-8", LC_ADDRESS = "nl_BE.UTF-8", LC_TELEPHONE = "nl_BE.UTF-8", LC_NAME = "nl_BE.UTF-8", LC_MEASUREMENT = "nl_BE.UTF-8", LC_IDENTIFICATION = "nl_BE.UTF-8", LC_NUMERIC = "nl_BE.UTF-8", LC_PAPER = "nl_BE.UTF-8", LANG = "en_GB.UTF-8" are supported and installed on your system. perl: warning: Falling back to a fallback locale ("en_GB.UTF-8"). locale: Cannot set LC_ALL to default locale: No such file or directory (Reading database ... 56042 files and directories currently installed.) Preparing to unpack .../libgssapi-krb5-2_1.20.1-2+deb12u2_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.20.1-2+deb12u2) over (1.20.1-2+deb12u1) ... Preparing to unpack .../libkrb5-3_1.20.1-2+deb12u2_arm64.deb ... Unpacking libkrb5-3:arm64 (1.20.1-2+deb12u2) over (1.20.1-2+deb12u1) ... Preparing to unpack .../libkrb5support0_1.20.1-2+deb12u2_arm64.deb ... Unpacking libkrb5support0:arm64 (1.20.1-2+deb12u2) over (1.20.1-2+deb12u1) ... Preparing to unpack .../libk5crypto3_1.20.1-2+deb12u2_arm64.deb ... Unpacking libk5crypto3:arm64 (1.20.1-2+deb12u2) over (1.20.1-2+deb12u1) ... Setting up libkrb5support0:arm64 (1.20.1-2+deb12u2) ... Setting up libk5crypto3:arm64 (1.20.1-2+deb12u2) ... Setting up libkrb5-3:arm64 (1.20.1-2+deb12u2) ... Setting up libgssapi-krb5-2:arm64 (1.20.1-2+deb12u2) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u7) ... - Openmediavault installeer je door het volgende installatiescript te downloaden en uit te voeren:
pi@raspberrypi:~ $
Het script bouwt Raspberry Pi OS om tot een openmediavault NAS, en dat neemt tijd in beslag. Na de installatie herstart de Raspberry Pi. Dit gebeurt niet als je de installatie via SSH uitvoert, maak dan een nieuwe SSH verbinding en herstart manueel:wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
... Removing libqmi-utils (1.32.2-1) ... Removing libgudev-1.0-0:arm64 (237-2) ... Removing libqmi-proxy (1.32.2-1) ... Removing libqmi-glib5:arm64 (1.32.2-1) ... Removing libmbim-utils (1.28.2-1) ... Removing libmbim-proxy (1.28.2-1) ... Removing libmm-glib0:arm64 (1.20.4-1) ... Removing libndp0:arm64 (1.8-1+deb12u1) ... Removing libnm0:arm64 (1.42.4-1+rpt1) ... Removing libqrtr-glib0:arm64 (1.2.2-1) ... Removing libteamdctl0:arm64 (1.31-1) ... Removing libmbim-glib4:arm64 (1.28.2-1) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for dbus (1.14.10-1~deb12u1) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u7) ... (Reading database ... 64488 files and directories currently installed.) Purging configuration files for network-manager (1.42.4-1+rpt1) ... dpkg: warning: while removing network-manager, directory '/etc/NetworkManager/system-connections' not empty so not removed Purging configuration files for dnsmasq-base (2.89-1) ... Purging configuration files for raspberrypi-net-mods (1.4.1) ... Purging configuration files for modemmanager (1.20.4-1) ... Processing triggers for dbus (1.14.10-1~deb12u1) ... [2024-07-08 16:57:59+0200] [omvinstall] Enable and start systemd-resolved ... [2024-07-08 16:57:59+0200] [omvinstall] Unblocking wifi with rfkill ... [2024-07-08 16:57:59+0200] [omvinstall] Adding eth0 to openmedivault database ... [2024-07-08 16:57:59+0200] [omvinstall] IP address may change and you could lose connection if running this script via ssh.pi@raspberrypi:~ $
sudo shutdown -r now
Broadcast message from root@raspberrypi on pts/1 (Tue 2024-07-09 15:38:26 CEST): The system will reboot now! - Om de openmediavault NAS te configureren, surf je op een ander apparaat naar raspberrypi.local.
Je kunt inloggen met de volgende standaard gegevens:
Login: admin Password: openmediavault
- Hoe je een NAS configureert gaat voor deze cursus te ver.
Een handleiding voor openmediavault kan je vinden op het internet via de knop en de opdracht Documentation.
- Vanzelfsprekend bestaan er kant en klare NAS images voor de Raspberry Pi.
EasyNAS en Rockstor zijn daar voorbeelden van.
Er bestaat zelfs een modern cloud systeem: NextCloud.
Op het eerste zicht lijkt het gebruik van een kant en klaar image eenvoudiger, maar:
- Je bent voor de verdere ontwikkeling en updates afhankelijk van de image maker.
- Je kunt meestal zelf geen aanpassingen uitvoeren op een systeem dat je niet kent. Informatie vinden over een specifiek image is veel moeilijker dan voor Rasperry Pi OS.
- Je kunt geen extra software of projecten combineren op zo'n image. Denk aan een mediaserver in combinatie met een NAS en WiFi Access Point. Ook een automatisch back-upsysteem als SyncThing toevoegen wordt dan moeilijk tot onmogelijk.
FreeFileSync
Syncthing
Openmediavault
- Elk bestandssysteem heeft zijn eigen kenmerken en eigenschappen. Een reservekopie is pas identiek als het bestandssysteem dat gebruikt wordt om de reservekopie op te slaan minstens dezelfde kenmerken en eigenschappen als het oorspronkelijke bestandssysteem heeft.
- Het FAT bestandssysteem is oud, maar wordt nog veel gebruikt omdat het door iedere gebruiker en apparaat kan gebruikt worden. FAT kent namelijk geen rechten en gebruikers. Een tweede reden voor zijn populariteit is dat iedereen het mag gebruiken zonder auteursrechten te moeten betalen.
- ExFAT is de opvolger van FAT en kent eveneens geen rechten en gebruikers (ideaal om bestanden uit te wisselen). Het laat zeer grote opslagruimtes en bestanden toe. ExFAT is nog onderhevig aan auteursrechten.
- Alle andere bestandssystemen zijn bedoeld voor vast gebruik in één apparaat. Dit komt vooral door het gebruik van gebruikers en rechten, wat de privacy van de gegevens moet garanderen, maar daardoor niet uitwisselbaar is. Voorbeelden zijn NTFS (Windows), HFS+ (macOS) en Ext4 (Linux).
- De volgende generatie bestandssystemen worden nu reeds in grote systemen en op NAS apparaten gebruikt (BTRF en ZFS). Ze worden in NAS apparaten gebruikt omdat ze alle kenmerken en eigenschappen hebben van alle vandaag de dag gebruikte bestandssystemen, dus ideaal om reservekopie's op te plaatsen. Daarnaast is versiebeheer in het bestandssysteem ingebakken.