16 pagina's
EXTRA
Windows 10 November Update: in één keer goed?
Asus Vivobook met touchpad-display
Spraakassistenten Google Assistent • Apple Siri • Amazon Alexa • praktijk, privacy en toekomst Nieuw in Windows Verkenner Usb-media automatisch mounten Internetproblemen met Windows Kleurkalibratie bij Linux
GETEST
Ubiquiti nanoHD accesspoint AVM Fritz-repeaters Blender 2.8 3D-software Ubuntu 19.10
Online betalen zonder risico
PayPal, iDeal, creditcard en andere • Kies de beste methode • Krijg je geld terug
AMD’s RDNA-architectuur DirectX-raytracing Ryzen 3000 overklokken Godot game-engine
Budget gaming-pc X570-moederborden Radeon RX 5700 (XT) Logitech gaming-muis
€ 6,99
AP
december 2019
Extra: Gaming-pagina's GETEST
Spraakassistenten: praktijk, privacy en toekomst • Ubiquiti nanoHD • Online betalen • Internetproblemen oplossen • Extra: Gaming-pagina's
12
december 2019
www.ct.nl
Thema's Spraakassistenten 34 Spraakassistenten worden gemeengoed 39 Spraakassistenten in de praktijk getest 44 De toekomst van spraakassistenten 46 Spraakassistenten en privacy
34
SPRAAKASSISTENTEN
Bijna iedereen komt wel eens in aanraking met Googles Assistent of Apples Siri. Daarom is het goed om te begrijpen hoe die assistenten werken, want het zijn niet puur speeltjes, maar ook geen alleskunners – en ook geen dataspionnen.
Online betalen 52 Hoe zit online betalen in elkaar 54 De juiste betaalmethode kiezen 60 Veilig kopen en je geld retour krijgen
Nieuws 6 8 10 12
Algemeen Hardware Wetenschap Mobiel
14 16 30 33
Linux Software Lifestyle Surftips
Software
52
VEILIG EN MAKKELIJK ONLINE BETALEN
Online iets kopen is een kwestie van een paar keer klikken. Maar wat is nu de beste manier om te betalen? Creditcard, PayPal, iDeal of ga je nog ouderwets geld overschrijven? We lichten toe welke methode je het beste kunt gebruiken.
28 28 29 29 31 32 114 154
Fish commandline-shell voor Linux Dino instant-messenger ShareMouse 5 remote control Setting Sync voor Visual Studio Code Apps Games: Pine, FIFA 20 Text-expansion-tools voor Windows vergeleken Gratis 3D-modeling met Blender 2.8
Hardware 22 22 24 25 26 27 64
4
Mikrotik hAP ac2 en cAP accesspoints Lenovo IdeaPad C340 14"-laptop Asus VivoBook S15 15,6"-laptop Ubiquiti UniFi nanoHD en In-Wall HD accesspoints Fairphone 3 Android-smartphone AVM Fritz-repeater 2400 Spiegelloze fotocamera's getest
www.ct.nl
Inhoud
12/2019
Achtergrond
Vaste rubrieken
122 Waarom Windows en Linux struikelen over de tijd 124 EDRS satellietproject: datasnelweg in de ruimte 132 Ontwikkeling van micro- en nano-robots
3 4 161 162
Voorwoord Inhoud Colofon Volgend nummer
Praktijk
Zakelijk uitgelicht
48 70 120 128 136 141 144 148 158
25 Ubiquiti UniFi nanoHD en In-Wall HD accesspoints 29 SettingSync voor Visual Studio Code 136 Yunohost (thuis)server voor web-apps 141 Excel met realtime data voor automation en analyse
Verkenner 'nieuw'-submenu naar eigen smaak FAQ: NAS/netwerkopslag Usb-schijven automatisch mounten met systemd Internetproblemen verhelpen met Windows-tools Yunohost (thuis)server voor web-apps Excel met realtime data voor automation en analyse Monitorkalibratie en kleurbeheer onder Linux De eigenschappen en bijzonderheden van NTFS Tips en trucs
Gaming
Abonnement afsluiten? Kijk voor actuele aanbiedingen op www.fnl.nl/ctabo
73 Sapphire Pulse Radeon RX 5700 & 5700 XT 73 Zotac Gaming GeForce RTX 2060 Super Mini 74 X570-moederborden voor gamers 80 MSI Infinite X Plus game-systeem 80 Logitech G915 Lightspeed toetsenbord 82 AMD's RDNA-architectuur voor gpu-chips 84 DirectX-raytracing voor GTX-gpu's 88 Ryzen 3000 overklokken 92 Gigabyte Aorus liquid cooler 360 92 Logitech G604 Lightspeed muis 94 FPS-benchmarks in percentielen 96 Asus ROG Zephyrus G gaming-laptop 98 Game-ontwikkeling met Godot-engine 104 3D-modellen met de Godot-engine 108 Bouwvoorstel: budget full-hd gaming-pc 112 Lenovo Legion Y44W-10 43"-monitor 112 Toshiba X300 harde schijf 113 Razer Core X Chroma gpu-behuizing uitgave 12/2019
5
Asus VivoBook S15
Veelzijdig geheel De VivoBook S15 heeft genoeg te bieden met zijn matte scherm, quadcore Intel Core i5-quadcore, ssd en verlicht toetsenbord. Het handige ScreenPad zorgt voor nog efficiëntere input. Ingeklapt is hij nog geen 2 centimeter hoog.
Florian Müssig en Alieke van Sommeren Een aantal van de eigenschappen van de VivoBook S15 zag je voorheen alleen bij laptops met een viercijferig prijskaartje. Het matte scherm heeft een zeer ruime kijkhoek en de randen zijn dun, waardoor het scherm een stuk groter oogt dan het is. De behuizing voelt degelijk aan, maar het achterkant van het scherm geeft wel wat veel mee. Maar dat is niet zo vreemd gezien de zeer dunne behuizing voor het scherm. De toetsen hebben drie stappen aan verlichting en typen comfortabel. Het is wel even wennen aan de lay-out met de Enter-toets van één regel hoog en de vier cursortoetsen die op een enkele regel zijn geperst. De numlock zit ook net even ergens anders. Het touchpad herkent gestures met vier vingers tegelijk. Met een druk op het toetsenbord wissel je tussen de klassieke touchpad-mode en de ScreenPad-modus. De linkerkant van de laptop heeft twee usb-poorten (type A), die opvallend genoeg nog USB 2.0 zijn. Prima voor het aansluiten van een toetsenbord en muis, maar voor deze prijs hadden we toch USB 3.1 verwacht. Daarnaast zit een subtiel ledje die aangeeft dat de laptop wordt geladen. Aan de rechterkant zit direct na de aansluiting voor de adapter een HDMI-aansluiting. Daarnaast zit een USB 3.1-aansluiting van type A (Gen
1) en een USB 3.1-aansluiting van het type USB-C, wederom Gen 1. De rij wordt afgesloten met een combi 3,5mm-jackplug en een microSD-kaartlezer. De S15 die we in handen hebben gehad heeft een Intel Core i5-8264U quadcore van 1,6 GHz en een turbo tot 3,9 GHz (Intel Whiskey Lake). Naast de graphics unit vanuit de cpu verzorgt een GeForce MX250 het aansturen van de pixels voor het 15,6”-scherm (IPS) met full-hd-resolutie Er zit er 8 GB aan werkgeheugen ingebouwd en de opslag is een 512GB-ssd van Western Digital, M.2 NVMe-variant. Maar er is nog wat andere keuze aan hardware: je kunt kiezen voor een i7-8565U en 12 of maximaal 16 GB 2400 MHz DDR4 en maximaal 1 TB aan ssd-opslag (PCIe). Voor het besturingssysteem heb je de keuze uit Windows Home of Pro. De IR HD-camera is geschikt voor aanmelden via Windows Hello en via een enkele toets op het toetsenbord snel in- of uit te schakelen. Harmon Kardon zorgt voor het geluid van de laptop. Dat klinkt beter dan een standaard setje speakers, maar een echt volwaardig geluid moet je niet verwachten. Het ScreenPad maakt het multitasken en/of werken met veel programma’s fijner. Het fijn brede 5,65”-scherm kan zowat elke Windows-app verkleind weergeven,
maar scoort vooral als het gaat om handiger en sneller werken met favoriete programma’s. Het werken met het pad gaat lekker vlot en voor de resolutie valt uit twee opties te kiezen. En is het niet je ding? Dan schakel je hem met een dedicated toets op het toetsenbord om naar een normaal touchpad of geheel uit. De handige sneltoetsen op de bovenste rij voor onder meer de eerder genoemde toetsverlichting en ScreenPad-optie zet je met Fn-Esc om naar de klassieke F-toetsen, voor het geval je bijvoorbeeld een fanatieke Alt-F4-gebruiker bent. Het ac-wifikaartje van Realtek is een PCIe-variant en geen CNVi-versie. Daardoor kun je in de toekomst besluiten er een sneller ax-kaartje voor Wi-Fi 6 in te stoppen. Nadat de garantie is verlopen, uiteraard. Het ErgoLift-scharnier om de laptop in een betere typhouding te zetten werkt licht en soepel. Twee rubber strips houden hem stevig op z’n plek en de overige vier voeten zijn prima stroef. Het oplichten van de achterkant en het iets naar boven komen van het scherm helpt ook voor de koeling. De laptop bleef tijdens gebruik prettig stil. Ingeklapt is hij nog geen twee centimeter hoog. De 42Wh-accu laadt in een klein uur 60 procent op via de compacte 90W-adapter.
cpu geheugen gpu opslag extra's
Intel Core i5-8264U quadcore 8 GB DDR5 2400 MHz Nvidia GeForce MX250 512 GB M.2 NVMe ScreenPad, IR HD-camera (Windows Hello)
asus.com/nl € 850
24
www.ct.nl
Review / Hardware
Ubiquiti nanoHD en In-Wall HD
Onopvallend wifi uitdelen De compacte Ubiquiti NanoHD voor aan het plafond of de muur kan je van snel wifi voorzien. De In-Wall HD schroef je aan de muur en heeft nog wat extra’s te bieden dan puur alleen accesspoint.
Ernst Ahlers en Alieke van Sommeren Uitgebreide wifinetwerken zijn niet alleen voorbehouden aan bedrijven, hotels en scholen. Ook bij een moderne woning kun je wel wat wifi-power gebruiken. Binnen het Unifi-systeem van Ubiquiti zijn er twee nieuwe wifi-accesspoints met Wi-Fi 5 bijgekomen. De ronde nanoHD is voor aan een muur of liever nog het plafond bedoeld, de In-Wall HD is gericht op montage op een installatiedoos aan de muur in bijvoorbeeld hotels. De HD staat voor High Density en geeft aan dat het om accesspoints gaat die tot maximaal 200 clients aan kunnen. Voor de NanoHD houdt Ubiquiti het aantal clients op maximaal 125, bij de In-Wall op 80 stuks. De twee apparaten hebben dezelfde basis qua hardware. Het gaat om een Mediatek MT7621-cpu (MIPS-dualcore met 880 MHz) en twee wifi-chips in de vorm van de MT7603 en MT621 die zorgen voor de beide frequentiebanden. Voor het instellen en verdere acties heb je de Unifi Controller nodig. Die kan draaien als een Docker-container op je NAS of als los netwerkapparatuur (Cloud Key 2, zie c’t 10/2019 op pagina 23). Bij een enkele NanoHD krijg je een houder voor aan het plafond of de muur, setje schroeven en ook een PoE-injector (IEEE 802.af) meegeleverd.
Bij een 3-pack of 5-pack ontbreekt de injector. Als de standaard witte behuizing niet goed past bij de omgeving waar je hem neer wilt hangen, kun je nog kiezen uit zes andere skins (zwart, marmer, hout, etc). Ook voor de IW-HD zijn er zes andere kappen beschikbaar. Het ‘in de muur’ zitten van de In-Wall HD is een beetje overdreven. Het accesspoint zit op de muur geschroefd, op een installatiedoos met utp-kabel die past op de RJ45poort aan de achterkant. De In-Wall HD steekt zo’n 3 centimeter van de muur uit. Via de geïntegreerde switch leid je als je wilt verschillende (via VLAN’s gescheiden netwerken) door via de vier netwerkpoorten aan de onderkant. Denk voorbeeld aan een smart-tv in een hotelkamer. Een van de poorten kan voor de energievoorziening (IEEE 802.3af) zorgen, bijvoorbeeld voor een VoIP-telefoon. Door de installatie van de In-Wall-HD raak je dus geen netwerkfuncties kwijt. De accesspoints zorgen voor een Wi-Fi 5verbinding, maar we hebben ze getest in combinatie met de nieuwe Intel AX200 Wi-Fi 6client. Hierdoor zijn de resultaten beperkt te vergelijken met eerdere wifi-tests. Bij het testen met drie oudere usb-clients (Linksys WUSB6100M, singlestream 11ac) haalden
de beide accesspoints duidelijk meer uit MU-MIMO. Afhankelijk van de set-up haalden de AP’s in groepsmodus tussen de 49 en 103 procent meer totale doorvoer dan de gemiddelde waarde van een enkele stream. Met twee AX200-clients die WiFi 6-gecertificeerd zijn, kwamen we in het beste geval tot 25 procent betere waarden. De gemeten netto doorvoersnelheid over 20 meter door muren heen was bij onze testset-up goed tot zeer goed. Op de 2,4GHz-band werd 80 tot 115 Mbit/s gehaald door de nanoHD, de In-Wall HD scoorde daarbij 107 tot 187 Mbit/s. Op de 5GHz-band op 20 meter afstand kwamen we uit op 153 tot 198 Mbit/s bij de nanoHD en 146 tot 286 voor de In-Wall HD. Bij beide accesspoints was de oriëntatie daarbij wel van invloed. Meestal komt het bij de dome-vormige accesspoints van Ubiquiti er op neer om ze als het even kan aan het plafond te monteren. Met de NanoHD en de In-Wall HD heeft Ubiquiti twee nieuwe aantrekkelijke accesspoints voor zijn Unifi-wifisysteem beschikbaar gemaakt. Ze zijn compact, doordacht in elkaar gezet, vallen nauwelijks op en zorgen voor een snel wifi. De accesspoints zijn aan de prijs, maar je krijgt wel veel waar voor je geld.
wifi Wi-Fi 4, Wi-Fi 5, max 2,033 Gbit/s aansluitingen PoE 1 × RJ45 (af-in) (nanoHD), 5 × RJ45 (at-in, af-out, In-Wall HD) snelheid 2,4 G/ 5 GHz 190 / 407 Mbit/s (nanoHD) 187 / 419 Mbit/s (In-Wall HD)
ui.com € 255 (nanoHD) € 255 (In-WallHD)
uitgave 12/2019
25
ALLES OVER DIT ONDERWERP Wat assistenten kunnen Test: Google Assistent, Apple Siri e.a. De assistent van de toekomst Assistenten en privacy
INTIEME HULPJES
De relatie tussen spraakassistenten en privacy Of het nu gaat om Amazon, Google of Apple: alle aanbieders van spraakassistenten hebben opnames van klanten laten beluisteren door (externe) medewerkers. Toen dat bekend werd, beloofden meteen ze beterschap en meer transparantie. De vraag is echter of je spraakassistenten kunt gebruiken zonder inbreuk op je privacy en of je aanbieders kunt vertrouwen. Holger Bleich en Marco den Teuling
Z
e krijgen dagelijks honderdduizenden vragen over zich heen. En als ze een keer niet reageren zoals gewenst, horen ze ook het nodige gemopper en gevloek. Amazon Alexa, Google Assistent en Apple Siri hebben het maar zwaar. Gebruikers zijn nog niet helemaal tevreden met de werking van de spraakassistenten, maar de onthullingen over hoe met spraakdata van klanten wordt omgegaan zorgen al helemaal voor de nodige ophef. Aanleiding waren berichten in de media over het door mensen beluisteren en beoordelen van spraakopdrachten. Nieuwsbureau Bloomberg sprak
46
34 37 44 46
bijvoorbeeld met zeven Amazon-medewerkers die de hele dag niets anders deden dan Alexa-opnames uit woonkamers van gebruikers beluisteren. De Belgische zender VRT NWS kon ruim 1000 Nederlandstalige spraakopnames van Google Assistent beluisteren die het kreeg toegespeeld via een onderaannemer van Google. De journalisten konden de opnamen aan de hand van soms erg persoonlijke dingen die werden gezegd herleiden tot concrete personen. Apple maakt er graag reclame mee dat ze privacy van gebruikers heel belangrijk vindt. Een medewerker van een opdrachtnemer van Apple liet de Britse krant The Guardian echter weten dat bij Apples Siri soortgelijke afluisterpraktijken speelden. Het Duitse Spiegel Online sprak met medewerkers die in zes à zeven uur tijd tussen de 1200 en 1600 opnames verwerkten. Wat de medewerkers die aan het transcriberen van opnamen meewerken konden bevestigen, was dat spraakassistenten ook onbedoelde opnames registreren omdat ze denken een activatiewoord gehoord te hebben.
DOMME ASSISTENTEN
Vast staat in elk geval dat een groot en onbekend aantal spraakopnames door de belangrijkste aanbieders van spraakassistenten is doorgestuurd naar interne en externe medewerkers om ze te transcriberen en beoordelen. Maar waarom eigenlijk? Elk van die gesloten systemen maakt gebruik van machinaal leren. Volgens AI-experts vereist dat op zijn minst voor het controleren van de vorderingen een evaluatie door mensen. Spraakopdrachten zitten vol onduidelijkheden waar een machine niet altijd mee overweg kan, bijvoorbeeld dialecten, een accent of spreekfouten. Om fouten in de toekomst
www.ct.nl
Achtergrond / Spraakassistenten: privacy
te verminderen en gebruikers tevredener te stellen, moeten de systemen dan ook voortdurend worden gecontroleerd en bijgestuurd door mensen. Wat de bedrijven nu verweten krijgen, ligt aan hun eigen marketing. Ze hebben bij gebruikers de indruk gewekt dat die met alwetende en slimme machines praten. In tv-reclames verstaan assistenten zoals Alexa altijd alles en hebben ze overal een passend antwoord op, zonder dat daar menselijke hulp aan te pas komt.
GOED GEÏNFORMEERD?
Als Amazon en andere spraakassistenten daar naar klanten toe duidelijk over waren geweest en je een keus hadden gegeven, was dat niet zo'n probleem geweest. Maar het tegendeel is waar. Waarschijnlijk zijn er maar heel weinig gebruikers van Alexa, Google Assistent en Siri die de ellenlange gebruiksvoorwaarden en privacystatements ooit doorgelezen hebben. Zelfs als je dat al gedaan zou hebben, had je waarschijnlijk niet verwacht dat veel van de per ongeluk van je gemaakte spraakopnames door externe medewerkers op hun thuiswerkplek of aan de keukentafel zouden worden beluisterd, getranscribeerd en beoordeeld. In de voorwaarden staan meestal generieke uitspraken over kwaliteitsverbetering. Er is in elk geval één ding waar die voorwaarden niet voor zorgen: goed geïnformeerde gebruikers. Maar dat is wel wat de Europese privacywetgeving verlangt en wat ook voor Amerikaanse bedrijven geldt als ze hun producten hier aanbieden. De Algemene verordening gegevensbescherming (AVG) voorziet in hoge straffen en boetes als gebruikers niet voldoende geïnformeerd worden over de verwerking en het doorgeven van hun gegevens. Zowel tegen Apple als Google zijn al rechtszaken aangespannen vanwege het meeluisteren. De aanbieders van spraakassistenten hebben gereageerd op alle ophef. Google is naar eigen zeggen tijdelijk gestopt met het beluisteren van spraakopnames. Gebruikers wordt (opnieuw) gevraagd om toestemming, waarbij wordt vermeld dat fragmenten door medewerkers beluisterd kunnen worden. Google zegt minder opnames te zullen maken en die beter te anonimiseren. En om spraakopdrachten makkelijker te kunnen verwijderen, komen er ... spraakopdrachten. De gevoeligheid van het activatiewoord wordt ook aanpasbaar gemaakt. Volgens Google ging het bij het beluisteren van spraakopnames maar om circa 0,2 procent van alle fragmenten. Ook Apple zegt gestopt te zijn met het laten beluisteren van Siri-opnames. Via een update van iOS moet je als gebruiker beter worden geïnformeerd en via opt-in wordt om toestemming gevraagd om sporadisch opnames te beluisteren. Volgens Apple zijn Siriopnamen niet aan de Apple-ID gekoppeld en dus niet tot specifieke personen te herleiden. Maar net als bij de concurrentie is dat natuurlijk onzin als er bijvoorbeeld namen worden genoemd in de opnames. Gebruikers van Alexa moeten het beluisteren uitschakelen via opt-out. De bewoordingen zijn
uitgave 12/2019
bovendien onduidelijk en bij het uitschakelen krijg je een waarschuwing dat de spraakherkenning dan mogelijk niet goed werkt. Daarna moet je nogmaals bevestigen. Het recht op opt-out wordt op die manier wel erg onaantrekkelijk gemaakt.
OPNAMES WISSEN
In principe blijven spraakopnames bij alle aanbieders onbeperkt bewaard. Bij Amazon en Google kun je afzonderlijke opnames beluisteren en wissen. Bij Apples Siri is dat niet mogelijk, daar is het alles of niets. Alle opnames verwijderen doe je door Siri (tijdelijk) uit te schakelen via de iOS-instellingen onder ‘Siri en zoeken’. Zowel ‘Luister naar ‘Hey Siri’’ als ‘Druk op de zijknop voor Siri’ moet je daartoe uitschakelen, dan zouden volgens Apple alle opnamen uit de cloud moeten verdwijnen. Je moet ook bij de toetsenbordinstellingen (‘Algemeen / Toetsenbord’) de dicteerfunctie uitzetten. Apple wijst erop dat ‘oude opnames die niet aan je identiteit zijn gekoppeld’ nog een tijd bewaard kunnen blijven. Bij Amazon staat de optie om alles te verwijderen op de website bij ‘Je content en apparaten beheren / Privacy en Alexa’ of in de Alexa-app. Je kunt afzonderlijke spraakopnames of een bepaalde periode wissen. Hier activeer je ook de nieuwe optie ‘Verwijderen met stem inschakelen’ om via stemopdrachten je spraakopnames te laten wissen. Bij Google Assistent kun je het makkelijkst met een browser inloggen op je Google-account en gaan naar ‘Gegevens en personalisatie / Mijn activiteit’. Je kunt daar ‘Kiezen voor automatische verwijdering’ van spraakopnames en andere web- en appactiviteit na een bepaalde periode. Via de filteroptie kun je alleen Assistent-activiteit laten weergeven en losse items verwijderen of met de menuknop (drie puntjes) alle ‘Resultaten verwijderen’. Of de gegevens bij alle aanbieders dan ook daadwerkelijk onherroepelijk verdwenen zijn, valt niet te controleren. Je moet ze op dat punt dus maar vertrouwen. Gezien de manier waarop dat vertrouwen al eerder is geschaad, zal dat voor veel gebruikers niet makkelijk zijn.
Bij Google kun je spraak- en andere gegevens automatisch laten verwijderen na een bepaalde tijd.
47
SCHIJVENAUTOMAAT
Usb-schijven automatisch mounten met systemd Als je bij Linux bestanden naar een externe schijf wilt kopiëren, moet je vaak aan de slag met onoverzichtelijke udev-regels en inflexibele shell-scripts om een schijf te mounten. Met systemd-units heb je een eenvoudige, overzichtelijke en betrouwbare oplossing.
OPBOUW
Om een back-up automatisch te laten verlopen, zijn er drie units nodig: een mount-unit voor het koppelen, een automount-unit voor de automatisering en een service-unit die de daadwerkelijke back-up regelt. Een eenvoudige mount-unit voor de back-up-drive: [Unit]
Merlin Schumacher en Daniel Dupré
E
en back-up is soms het laatste redmiddel wanneer een thuisserver, laptop of pc de geest heeft gegeven. In dergelijke gevallen is het slim om de backup van een systeem niet op het apparaat zelf op te slaan. In zo’n geval raden wij een offsite-back-up op een extern opslagmedium aan. Dat kan een server of een usb-schijf op een andere locatie zijn. Sowieso is alles is beter dan geen back-up. Als je en Linux-server en een usb-medium voor het opslaan van gegevens gebruikt, kun je het zo instellen dat de back-up begint zodra het station wordt aangesloten. Met systemd mount-units krijg je dat elegant en flexibel voor elkaar, want systemd is altijd precies op de hoogte in welke toestand de services en apparaten zich bevinden. Voor we aan de praktijk beginnen is er echter een beetje theorie nodig. Systemd werkt ook wanneer je drives met units mount. In dat geval betreft het de mountunits. Die werken in principe net zoals de bekendere service-units, maar beschikken over andere parameters. Mogelijk heb je er bij het beheer van een Linux-systeem al indirect enkele gegenereerd. Wanneer je in het bestand /etc/fstab entry’s voor het mounten van de drives invoert, leest de daemon of de kernel die namelijk niet direct in. Dat doet de tool systemd-fstab-generator. Systemd start hem om uit de tabel passende mount-units te genereren. Die slaat de units op in /run/ systemd/generator. Je herkent ze aan de bestandsnaamsuffix .mount. Systemd verwerkt deze mountunits zelf pas en mount daarmee de drives.
Description=Mount backup drive [Mount] Where=/mnt/backup What=/dev/disk/by-partuuid/506f6352-01 [Install] WantedBy=multi-user.target
Zoals alle systemd-units lijkt deze op een van de bekende INI-bestanden uit Windows. De blokken [unit] en [install] zijn typische systemd-units. De eerste bevat informatie over de unit. In dit geval is dat alleen een korte beschrijving. Met [install] leg je vast onder welke systeemtoestand (target) de unit moet vallen. Hier is dat wanneer de toestand multi-user wordt bereikt. De targets komen ongeveer overeen met sysvinit-runlevels. multi-user is in bijna alle gevallen de juiste keuze. Beslissend voor de mount-unit is het blok [mount]. Hier definieert what welk blok-apparaat wordt gemount en definieert where het mountpoint. Om het juiste apparaat te identificeren, voer je sudo blkid in. Dan krijg je een lijst te zien van alle aanwezige drives en hun ID’s. Aan de hand van die attributen, dus de UUID’s, partitieUUID’s of stationsbeschrijvingen (labels), kun je de apparaatnamen onder /dev/disk/by-* bepalen. De apparaatnamen die daar verschijnen zijn statisch zolang het attribuut van het apparaat niet verandert. Op die manier heb je geen problemen met veranderende apparaatnamen zoals /dev/sdi1. Als je twee back-up-drives afwisselend gebruikt, moet je identieke stationsnamen instellen, want de UUID’s van elk apparaat zijn verschillend en kunnen ook niet hetzelfde zijn. Met de stationsnamen krijgen beide drives altijd dezelfde apparaatnaam onder /dev/disk/
Met het commando blkid zie je welke eenduidige attributen de aangesloten drives hebben en die in de mount-units gebruiken. De back-updrive hebben we rood onderstreept.
120
www.ct.nl
Praktijk / Automount met systemd
by-label. Als beide drives ‘mijnbackup’ heten, wordt de apparaatnaam /dev/disk/bylabel/mijnbackup. Indien beide apparaten tegelijk zijn aangesloten, krijgt het tweede apparaat de naam mijnbackup-1.
NOMENCLATUUR
Om ervoor te zorgen dat systemd de mount-unit ook accepteert, heb je nog een geschikte naam nodig. Die moet een specifieke standaard voldoen. Alle padonderdelen moeten met ‘-’ in plaats van een slash van elkaar gescheiden worden en speciale tekens worden gemaskeerd door \x met daarachter een hexadecimale code. Gelukkig hebben de ontwikkelaars van systemd een tool meegeleverd die je helpt om de juiste unit-naam te vinden. De tool heet systemd-escape: systemd-escape --suffix=mount --path /mnt/backup
Met de parameter --suffix leg je vast voor welk unittype je een naam nodig hebt, en --path verwacht het mountpoint. Het maakt daarbij niet uit of die al bestaat of niet. De enige output die het programma geeft, is de naam van de mount-unit. In het voorbeeld zou de output van mnt-backup dan .mount zijn. Om je een hoop gedoe met systemd-escape te besparen, is het in het algemeen een goed plan om geen speciale tekens in het mountpoint te gebruiken. De juiste plek voor een eigen systemd-unit is altijd in /etc/systemd/system. Als je echt niet zonder speciale tekens kunt leven, moet je de output van systemd-escape direct doorsturen naar touch door een leeg bestand met een bijpassende naam te genereren, bijvoorbeeld zo:
De opdracht systemctl geeft een overzicht van de status van alle deelnemende systemd-units.
zorgen dat beide units in de toekomst actief zijn, moet je sudo systemctl enable mnt-backup.mount en sudo systemctl mnt-backup.automount invoeren. Als je de externe drive dan aansluit, koppelt systemd de drive en vind je je bestanden onder /mnt/backup.
SERVICE
Om ervoor te zorgen dat de back-up van start gaat op het moment dat de externe drive aangesloten en gemount wordt, heb je nog een service-unit nodig. Het eenvoudigste voorbeeld hiervan is: [Unit]
sudo touch $(systemd-escape
Description=Backup Service
--suffix=mount --path /mnt/backup)
[Install]
Nadat je de mount-units gegenereerd hebt, geef je de systemd-daemon via sudo systemctl daemon-reload de opdracht om alle configuraties en units opnieuw te laden. Via sudo systemctl start mnt-backup. mount of met systemctl start /mnt/backup kun je controleren of de mount-unit functioneert. Als er problemen zijn, kun je de status oproepen met systemctl status mnt-backup.mount.
AUTOMOUNT
Als je directory /run/systemd/generator kijkt, zie je daar ook bestanden waarvan de naam eindigt op .automount. Die ze automount-units geven systemd de opdracht om een mount-unit uit te voeren, dus om het gedefinieerde station te mounten op het moment dat het wordt aangesloten. Voor die units gelden dezelfde naamregels als voor de mount-units. Het automountbestand van het voorbeeld ziet er als volgt uit: [Unit] Description=Automount backup drive [Automount] Where=/mnt/backup [Install] WantedBy=multi-user.target
De verschillen met de mount-unit zijn minimaal. Daarbij heeft [automount] de plek ingenomen van het [mount]-blok en de beschrijving is anders. Bovendien is de regel die met what begint niet nodig. Om ervoor te
uitgave 12/2019
WantedBy=mnt-backup.mount [Service] ExecStart=/usr/bin/backup
Sla de inhoud op in /etc/systemd/system/my-backup.service. Bij de service-unit moet je in het gedeelte onder [install] de parameter WantedBy instellen. Die definieert de back-upservice als afhankelijkheid van de mount-unit. De waarde daarvan moet overeenkomen met de naam van de mount-unit. Op die manier weet systemd dat die service met de mount-unit kan worden uitgevoerd. In het gedeelte onder service worden de attributen van de service vastgelegd. ExecStart bepaalt welk programma moet worden uitgevoerd. Gebruik een back-uptool die zijn eigen systemd-unit heeft en die ook de back-up start. Kopieer de unit naar /etc/systemd/system en wijzig deze. Het zou voldoende moeten zijn om WantedBy aan te passen. Het vernieuwen van sudo systemctl daemonreload is een vereiste om te zorgen dat systemd de nieuwe unit inleest. Met sudo systemctl enable mybackup activeer je de unit. Als je het back-upstation dan aansluit, zorgt systemd ervoor dat de drive wordt gemount en dat de back-upservice wordt gestart. Aan het einde van het back-upproces ontkoppel je de drive weer met systemctl stop mnt-backup.mount. Verdere informatie over de mount- en automount-units vind je in de bijbehorende man-pages systemd.mount en systemd.automount.
www.ct.nl/softlink/
1912120
121
MAAK KENNIS MET MEER TIJDSCHRIFTEN
BESTEL SNEL & GEMAKKELIJK OP
WWW.FNL.NL