Dienstleistungen zu m23 und OpenSource

Kurzanleitungen/Howtos

Auf dieser Seite finden Sie Kurzanleitungen/Howtos zu verschiedenen Themen.

Die folgende Anweisungen richten sich ausschließlich an fachkundige Personen.
Bei jedem Schritt kann es zum kompletten Datenverlust kommen. Alle Angaben ohne Gewähr.


Debian-Pakete patchen (am Beispiel des cron-spool-Pfades)

19.11.2018 11:19

Paket

Manchmal kommt man um das Ändern von Quelltexten und Paketen nicht herum. In dem folgenden Fall ging es um das Paket cron, in dessen Quelltext der Pfad zum Speichern von Laufzeitdaten fest vorgegeben ist.
Das ist solange kein Problem, wie das Dateisystem normal funktioniert. Nun war es bei einem Produktivsystem aber leider so, daß das Dateisystem exakt an der Stelle des cron-Laufzeitverzeichnisses einen Fehler hatte, der den Zugriff (auch Ändern, Löschen, etc. mit root-Rechten) auf dieses verhinderte.
Das Wiederherstellen des Betriebssystems zur Korrektur des grundliegenden Fehlers schied zu dem Zeitpunkt aus. Es blieb als Möglichkeit nur, den Pfad innerhalb des cron-Paketes zu ändern. Diese Kurzanleitung beschreibt das Vorgehen von Herunterladen des cron-Quelltextes bis zum Installieren des gepatchten Paketes.

Den Quelltext von cron herunterladen und die Pakete installieren, die zum Bauen benötigt werden:

cd /tmp/
apt-get source cron
apt-get build-dep cron

Im cron-Quelltext alle Vorkommen des Pfades "/var/spool/cron" auflisten, durch den neuen Pfad "/var/spool/cron2" ersetzen und das Ersetzen überprüfen:

cd cron-3.0pl1
grep var/spool/cron -r -l .
grep var/spool/cron -r -l . | xargs -n 1 sed -i 's#var/spool/cron#var/spool/cron2#g'
grep var/spool/cron -r -l .

Nun den Quelltext übersetzen und das Paket neu bauen:

dpkg-buildpackage -us -uc

Anschließend das neue Paket installieren:

cd ..
dpkg -i cron_3.0pl1-127+deb8u1_amd64.deb

Überprüfen, ob cron jetzt läuft und der neue Pfad existiert:

ps -A | grep cron
ls /var/spool/cron2/

Die nun installierte cron-Version von späteren Aktualisierungen ausschließen:

echo cron hold | dpkg --set-selections

Creative Commons License
Dieses Werk und dieser Inhalt sind bis auf die Bilder des m23-Partnerprogramms und fremde Logos/Inhalte unter einer Creative Commons-Lizenz lizenziert.
Die Bilder und Logos des m23-Partnerprogrammes und fremde Logos/Inhalte dürfen nicht ohne vorherige Zustimmung von goos-habermann.de bzw. den Rechteinhabern verwendet werden.
© goos-habermann.de (2005 - 2019)

Datenschutzerklärung AGB Impressum