zentraler APT Cache auf einem Synology NAS

Vagrant und Chef sind in Kombination eine feine Sache, wenn man fest definierte Test- und Entwicklungsumgebungen benutzen und dabei von der eigenen Entwicklungsplattform unabhängig bleiben möchte (bei mir: Ubuntu auf den Servern, OSX auf meinem Notebook). Das führt aber mitunter dazu, dass VMs relativ häufig erstellt und wieder gelöscht werden, wenn sie nicht mehr benötigt werden. Je nachdem, wie alt die zugrunde liegende Vagrant-Box ist, kommen da schonmal ein paar hundert MB an Softwarepaketen zusammen, die jedes mal wieder heruntergeladen werden.

Ein APT-Cache soll hier Abhilfe schaffen und dafür am besten auf meinem NAS laufen (Synology Diskstation DS411j), da das System sowohl 24/7 durchläuft als auch mehr als ausreichend Festplattenplatz bietet. Eine halbwegs passende Anleitung für die Installation von apt-cacher-ng auf einem Synology NAS ist hier zu finden, erfordert aber einige Anpassungen an das eigene System. Da die einzelnen Produktlinien von Synology auf unterschiedlichen CPU-Plattformen basieren, kommt man hier um eigene Kompilieren nicht herum.

Synology bietet dafür bei Sourceforge.net Archive mit den Toolchains für die einzelnen Plattformen und DSM-Versionen zum Download an. Um die richtige Toolchain zu finden, muss man erstmal die Platform des eigenen NAS ermitteln:

NAS> uname -a
Linux NAS 2.6.32.12 #3211 Tue Apr 16 20:04:57 CST 2013 armv5tel GNU/Linux synology_88f6282_411
NAS>

Die Plattform meines NAS ist also „Marvell 88F628x Linux 2.6.32“. Das Problem mit dieser Toolchain ist jedoch, dass sie mir unter Mac OS X nichts nützt und ich dafür ein Linux benötige. Ich habe mir also kurzerhand eine Vagrant VM erstellt, mit der ich die Toolchain nutzen kann. Diese ist für meine Plattform vorkonfiguriert und muss bei anderen Plattformen durch das Überschreiben der Attribute leicht angepasst werden.

Mit Hilfe der VM habe ich nun apt-cacher-ng entsprechend der oben verlinkten Anleitung kompiliert und dabei gleich die aktuelle Version 0.7.13 verwendet. Im Quellarchiv von apt-cacher-ng finden sich auch die ganzen zusätzlichen Konfigurationsdateien, die im vorkompilierten Paket des Autors der Anleitung gefehlt haben. Die Einrichtung auf dem NAS habe ich mehr oder weniger entsprechend der Anleitung vorgenommen. Da ich jedoch kein Optware auf meinem NAS benutze (das mit den ipkg-Paketen) wurde das Startscript statt in /opt/etc/init.d  direkt in /usr/local/etc/rc.d verlinkt.

Um den apt-cacher nun in den VMs zu nutzen, muss neben dem Recipe „apt“ nur zusätzlich „apt::cacher-client“ eingebunden (am besten noch vor „apt“) und der Server über das Attribute „node[‚apt‘][‚cacher_ipaddress‘]“ konfiguriert werden. Der Cache kann natürlich auch von anderen Debian/Ubuntu-Systemen im lokalen Netz verwendet werden. Die Konfiguration dafür wird auf wiki.ubuntuusers.de beschrieben.

Schreibe einen Kommentar