LINUX POWE RED BY
DE COMPLETE GIDS VOOR BEGINNERS EN GEVORDERDEN
Mint, Ubuntu of Debian?
EN VERDER
LINUX MINT
De beste software, tips en handige instellingen
Zet je eigen thuisserver op De beste package-managers Netwerk virtualiseren en werken met WebDAV
GAMEN MET LINUX
Van racegames tot flightsims LINUX VIRTUALISEREN
Makkelijk en veilig uitproberen OOK HANDIG
ALLE SNELTOETSEN EN COMMANDO’S BIJ ELKAAR
BP
DE COMPLETE LINUX-GIDS
KIES DE JUISTE DISTRIBUTIE
€ 9,95
SPECIAL
Software - Linux in je NAS
OPEN SOURCE IS OVERAL! Linux in je NAS
Veel apparaten in je netwerk draaien Linux, zonder dat je dat misschien beseft. In deze Linux Magazine bekijken we Linux distro’s in NAS-systemen: een NAS van Western Digital en een NAS van Synology. Beide fabrikanten zijn bekende merken in de NAS-wereld. Ze hebben goedkope instapmodellen, oplossingen voor het MKB en varianten voor grotere organisaties. Bovendien draaien ze op Linux. Marcel Beelen
E
en NAS is onmisbaar. Ongeacht of je thuis met Windows, Linux of Mac werkt en ongeacht of je bij je bedrijf in een Windows-domein wereld leeft, data opslaan op een NAS met een RAID-opslag zorgt voor veilige en snelle opslag. Meestal draait een NAS op Linux, BSD of iets wat erop lijkt, omdat Linux nu eenmaal erg goed is in het ondersteunen van allerlei client-devices, ongeacht het besturingssysteem. Verschillende NAS-modellen voor thuis en het MKB bieden mogelijkheden (zoals de besproken modellen) om de data veilig beschikbaar te stellen via het internet. Er wordt via uitgaande polling toegang verleend via http. Er is dus initieel alleen uitgaand verkeer. Er hoort ook een app bij om bestanden op mobiele devices toegang te geven, via hetzelfde polling-principe.
1. Western Digital web-interface
WESTERN DIGITAL
De My Cloud Mirror-systemen van Western Digital draaien een Linux-variant. Standaard werk je met de mooie en erg gemakkelijke GUI via een webbrowser om instellingen te maken en services te starten of te stoppen. Het hele systeem is erop ingericht om met bestanden te goochelen via het netwerk: denk aan opslag, rechten, shares, cloud toegang en back-ups maken. De firmware My Cloud OS 1 voor oudere devices en My Cloud OS 3 voor nieuwe devices, wordt periodiek (elk half jaar) bijgewerkt met de laatste patches. Aan mogelijkheden als TimeMachine, NFS en SSH die de NAS biedt of opties om Wordpress of Joomla toe te voegen, leid je al bijna af dat het Linux onder de motorkap is. Maar zeker weet je dit pas als je inlogt met ssh.
2. uname op Western Digital
Ssh is default uitgeschakeld, maar als je het inschakelt, open je vervolgens via het netwerk een terminal-venster op de NAS. Western Digital waarschuwt dat je moet oppassen en dat er risico is dat je het systeem onwerkbaar maakt. Dat geldt natuurlijk voor elke Linux-systeem als je niet weet wat je doet. Log je in vanaf een Mac, dan gebruik je de code uit Listing 1.
LISTING 1 ssh -oHostKeyAlgorithms=+ssh-dss root@hostnaam
Dit commando gebruik je, omdat macOS sshdss standaard uitschakelt. De eerste vraag is welke kernel er draait: uname -a toont je de info. Ondanks de updates van de firmware is de kernel van dit systeem al een tijd niet geactualiseerd. Kijk je naar de binaries in /usr/bin, dan zie je dat de helft gelinkt is naar busybox (al eerder besproken in Linux Magazine, zie busybox.net).
DE COMPLETE LINUX-GIDS
17
SPECIAL
Software - Linux in je NAS
4. DSM bureaublad met geopend config scherm
5. uname op Synology
https://sourceforge.net/projects/dsgpl/. Voor ontwikkelaars heeft Synology een website ingericht: https://www.synology.com/ en-global/support/developer. Deze website is bedoeld voor ontwikkelaars, die apps willen maken voor DSM. Na het ontwikkelen van een app bied je deze aan bij Synology, die na een controle de app vervolgens in de app store plaatst. Volgens Synology zijn er een miljoen app-downloads per maand. DSM is een keer in het nieuws geweest, toen er hackers waren, die gebruik hebben gemaakt van een lek om met PWNED cryptocurrency te minen. Omdat DSM meer open is dan MyCloud zijn er meer mogelijkheden: met wat moeite draai je VirtualBox op je NAS.
ANDERE OPTIES?
Hoe zit het dan met de andere NAS-producten in de markt? Een NAS met Windows bestaat niet. De Apple Airport draait een onbekend besturingssysteem. Onderzoeken van enkele jaren geleden wezen op NetBSD en later waren er geruchten over een move naar iOS. Of is het toch een versie van macOS? Fabrikant QNAP draait QTS, een Linux-versie. Netgear draait ReadyNAS en is Linux-gebaseerd. Seagate doet het met NAS OS, Linux. ASUSTOR draait ADM, Linuxgebaseerd en biedt met de Linux Center app een virtuele Debian Linux-versie aan. Sluit een beeldscherm op de HDMI-adapter aan en je draait Linux, als VM op je NAS.
TOT SLOT
Zowel Synology als Western Digital hebben robuuste en betrouwbare NAS-servers: van klein tot groot en van goedkoop tot duur. Dat er Linux ingebed is, draagt hier zeker bij aan de stabiliteit. Als koper kijk je primair naar de functionaliteit en de gebruiksmogelijkheden. Wil je daarnaast met Linux experimenteren of spelen op je NAS? Dan is dat met DSM toch net wat gemakkelijker. Ontwikkelingen om allerlei niet-storage gebaseerde diensten te draaien op je NAS, hebben op de een of andere manier toch niet de voorkeur. Misschien leuk voor thuis, maar in het MKB? Heb je zelf Linux ervaren in ĂŠĂŠn van de apparaten in je huis en wil je erover schrijven? Heb je Philips Hue lampen gebricked? Heb je de Ziggo Horizon-box gehacked? Laat het ons weten op marcel@linuxmag.nl.
6. Synology NAS
DE COMPLETE LINUX-GIDS
19
SPECIAL
Software - Kaku mediaspeler
KAKU
Een open source desktop muziekspeler Kaku is een open source desktop muziekspeler waarmee je op je Linux desktop computer bijvoorbeeld YouTube- en Vimeo muziek kunt afspelen. Matto Fransen
K
aku is een open source muziek speler die beschikbaar is voor Linux, Max OS X en Windows. Kaku speelt de video rechtstreeks vanaf de bron. Je downloadt hiervoor een te installeren package. Voor Debian en voor Debian-gerelateerde Linux distributies, zoals Ubuntu en Mint, is een .deb-package beschikbaar.
Wij hebben het bestand Kaku-1.9.0amd64.deb gedownload, vanaf de commandline installeer je dit met “sudo dpkg -i Kaku-1.9.0-amd64. deb”. Nog eenvoudiger is het om de bestandsverkenner te gebruiken. In Linux Mint gaat dit als volgt. Klik links onderin op “Menu”, kies “Accessories” en dan “Files”. Ga naar de map “Downloads” in je homegebied. Hier vind je het gedownloade bestand. Dubbelklik hierop, dit opent de package installer. Hiermee installeer je Kaku.
TOP RANKING EN TRENDING
Wanneer je Kaku opstart, dan toont het de top ranking en trending songs van dit moment. Welke video’s hier getoond worden, is afhankelijk van het ingestelde land. Na de installatie van Kaku toonde deze bij ons de top ranking voor de Verenigde Arabische Emiraten. Via de tap “Settings” pas je het land aan. Wij stelden hier Nederland in. Of dit werkelijk een verbetering is, hangt af van je persoonlijke voorkeuren. Naast songs van Ed Sheeran, P!nk en Armin van Buuren, verschenen ook songs van de Snollebollekes, Marco Borsato en een video van Najib Amhali in ons scherm.
ZOEKEN
Gelukkig ben je niet alleen afhankelijk van de top ranking en trending. Er zijn ook andere manieren om een mooie selectie in je scherm te krijgen. Het scherm bevat rechts bovenin een zoekveld. Vul je hier bijvoorbeeld “Pink Floyd” in, dan krijg je een hele lijst muziek-
video’s te zien van Pink Floyd zelf, maar ook filmpjes zoals “The Pink Floyd Story” en “Understanding Pink Floyd’s Wish You Where Here”. Wanneer je bijvoorbeeld “Nibelungen” als zoek-argument invoert, krijg je niet alleen muziekvideo’s als zoekresultaat, maar bijvoorbeeld ook documentaires in verschillende talen over de Nibelungen. Wij vonden het ook wel interessant om te zien wat er gebeurt wanneer je een nietmuziek gerelateerd zoek-argument invoert. “James Bond” als zoek-argument gaf onder andere resultaten, zoals “Top 10 James Bond Moments”, “20 Facts About James Bond You May Never Have Heard”. Ook bijvoorbeeld “Vissen” als zoek-argument gaf wel bijzondere resultaten. Kaku is bedoeld als muziek speler, maar je kunt het dus ook prima gebruiken om andersoortige filmpjes afspelen. Via de tap “Settings” stel je in waar Kaku voor je moet zoeken. Je kiest uit “YouTube”, “Vimeo”, “Soundcloud”, “Mix cloud” of “All”. Wanneer je voor “All” kiest en je gaat zoeken, dan worden de zoekresultaten gesorteerd op bron weergegeven. Je krijgt eerst de YouTube resultaten, daaronder de Vimeo resultaten, dan de Soundcloud resultaten en tot slot de Mix cloud resultaten. Uitsluitend bij de YouTube zoekresulaten verschijnen ook de titels, bij de andere bronnen wordt alleen de maker van de video getoond, bijvoorbeeld “Zoinkstudio”, “Saimen” of “TheMusicBoxStudio”.
PLAYLIST Openingsscherm
De eenvoudigste manier om muziek te luisteren, is om Kaku te openen en rechtsboven op de button “Play All” te klikken. Het is echter ook mogelijk om playlists aan te maken. Deze playlists kun je met anderen delen en je kunt ook de playlist van iemand anders gebruiken. Je maakt eerst een lege playlist door op “Add playlist” te kiezen. Je geeft de playlist een handige naam. Je kunt meerdere playlists
18
DE COMPLETE LINUX-GIDS
SPECIAL
Software - Kaku mediaspeler
maken. Zoek vervolgens op muziek zoals hierboven beschreven. In het scherm met zoekresultaten klik je met je rechter muistoets op een song en kiest aan welke playlist je deze wilt toevoegen. Op deze wijze kun je gemakkelijk je playlists vullen.
in de linkerkolom van Kaku en kun je deze op ieder gewenst moment afspelen.
Wanneer je met zorg en moeite je perfecte playlists hebt gemaakt, dan wil je die niet kwijtraken. Via de tab settings kun je aangeven waar je een back-up van de playlists wilt hebben. Je kunt kiezen voor lokaal op de harde schijf of bij Dropbox in de cloud. Kaku schrijft de playlist weg in het json formaat, voor elke playlist in een apart bestand.
Een bijzondere optie in Kaku is “Online DJ”, bedoeld om met een vriendengroepje naar dezelfde muziek te luisteren en met elkaar te kletsen. Je maakt een kanaal aan door een nickname te kiezen en een naam voor je kanaal. Vervolgens wordt het kanaal gemaakt en een key getoond, bijvoorbeeld “2f8080dd-d2c5-495f-b8b6-6d8147b5b5b1”. Je deelt de key van het kanaal met andere gebruikers, deze kunnen het kanaal als gast betreden en de muziek afspelen die de maker van het kanaal op dat moment afspeelt. Het kanaal bevat tevens een chat-functie. Je krijgt in Kaku een klein pop-up window met een chatclient. Hiermee kun je met de andere gasten van het kanaal communiceren. Helaas kregen wij dit niet aan de praat op onze Linux desktops.
Via dezelfde optie in settings kun je de backup opnieuw inlezen. Op deze wijze kun je ook playlists met een andere Kaku-gebruiker uitwisselen. Je plaatst het bestand van de betreffende playlist naast de andere bestanden in je Kaku back-up directory en kiest voor “sync data from local”. Op deze manier konden wij probleemloos de playlists van Kaku op het ene systeem toevoegen aan de playlists op het andere systeem. Het importeren van een online YouTube playlist doe je eveneens via de settings tab. Je zoekt hiervoor in je browser op YouTube naar de gewenst playlist en kopieer je de URL daarvan. Vervolgens plak je deze in Kaku. De playlist verschijnt nu als nieuwe playlist
Kaku biedt de optie om de filmpjes te streamen naar een Chromecast device. Dit hebben wij niet getest.
AFSPEELFORMAAT
Standaard wordt de videospeler in de hoek linksonder op een klein formaat getoond. Je kunt ook voor beeldvullend formaat kiezen. “TV-mode” noemt Kaku dat. De speler wordt dan in het Kaku-window gemaximaliseerd. Je kunt dan dus nog wel de andere windows op je desktop gebruiken. Verder heb je in de hoek rechtsonder van de speler een icoontje met twee pijltjes. Klik je daarop, dan wordt de speler tot volle beeldschermgrootte gemaxi-
maliseerd. Handig voor wanneer je je werk onderbreekt en even op de bank gaat zitten. Ook kun je dit gebruiken wanneer je specifiek voor het afspelen van video’s een oud laptopje of PC in de woonkamer hebt staan.
HELE DAG MUZIEK
Het is jammer dat wij de Online DJ met de chatfunctie niet werkend kregen. Dit is echter wel een bijzondere en niet de meest belangrijkste feature van Kaku. Kaku is een prettige applicatie om vanaf online-bronnen, zoals YouTube, Vimeo etc. muziek af te spelen. Uiteraard kun je ook in je browser rechtstreeks een YouTube playlist afspelen. Het voordeel van het gebruik van Kaku is dat je geen last van irritante reclame tussen de nummers hebt. Het is natuurlijk niet gezegd dat dit zo blijft. YouTube zal hier vast nog wel eens iets op verzinnen. Wanneer je de goede manier gevonden hebt om jouw muziekvoorkeuren in de search results te krijgen of de perfecte playlist gevonden hebt, dan is de “Play All” button voldoende om de hele dag ongestoord muziek te draaien. Met de setting ingesteld om in alle bronnen te zoeken, voerden wij als zoekargument “lounge downbeat” in. Dit leverde een uitgebreide lijst met vaak mixes van lange duur op. Een druk op de “Play All” button is dan genoeg om er de rest van de dag geen omkijken meer naar te hebben.
Playlist in list-formaat
DE COMPLETE LINUX-GIDS
19
SPECIAL
Linux Mint - Afdrukken in Linux Mint
AFDRUKKEN IN MINT Oplossingen voor al jouw afdrukproblemen
Hoewel Linux Mint, zo uit de verpakking, flink wat printers ondersteunt, gaat het afdrukken toch lang niet altijd goed. Met een beetje handigheid zijn afdrukproblemen oplosbaar. Ronald Smit
L
inux staat er helaas om bekend dat het lang niet alle printers ondersteunt. Dat ligt natuurlijk vooral aan fabrikanten die voor hun printer geen Linux-driver uitbrengen. Ben je van plan de ‘Grote Overstap’ van Windows naar Linux (Mint) te maken, dan is het dus zaak om te controleren of jouw printer wordt ondersteund. Neem allereerst een kijkje op de website van de fabrikant en check of daar Linux-drivers voor jouw apparaat beschikbaar zijn. Zo ja, dan zit je meestal wel goed. Tenzij het érg oude drivers betreft die alleen in een 32-bits uitvoering beschikbaar zijn, terwijl jij een 64 bits Mint draait.
NETWERKPRINTER
Het handmatig toevoegen van een printer in Linux Mint is dankzij het daarvoor bedoelde hulpprogramma gelukkig eenvoudig. Klik in het startmenu onder Voorkeuren op
Systeeminstellingen. Scroll in het geopende venster een stukje naar beneden en klik onder het kopje Apparatuur op Afdrukbeheer. In wederom een nieuw venster klik je dan op de knop Toevoegen. Bezitters van een printer met een netwerkaansluiting hebben het nu gemakkelijk. Klik op Netwerkprinter en vervolgens op Zoeken. Tik in het veld achter Host het IP-adres van je printer in en klik op de knop Zoek. Als het goed is, wordt jouw printer herkend en hoef je alleen nog op Volgende te klikken.
SELECTEER DE JUISTE PRINTER
Probleem is nu dat de zoekactie wél het protocol waarmee met de printer communiceert heeft ontdekt, maar de slimheid om de correcte driver te installeren nog ontbreekt. Kortom: in de nieuwe stap die je nu ziet, moet je op zoek naar jouw merk en type printer. Wij
hebben geluk: de door ons gebruikte OfficeJet 6700 komt voor in de lijst. Selecteer de printer, klik op Volgende en geef aan of er al of niet extra opties, zoals een duplexer, aanwezig zijn. Klik weer op Volgende en tot slot op Toepassen. Desgewenst print je aansluitend meteen een testpagina om te controleren of de printer naar behoren werkt.
USB
Meestal neem je de eerste horde bij het aansluiten van een USB-printer ook zonder moeite. Zodra je de printer in een USB-poort prikt, wordt deze door Mint herkend als printer. Als het een beetje meezit, wordt deze dan ook toegevoegd door Afdrukbeheer. Mogelijk zie je de printer zelfs meerdere keren, dat gebeurt wanneer verschillende manieren om met het apparaat te communiceren, zijn ontdekt. Wordt een USB-printer niet herkend, dan is het zaak om de op de website van de fabrikant naar passende drivers te zoeken. Of je googelt eens op jouw merk en type printer in combinatie met de zoekwoorden driver en Linux Mint. Grote kans dat je dan ofwel ergens tegen een driver aanloopt, of in ieder geval een how-to over hoe je dat specifieke apparaat alsnog onder
Zoek de netwerkprinter Kies de correcte printer
20
DE COMPLETE LINUX-GIDS
SPECIAL
Linux Mint - Afdrukken in Linux Mint
Een NAS als deze van Synology kan vaak ook als printserver fungeren
Kies in geval van nood voor een van de generieke protocollen
Mint aan de gang krijgt. Zie ook http://www.linuxmag.nl/2-algemeen/ 499-printen-met-linux-mint
GENERIEKE DRIVER
Heb je een netwerkprinter toegevoegd waarvoor geen driver beschikbaar is, dan is meestal geen man overboord. Het overgrote deel van de printers ondersteunt namelijk een ‘generiek’ afdrukprotocol. Vaak is dat één van de ooit door HP bedachte technieken. Komt jouw printer dus niet voor in het lijstje met nieuw toe te voegen printers, dan kies je helemaal bovenaan voor de optie Generic. Je kunt nu kiezen uit een lijst aan printerprotocollen. Het is zaak om in de handleiding van je printer even op te zoeken welke alternatieve methoden worden ondersteund. Vaak zal dat één van de PCL-protocollen zijn (inderdaad afkomstig van HP). Daarbij geldt: hoe hoger het versienummer, hoe beter. Ben je in het gelukkige bezit van een PostScript-printer, dan vind je deze optie ook in het lijstje. PostScript heeft overigens soms een net iets andere naam, bij Brother heet het bijvoorbeeld BRScript. Werkt geen van de protocollen, dan kun je uit armoede ook nog kiezen voor tekstonly. Maar daar heb je niet echt heel veel aan natuurlijk. Echter: de kans is levensgroot dat één van de PCL-versies door jouw printer wordt ondersteund. Voor de liefhebbers zijn ook nog generieke matrixprinters (of beter: de printerprotocollen daarvoor) aanwezig. Grote kans dus dat je die antieke printer van zolder weer als vanouds kunt laten ratelen.
NAS
Er is nóg een truc om afdrukken onder Linux Mint eenvoudig te realiseren. De betere NASsen (en ook een deel van de meer uitgebreide
routers) beschikken namelijk over de mogelijkheid om USB-printers via het netwerk te delen. Ofwel: je prikt een USB-printer in een vrije USB-poort van je NAS, waarna je die daar configureert. De eigenlijke configuratie verschilt per NAS. In die van het merk Synology klik je in het startmenu op Configuratiescherm en daarna op Externe apparaten. Klik in het geopende venster op de tab Printer. Daar tref je -als het goed is- je aangesloten printer aan. En die is vervolgens via de knop Printerbeheer weer te configureren. Ook nu valt weer te kiezen voor een generieke printerdriver als de printer in kwestie niet rechtstreeks wordt ondersteund. Overigens komt de Synology ook van pas als je een Apple-apparaat gebruikt.
Elke geïnstalleerde printer is namelijk ook als AirPrint-printer te configureren. Androidgebruikers kiezen voor Google Cloud Print, daarmee kan zelfs op afstand via internet geprint worden. Omdat lang niet iedere netwerkprinter één of beide trucjes ondersteunt, kan je in de Synology ook netwerkprinters toevoegen. Voor gewone afdruktaken gebruik je vanuit Mint (of welk ander OS dan ook) de rechtstreekse weg. Vanaf je mobiel print je naar de door de NAS beschikbaar gemaakte AirPrint-printer of gebruik je Google Cloud Print. Kortom: je maakt met een NAS van zelfs de meest simplistische printer een netwerkprinter met allerlei extraatjes. Al met al zijn er mogelijkheden genoeg om ook de wat ‘moeilijker’ printers aan de praat te krijgen. Het makkelijkste zijn netwerkprinters, de kans dat je die snel aan het printen krijgt is het grootst.
NIEUWE PRINTER AANSCHAFFEN Ben je van plan als Linux (Mint) gebruiker een nieuwe printer aan te schaffen, dan ligt het natuurlijk voor de hand om voor aankoop te checken of er drivers voor Mint beschikbaar zijn. Is dat niet het geval, dan moet je direct nagaan welke alternatieve protocollen ondersteund worden. Punt is dat bij bijvoorbeeld fotoprinters lang niet altijd het onderste uit de kan gehaald wordt. Bij een simpele zwart-wit laserprinter maakt het voor de uiteindelijke afdrukkwaliteit weinig uit wanneer een generiek protocol gebruikt wordt. Multifunctionals vormen een aparte tak van sport. Hier moet je eigenlijk gewoon een driver voor hebben om gebruik te kunnen maken van alle onderdelen van het apparaat. Zelfs als de multifunctionele printer als printer ondersteund wordt door Mint, werken vaak de andere onderdelen als scanner en fax niet zonder volledige fabrieksdrivers. Vraag dus altijd heel expliciet of je de printer kunt retourneren als onderdelen onder Linux niet blijken te werken. Heb je behalve een Linux-systeem ook nog één of meer Windows-computers in huis, dan kan je die eventueel gebruiken voor scannen en dergelijke. De multifunctional is dan onder Linux slechts een printer. Ergens zonde natuurlijk, maar het is een afweging die je zelf moet maken. Check verder of de beoogde printer een ethernet-aansluiting aan boord heeft of wifi. Dat vergemakkelijkt het configureren van de printer onder Mint. En komt altijd van pas in een (thuis)netwerk.
DE COMPLETE LINUX-GIDS
21
SPECIAL
Linux Mint - Backups
BACK-UP WORKSHOP Zo maak je een dagelijkse back-up van jouw belangrijke data In het kader van dit themanummer leer je in deze workshop hoe je door middel van een shellscript een geautomatiseerde back-up kunt maken van je persoonlijke en veelgebruikte data. Om te voorkomen dat je opslagruimte op een gegeven moment volstroomt, is het mogelijk dat je in het back-upscript een roulatieschema opneemt voor het bewaren van de back-ups. André Fondse
J
e bent als root ingelogd om alle commando’s vanaf de command prompt te kunnen uitvoeren. Je maakt gebruik van een (virtueel) Linux systeem met daarop Apache, PHP, MariaDB, PHPMyAdmin en Nextcloud (Owncloud fork) geïnstalleerd. |De voorbeelden in deze workshop zijn gebaseerd op Arch Linux, maar je kunt uiteraard ook een andere Linux distributie gebruiken.
achter het IP-adres te zetten. In deze workshop ga ik ervan uit dat je tijdens het maken van het back-upscript het script opslaat in de directory /home/ linuxmag. Als je de image hebt gedownload, vind je in deze directory ook het backupscript met de naam backupscript.sh. Het volledige back-upscript kun je downloaden via https://goo.gl/oP11cZ.
STARTSITUATIE
ALGEMENE WERKING BACK-UPSCRIPT
Als je deze programma’s niet op je Linux distributie geïnstalleerd hebt of je wilt eerst dit back-upscript op een testsysteem uitproberen, dan kun je via https://goo.gl/vQ9NAm een virtual box image downloaden waarop deze programma’s geïnstalleerd zijn. Je kunt op dit systeem inloggen met de gebruiker linuxmag en het wachtwoord Reshift. Verdere gebruikersnamen en wachtwoorden staan in het bestand /home/linuxmag/wachtwoorden.txt. Als je via VirtualBox inlogt, zie je na het inloggen wat het IP-adres van het image is. Met dit IP-adres kun je desgewenst via ssh inloggen. De webinterface van Nextcloud kun je benaderen door het IP-adres van dit image in de browser in te geven. Dit geldt ook voor PHPMyAdmin door /phpmyadmin
Het back-upscript slaat alle back-ups in een tarbestand op en ieder bestand begint met de back-updatum in het formaat jjjjmmdd. Dit realiseer je door het commando date +%Y%m%d te gebruiken. Het script zorgt voor een back-up van de bestanden van iedere Nextcloud gebruiker en de MariaDB databases. Daarna worden back-ups verplaatst naar de week, maand of jaardirectory of verwijderd. Vanwege het feit dat het script alle back-ups opslaat op de harde schijf, is dit script met name geschikt voor persoonlijke data van niet al te grote omvang. In verband met de beschikbare ruimte is het script niet volledig in dit artikel afgedrukt. In deze workshop zijn relevante regels als listing
afgedrukt en licht ik deze toe.
VOORBEREIDINGEN
Om het roulatieschema voor het bewaren van de back-ups te kunnen realiseren, maak je in het back-upscript gebruik van een bepaalde directorystructuur. Hierin geef je de gebruiker root schrijfrechten en de leden van de groep wheel leesrechten. Hoe je deze directorystructuur aanmaakt en er de juiste rechten opzet, staat in Afbeelding 1 opgenomen. Het back-upscript maakt gebruik van alle aanwezige (en eventueel nog aan te maken) MariaDB databases. Daarom ga je een MariaDB gebruiker aanmaken die globale lees- en lock table rechten heeft. Dit kun je realiseren door de inhoud de volgende opdracht (1 regel!) vanaf de command prompt uit te voeren (zie Listing 1).
BACK-UP DATA
De data bestanden (exclusief die van het versiebeheer) van de gebruikers in Nextcloud worden als volgt in de directorystructuur van Nextcloud opgeslagen: /usr/share/webapps/nextcloud/data/ nextcloud_gebruikersnaam/files In Afbeelding 2 is weergegeven hoe van de bestanden die in Nextcloud opgeslagen zijn een back-up gemaakt wordt. De toelichting op dit script is per (relevante) regel als volgt:
Afbeelding 1
1,2 en 14: Hier wordt een lus uitgevoerd die van alle Nextcloud gebruikers het specifieke gebruikersdeel uitleest van het pad waar de bestanden opgeslagen zijn.
LISTING 1 mysql -h localhost --user=root --password=LinuxMag -e “CREATE USER ‘backup’@’localhost’ IDENTIFIED by ‘vltBWoEnucfxzZ3q’; GRANT SELECT, LOCK TABLES ON *.* TO ‘backup’@’localhost’ REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;”
DE COMPLETE LINUX-GIDS
21
SPECIAL
Linux Mint - Backups
Afbeelding 2
Afbeelding 3
3, 4 en 5: Hier wordt een compleet pad van de Nextcloud bestanden van de betreffende gebruiker gemaakt. 7: Dit is de locatie waar de back-upbestanden opgeslagen moeten worden. De variabele $padbestanden is de directory waar back-up van de databestanden naartoe geschreven wordt. 8 en 9: Elk back-upbestand krijgt de naam jjjjmmdd-gebruikersnaam.tar.gz. 10 t/m 13: De back-up wordt in de aangegeven directory opgeslagen onder de naam jjjjmmdd- gebruikersnaam.tar.gz. Alleen de gebruiker root en leden van de groep wheel mogen de back-up bekijken.
BACK-UP DATABASES
Net als bij de back-up van de data maak je hier een SQL query die nu van alle aanwezige databases een back-up gaat maken. In Afbeelding 3 zie je hoe het deel van het back-upscript eruit ziet dat een back-up maakt van de databases. Ook hier volgt een toelichting van de relevante regels van deze listing: 1, 2 en 14: Hier wordt een lus uitgevoerd die alle MariaDB databases langsloopt en de databasenaam aanbiedt om te gaan back-uppen. Door bij mysql opdracht in regel 14 gebruik te maken van de optie -N -B worden als uitvoer alleen de namen van de databases zonder kader hierom weergegeven. Deze kunnen dan meteen gebruikt worden in regel 8 waarin per aanwezige database een back-up gemaakt wordt. 5: In iedere back-up wordt de naam van de
22
DE COMPLETE LINUX-GIDS
database opgenomen. 7: De databases information_schema en performance_schema geven bij het maken van de back-up fouten. Daarom worden ze uitgesloten van de back-up. 8: Hier vindt het daadwerkelijk back-uppen van de database plaats. 9 t/m 12: Van de back-up wordt een tar bestand gemaakt en het originele bestand wordt verwijderd. Door bij het tar commando de optie -C $doelpad mee te geven wordt de sqldump van de betreffende mysql database zonder directory structuur opgeslagen.
BACK-UP ONDERHOUD
Een deel van het back-upscript dat zorgt voor
het onderhoud van de back-ups, is in Afbeelding 4 weergegeven. Dit deel is als functie gemaakt, omdat anders veel herhalende code zou ontstaan. Vanwege het feit dat alle back-ups beginnen met de datum in het formaat jjjjmmdd, is het mogelijk om op basis van de huidige datum te bepalen wat er met een back-up bestand moet gebeuren. Rekenen op basis van datums in de Linux shell kan alleen maar op basis van het aantal seconden dat vanaf 1 januari 1970 00:00:00 uur verstreken is in de Coordinated Universal Time zone (UTC). 1 januari 1970 00:00:00 uur heeft dan de waarde 0. Dit betekent dat alle data omgezet moeten worden naar dit formaat. Tevens forceren we daarmee voor iedere datum de tijd op 00:00 uur. Het verschil tussen de huidige datum (waarop het back-upscript draait) en een datum van de back-up in dit formaat deel je door 86.400 (60 seconden * 60 minuten * 24 uur) om op een verschil in hele dagen uit te komen. De toelichting op de relevante regels uit dit scriptdeel is als volgt: 1 en 22: Een functie in een shellscript krijgt een naam, gevolgd door (){. In de laatste regel van de functie wordt deze afgesloten met een } teken. 4: Hier stel je in hoe lang je de dagback-ups wilt bewaren. 6: Hier wordt de datum bepaald waarop, ten opzichte van de datum van vandaag, acties (verplaatsen naar week directory, nietsdoen of verwijderen) met de opgeslagen back-ups moeten plaatsvinden. In dit script is dit een week voorafgaand aan de huidige datum. 7, 8 en 21: Dit is een for/next lus waarin van de opgegeven directory de opgegeven backupbestanden worden weergegeven. 9 en 10: De datum van het back-upbestand wordt omgezet in het UTC time formaat in Afbeelding 4
BENIEUWD
NAAR WAT LINUX JOU NOG MEER TE BIEDEN HEEFT? IN DE VOLLEDIGE SPECIAL LEES JE MEER OVER: Linux Mint Linux virtueel draaien onder Windows Aan de slag met Nextcloud De beste games voor Linux Windows-software onder Linux
EN NOG VEEL
MEER!
PRE-ORDER HEM NU MET € 2,- KORTING!
GA NAAR DE RESHIFTSTORE