Jun 28, 2018
DebianAnsibleDigitalOcean
Ansible not only accepts static machine inventories represented in an inventory file, but it is capable of leveraging also dynamic inventories. To use that mechanism the only thing which is needed is a program resp. a script which creates the particular machines which are needed for a certain project and returns their addresses as a JSON object, which represents an inventory like an inventory file does it. This makes it possible to created specially crafted tools to set up the number of cloud machines which are needed for an Ansible project, and the mechanism theoretically is open to any programming language. Read On →
Jun 18, 2018
BuchbesprechungSoftware-ContainerDocker
In den letzten Jahren hat die Technik, Software bzw. Anwendungen auf Servern in Containern laufen zu lassen, erhebliche Furore gemacht. Viele sehen darin sogar eine neue Revolution, welche mittelfristig Großteile der professionellen IT-Landschaft verändern wird, und die nicht mehr aufzuhalten ist. Der Einschlag dieser Technik wird oft verglichen mit dem Aufkommen der Maschinen-Virtualisierung einige Jahre vorher, die zu Dingen wie dem Cloud Computing geführt hat. Den Software-Containern zum Durchbruch verholfen hat dabei zweifelsohne das in 2013 von dotCloud als Open Source-Projekt veröffentlichte Docker. Der Verdienst der Docker-Entwickler liegt darin, eine gut einzusetzende und universelle Plattform für die Anwendungsauslieferung entwickelt zu haben, welche die dafür verwendeten Mechanismen handhabbar macht, eine Engine für den Container-Betrieb zur Verfügung stellt, und ein Format für Container-Images definiert zu haben. Read On →
May 10, 2018
DebianAFLUbuntu 18.04
At is has been reported on the discussion list for American Fuzzy Lop lately, unfortunately the fuzzer is broken in Ubuntu 18.04 “Bionic Beaver”. Ubuntu Bionic ships AFL 2.52b, which is the current version at the moment of writing this blog post. But the particular problem comes from the accompanying gcc-7 package, which is pulled by afl via the build-essential package. It was noticed in the development branch for the next Debian release from continuous integration (#895618) that introducing a triplet-prefixed as in gcc-7 7. Read On →
Feb 11, 2018
DSGVO
Am 25. Mai 2018 tritt europaweit die Datenschutz-Grundverordnung (DSGVO) mit ihrem umfangreichen Anforderungskatalog und saftigen Bußgeldern in Kraft. Trotz der zweijährigen Einführungsfrist lagen nach einer Studie vom IDC Ende der vergangenen Jahres eine große Anzahl der befragten Unternehmen mit der Umsetzung der erforderlichen Maßnahmen teilweise noch erheblich zurück – wenn man überhaupt schon damit angefangen hatte, und nicht erstmal noch abwarten wollte (Computerwoche 45-46/2017, 8). Aber auch in vielen klein- und mittelständischen Unternehmen macht man sich – auch wegen der Knappheit an IT-Personal – an die Umsetzung derartiger neuer gesetzlicher Vorgaben erfahrungsgemäß immer erst recht spät heran, auch wenn die Verarbeiter personenbezogener Daten dieses wichtige Thema schon länger auf dem Schirm haben. Read On →
May 16, 2017
Debian-PaketpflegeSbuild
Hier einige Ergänzungen zu meinem Zeitschriftenartikel über Sbuild in IT-Administrator 05/2017. In dem Artikel geht es um die Einrichtung von Chroots für diesen Paketbuilder, um die Einbindung von Eatmydata, den Einsatz von Overlayfs und dem APT-Proxy APT-Cacher-NG, sowie um das Crossbuilding in Verbindung mit dem QEMU-Emulator. Wie dort bereits geschrieben gibt es noch weitere Möglichkeiten für die Verbesserung der Bauperformance, und dazu hier auch noch ein paar Tricks für die tägliche Arbeit mit Sbuild. Read On →
Mar 7, 2017
DebianAnsible
This is a mini workshop as an introduction into using Ansible for the administration of Debian systems. As an example it’s shown how this configuration management tool can be used to remotely set up a simple WSGI application running on an Apache web server on a Debian installation to make it available on the net. The application which is used as an example is httpbin by Runscope. This is an useful HTTP request service for the development of web software or any other purposes which features a number of specific endpoints that can be used for different testing matters. Read On →
Mar 1, 2017
AFLFuzzingExploits
Spricht man von Speicherzugriffsfehlern (memory fault) von Programmen, so handelt es sich dabei meistens um Pufferüberläufe (buffer overflow/overrun), die in verschiedenen Typen vorkommen. Bei einem Stack Overflow – wie er in einem klassischen Artikel von dem Hacker Aleph One das erste Mal ausführlich beschrieben worden ist – oder einem Heap Overflow schreibt ein Programm bei der Ausführung unerwünscht über vorgesehen Datenbereiche hinaus in den Arbeitsspeicher, ohne die Daten ausreichend auf ihre Länge hin zu überprüfen. "Pufferüberlauf" wird oft auch als Sammelbegriff benutzt für verschiedene verwandte Phänomene wie den arithmetischen Überlauf (integer overflow). Mit in dieselbe Kategorie gehören aber auch Speicherunterläufe (buffer undeflow/underrun), und Lesefehler (out-of-bounds-read bzw. read overflow). Read On →
Feb 21, 2017
UEFITrusted Computing
Wo auf Personal Computern und Laptops vor einigen Jahren direkt nach dem Einschalten das BIOS (Basic Input-Output System) wie etwa vom Hersteller American Megatrends, Inc. (AMI) für die Initialisierung von Systemkomponenten am Beginn des Bootvorganges zuständig gewesen ist, findet sich dort heute gemeinhin ausgewachsene PC-Firmware nach dem UEFI-Standard. Beim Unified Extensible Firmware Interface handelt es sich um eine Weiterentwicklung von EFI, das Intel bereits Ende der 90er Jahre für 64 Bit-Server eingesetzt hatte, und das sich mit modernen Rechnern, die mit Microsoft Windows verkauft werden, endgültig im PC-Bereich durchgesetzt hat. Read On →
Feb 15, 2017
DebianPythonAPT
The Python API for the Debian package manager APT is useful for writing practical system maintenance scripts, which are going beyond shell scripting capabilities. There are Python2 and Python3 libraries for that available as packages, as well as a documentation in the package python-apt-doc. If that’s also installed, the documentation then could be found in /usr/share/doc/python-apt-doc/html/index.html, and there are also a couple of example scripts shipped into /usr/share/doc/python-apt-doc/examples. The libraries mainly consists of Python bindings for the libapt-inst and libapt-pkg C++ core libraries of the APT package manager, which makes it processing very fast. Read On →
Feb 6, 2017
DebianVagrant
I’ve got some little scripts and a template here to automatically create Vagrant boxes from cutting edge Debian testing daily snapshots (netinstall ISO image) using HashiCorp’s Packer. To create Vagrant boxes with these, you first need a running binary of Packer. There is a Debian package available if that’s also your working environment, but Packer is going to be introduced into the stable branch with the upcoming Stretch release itself. However, Ubuntu already has it, and some other derivatives, too. Read On →
Jan 29, 2017
Debian-PaketpflegeGit
Die Pflege von Debian-Paketen kommt eigentlich auch vollkommen ohne eine Versionsverwaltung wie Git aus. Wenn Änderungen anstehen wie zum Beispiel ein Update auf ein neues Release mit einem neuen Ursprungs-Tarball (upstream tarball), oder wenn etwas zu verbessern oder ein Patch einzuspielen ist, dann kann ein Paketbetreuer zunächst einfach das entsprechende Quellpaket mit `apt-get source` aus dem offiziellen Paketarchiv auf seinen Arbeitsrechner herunter laden. Dort werden dann die gewünschten bzw. notwendigen Änderungen vorgenommen, dann die Debian-Version in `debian/changelog` um einen Zähler erhöht bzw. auf die Versionsnummer des neuen Releases gestellt Read On →
Jan 17, 2017
IBM System z
Mainframes von IBM mit ihrer immensen Datenverarbeitungskapazität finden sich seit den 60er Jahren des vergangenen Jahrhunderts traditioneller Weise im Keller von im sehr großen Maßstab agierenden Playern wie Fluggesellschaften, Banken und Kreditkarteninstituten, Logistikdienstleistern, Einzelhandelsketten und Versicherungen als Rückgrat der Unternehmens-IT. Die aktuellen I/O-Monster der z-Generation (für "zero downtime"; auch: IBM System z, System-z, zSeries, offiziell: IBM z Systems) wie der im Januar 2015 vorgestellte z13 werden progressiv als Cloudservice-Alternative beworben, die für Echtzeit-Transaktionen im globalen Maßstab ausgelegt sind und sich damit für Zukunftsmärkte wie eine Welt von mobilen Endgeräten, das Internet der Dinge und Echtzeit-Massendatenanalyse eignen, sehr ausgiebig ohne mit den Transaktionsraten an Kapazitätsgrenzen zu stoßen – auch wenn wieder mal "alle gleichzeitig" zugreifen. Read On →
Jan 8, 2017
BuchbesprechungCyberkriminalitaetKryptotrojanerKRITIS
Das mit den Krypto- bzw. Erpressungs-Trojanern verbundene "Geschäftsmodell" stammt bereits aus den späten 80er Jahren, und ist recht einfach gestrickt: die von versteckten kriminellen Banden verbreitete Software wird über das Internet auf so viele Rechner wie möglich geschleust und verschlüsselt dort unbemerkt von deren Benutzern flink eine Vielzahl der dort gespeicherten Dateien, was diese damit praktisch unbrauchbar macht. Daraufhin meldet sich der Trojaner auf dem Rechner mit einem Verkaufsangebot über eine Entschlüsselungslösung für die betroffenen Daten inklusive dem dafür erforderlichen kryptografischen Gegenschlüssel. Read On →
Dec 18, 2016
DebianDebian diaryPython packaging
[2016-12-19: some additions] This is another little issue from Python packaging for Debian which I came across lately packaging the compressed NumPy based data container Bcolz. Upstream uses setuptools-scm to determine the software’s version during build time from the source code management environment the code is in. This method is convenient for the upstream development because with that the version number doesn’t need to be hard-coded, and often people just forget to update that (and other version carrying files like docs/conf. Read On →
Nov 19, 2016
DebianDebian diaryLLVM
This is a little subject matter I came across recently. Since American Fuzzy Lop (AFL) was started to build with LLVM higher than 3.7 there were problems on the officially supported port armhf. The build always breaks over an illegal instruction while trying to compile the tests for the instrumentation. Read On →
Aug 21, 2016
DebianDebian diaryPython packagingReproducible builds
This article discusses some particular problems which came up in packaging Python software for Debian. It's about UnicodeDecoreError on open() of Python 3 running in non-UTF-8 environments, and on the non-deterministic order of requirements in egg-info/requires.txt. It's the first post of a planned series on specialized Python related issues like these. Read On →
Jul 20, 2016
DebianDebian ScienceDeep Learning
This an end-user oriented 'field manual' for running the math expression compiler and deep learning engine Theano on Debian systems. It discusses maintenance tasks like using the helper scripts for running the tests and purging the cache, choosing between different available BLAS implementations, and finally howto use a GPU device for Theano by the CUDA backend. And in contrast to the official documentation all that with a special focus on running the new packages within the Debian environment. Read On →
Feb 11, 2016
DebianDebian packagingGNU Make
This is an exhaustive explanation of a complete build process of a Debian package, the C++ computer vision library Vigraimpex. The debian/rules file of the discussed package revision is 'old school', containing explicitly written individual build targets. This would be interesting for people want to get deeper into Debian packaging along a quite demanding debian/rules file, which actually is GNU Make code. Its ideal for that purpose that the upstream package has a rather easy outline. Read On →
Feb 5, 2016
DebianDebian diarySbuildQemu
A workaround for a temporary problem with ppc64el emulated chroots for the package builder sbuild. Read On →
Dec 21, 2015
VagrantDigitalOcean
This article describes howto use the portable development environments of HashiCorp's Vagrant on virtual machines provided by the cloud service DigitalOcean. That's easy to do with the plugin vagrant-digitalocean from devopsgroup.io. Read On →
Nov 25, 2015
DebianDebian diary
Here are some notes on how to deal with a certain problem in Debian packaging, which might be useful for people coming across the same issue. In certain cases you want to have two binary packages co-installable, which normally wouldn't be because of the restriction that two packages can't be installed at the same time which contain the same files: every single file in the filesystem have to belong to a single package, and couldn't be overwritten by another package. Read On →
Apr 9, 2015
DebianReproducible builds
Hier noch ein kleiner Blogbeitrag über reproduzierbaren Paketbau in der derzeitigen Praxis von Debian GNU/Linux-Paketbetreuern. Das ist eine gute Gelegenheit, in diesem Blog auch einmal den Builder Pbuilder anzusprechen, mit dem der derzeitig noch experimentelle Toolchain des Reproducible Builds-Projektes schon in Betrieb genommen werden kann. Read On →