Laat sudo je uitschelden

 Met de opdracht sudo kun je opdrachten als een andere gebruiker uitvoeren, vaak root. Zeker in Ubuntu zul je vaak sudo gebruiken, omdat die distributie je niet toelaat om rechtstreeks als root in te loggen. Als sudo je om je wachtwoord vraagt en je een verkeerd wachtwoord ingeeft, krijg je standaard de vraag om het opnieuw te proberen (“Sorry, probeer opnieuw”). Je kunt deze vraag wat minder droog maken met de optie insults in sudo.

 Voer de volgende opdracht uit:

 *** LISTING ***

 Audo visudo

 *** EINDE LISTING ***

 Voeg nu in het bestand de volgende regel toe:

 *** LISTING ***

 Defaults insults

 *** EINDE LISTING ***

Sla het bestand op en sluit de editor af. Als visudo de editor nano gebruikt, zoals standaard in Ubuntu gebeurt, gaat dat met CTRL+O en CTRL+X. Reset daarna de sudo timout met sudo -ken probeer sudo nog eens uit. Elke keer dat je een verkeerd wachtwoord ingeeft, krijg je een verwensing naar je hoofd geslingerd, zoals “Take a stress pill and think things over.”, “My pet ferret can type better than you!” of “Maybe if you used more than just two fingers…”.

Storen sommige mensen in je huishouden zich aan het taalgebruik van sudo, dan kun je de insults ook alleen voor één of meerdere gebruikers instellen, bijvoorbeeld:

*** LISTING ***

Defaults:koen insults

*** EINDE LISTING ***

Of voor alle gebruikers, behalve één:

*** LISTING ***

Defaults insults
Defaults:koen !insults

*** EINDE LISTING ***

Op OpenBSD heeft sudo overigens insults standaard ingeschakeld. Maar dat is dan ook een besturingssysteem voor masochisten…

LibreOffice Viewer op Android

Sinds enkele maanden heeft The Document Foundation de gratis Android-app LibreOffice Viewer beschikbaar gesteld. De app, waarmee je ODF-documenten op je Android-apparaat kunt bekijken, gebruikt dezelfde engine als LibreOffice voor Linux, Windows en OS X. Daardoor zien de documenten er op je smartphone of tablet hetzelfde uit als op je desktop. De interface is gebaseerd op Firefox voor Android. LibreOffice Viewer ondersteunt niet alleen odt-, ods- en odp-bestanden in het Open Document Format, maar ook doc-, xsl- en ppt-bestanden van Microsoft Office 97/2000/XP/2003 en docx-, xlsx- en pptx-bestanden van Microsoft Office 2007/2010/2013.

Installeer de app in Google Play (kies de app van The Document Foundation, niet de bètaversie van Collabora, dat meegewerkt heeft aan de ontwikkeling) of download het apk-bestand op de website van LibreOffice. De app is 50 MB groot. Open je de app, dan krijg je de bestanden op je Android-apparaat te zien en kun je een document kiezen om te openen. Standaard worden alle documenten in de bestandslijst getoond, maar je kunt je ook beperken tot alleen tekstdocumenten, spreadsheets, presentaties of tekeningen.

Naast het bekijken van documenten zijn ook eenvoudige bewerkingen mogelijk, zoals het wijzigen van tekst of het vet of cursief maken. Dat zijn echter nog experimentele functies, die je expliciet moet inschakelen door Experimental Mode aan te vinken in de instellingen. Daarna krijg je bovenaan enkele knopjes voor de lay-out en om het virtuele toetsenbord op te roepen. Het bestand opslaan gaat door rechtsboven op de drie bolletjes te drukken en dan Save te kiezen. In volgende versies worden de bewerkingsmogelijkheden uitgebreid.

 

*** AFBEELDING: tips16-4-libreoffice.png ***

 

wiki.documentfoundation.org/Android

 

rm: No space left on device

 

Ja, bovenstaande titel is geen fout. Er zijn situaties waarin je zelfs te weinig ruimte op je bestandssysteem vrij hebt om een bestand te verwijderen. Een tijdje geleden kwam ik deze foutmelding tegen op mijn FreeBSD-desktopsysteem met ZFS, na eerst enkele heel vreemde foutmeldingen te zien, omdat programma’s geen tijdelijke bestanden bleken te kunnen aanmaken. Het heeft me bloed, zweet en tranen plus heel wat zoekwerk gekost om het probleem op te lossen.

 

Als een bestandssysteem vol is, verwijder je normaal gesproken bestanden om ruimte vrij te maken, waarna je kunt door werken. Bij een copy-on-write bestandssysteem zoals ZFS is dat niet mogelijk. Het bestandssysteem moet dan immers eerst de nieuwe status van het bestand naar de schijf schrijven voor het de blokken met gegevens kan verwijderen.

 

Ben je in die onfortuinlijke situatie beland, dan zijn er verschillende oplossingen. Of je verwijdert een bestand dat na de laatste snapshot is aangemaakt of je kort een bestand in tot de lengte dat het had tijdens de laatste snapshot (bij logbestanden is dat eenvoudig na te gaan). Wat ook vaak lukt, is het overschrijven van een groot bestand:

 

*** LISTING ***

 

dd if=/dev/null of=grootbestand

 

*** EINDE LISTING ***

 

Daarna kun je het bestand normaal verwijderen.

 

In mijn geval lukte dat nog niet. Als je bestandssysteem snapshots heeft, zijn die vaak de boosdoener. Het bestand dat je wilt verwijderen, bestaat dan immers nog altijd op een snapshot. Bovendien moet het systeem de informatie wegschrijven dat het bestand in de snapshot staat, maar niet in de huidige situatie van het bestandssysteem. Voor die informatie is dan geen ruimte meer, met als gevolg de vreemde foutmelding.

 

De meest drastische, maar vaak de enige, definitieve oplossing is dat je snapshots verwijdert. Bekijk alle snapshots op je systeem met:

 

*** LISTING ***

 

zfs list -t snapshot

 

*** EINDE LISTING ***

 

Verwijder dan één of meerdere snapshots tot je voldoende vrije ruimte hebt om de gewenste bestanden te verwijderen:

 

*** LISTING ***

 

zfs destroy snapshotnaam

 

*** EINDE LISTING ***

 

Daarna kun je het gewenste bestand verwijderen.

 

Je kunt deze lastige situatie het beste vermijden door de gebruikte ruimte van een bestandssysteem nooit de 90% te laten overschrijden. Sowieso is het geen goed idee om het zover te laten komen, want de performance lijdt daar ook flink onder. Kom je boven die grens, laat de pool dan groeien door een schijf toe te voegen. Het probleem komt overigens op alle besturingssystemen voor die ZFS gebruiken: niet alleen FreeBSD, maar ook Solaris/ilumos en ZFS on Linux.

 

Download YouTube-video’s op de commandline

 

Youtube-dl is een handig commandline programma, waarmee je eenvoudig online video’s downloadt van YouTube, Vimeo en honderden andere online videoplatforms. De meeste videoplatforms leiden je immers alleen maar af met andere video’s, advertenties en comments. Bovendien moet je online zijn om de video’s te bekijken. Wil je liever het videobestand downloaden om het later in alle rust te bekijken? Kopieer dan de URL van de pagina op YouTube of de andere website en plak ze achter de opdracht op de commandline:

 

*** LISTING ***

 

youtube-dl https://www.youtube.com/watch?v=dQw4w9WgXcQ

 

*** EINDE LISTING ***

 

Standaard downloadt het programma de video in de beste kwaliteit. Als je veel video’s met het programma downloadt, kun je soms een HTTP 402 foutmelding terugkrijgen. Dat is bijvoorbeeld het geval bij YouTube, dat robots die te veel video’s downloaden wil tegen houden door te vragen om een CAPTCHA in te vullen. Youtube-dl kan daar (voorlopig) niet mee omgaan, waardoor je die foutmelding krijgt. Open de URL dan in je webbrowser, los de CAPTCHA op en start youtube-dl opnieuw.

 

Kijk zeker ook naar de talloze opties die youtube-dl heeft (met youtube-dl –help), onder andere om volledige playlists te downloaden, om alleen video’s voor, na of op een bepaalde datum te downloaden, om de kwaliteit te kiezen en nog veel meer. Overigens bevatten Ubuntu en afgeleide distributies een oude versie van youtube-dl, die bij veel online video’s een foutmelding geeft. Installeer daarom de nieuwste versie met:

 

*** LISTING ***

 

sudo apt-get install python-pip

 

sudo pip install youtube-dl

 

*** EINDE LISTING ***

 

Youtube-dl wordt actief onderhouden en krijgt minstens maandelijks en vaak zelfs wekelijks of dagelijks een update. Gebruik je bovenstaande installatiemethode, dan gaat upgraden naar de nieuwste versie eenvoudig met:

 

*** LISTING ***

 

sudo pip install -U youtube-dl

 

*** EINDE LISTING ***

 

youtube-dl.org