In afwachting van mijn usb-infraroodzender, ben ik alvast begonnen met het schrijven van een programma om de zender aan te sturen. In bepaalde opzichten simpeler dan ik dacht, aan de andere kant onverwachte complicaties. Om de ir zender iets te laten doen moet je commando intikken zoals bijvoorbeeld "irsend SEND_ONCE rm-d29m KEY_POWER". Dat is wel heel veel werk. Vooral omdat ik deze contraptie heb bedacht om er makkelijk titels mee te kunnen intikken op mijn minidiscs. de usb-infraroodzender De oplossing is simpel: maak een programmatje die al die vervelende commandos voor je intikt. UNIX is ontworpen voor dit soort rare wensen. En zoals zo vaak met UNIX zijn er vele oplossingen mogelijk. Ik koos voor een simpel programmatje in bash. Maar zelfs dat simpele programmatje stelde me toch nog voor problemen. Aanvankelijk wilde ik gebruik maken van de functietoetsen en zelfs return en spatie omleiden. Niet onmogelijk, maar wel in mijn opzet. Ik maak gebruik van een loop die...
dsystem is een knipoog naar systemd, het systeem dat het wel eens even allemaal zou gaan regelen in de linuxwereld. Al is dsystem in eerste instantie vernoemd naar de auteur. Dsystem draait elke 24 uur (op een vast tijdstip) of tijdens de start van de computer. Maar wat als dat samenvalt? Dan heb je twee keer dsystem aan het werk, en dat is ongewenst. Om dat te voorkomen controleert dsystem eerst of er niet een lock file staat in /local/var/run. Als die er niet is, schrijft dsystem een lock file. Zo wordt gegarandeerd dat er maar e1n instantie van dsystem draait. Dsystem geeft system info, maakt backups, en doet upgrades. Om dsystem zelf te upgraden is er echter een apart programma nodig. Dsystem kan niet zichzelf upgraden. Dat wordt dus gedaan door dupdsys. Ze worden achter elkaar aangeroepen door cron. Om te voorkomen dat dupdsys direct dsystem gaat overschrijven, controleert dupdsys op de lock file van dsystem. In de praktijk komt dat nauwelijks voor, debian cron wacht keuri...