From 6cc9d8c72a56563b6d1a12b8b441dfa9dde345e9 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Tue, 28 Apr 2020 17:29:52 +0200 Subject: Long overdue first commit with content --- content/en/blog/miscellaneous/etc-update-alpine.md | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 content/en/blog/miscellaneous/etc-update-alpine.md (limited to 'content/en/blog/miscellaneous/etc-update-alpine.md') diff --git a/content/en/blog/miscellaneous/etc-update-alpine.md b/content/en/blog/miscellaneous/etc-update-alpine.md new file mode 100644 index 0000000..dbc0824 --- /dev/null +++ b/content/en/blog/miscellaneous/etc-update-alpine.md @@ -0,0 +1,38 @@ +--- +title: "etc-update script for alpine linux" +linkTitle: "etc-update script for alpine linux" +date: 2019-04-02 +description: > + etc-update script for alpine linux +--- + +Alpine linux doesn't seem to have a tool to merge pending configuration changes, so I wrote one : +{{< highlight sh >}} +#!/bin/sh +set -eu + +for new_file in $(find /etc -iname '*.apk-new'); do + current_file=${new_file%.apk-new} + echo "===== New config file version for $current_file =====" + diff ${current_file} ${new_file} || true + while true; do + echo "===== (r)eplace file with update? (d)iscard update? (m)erge files? (i)gnore =====" + PS2="k/d/m/i? " + read choice + case ${choice} in + r) + mv ${new_file} ${current_file} + break;; + d) + rm -f ${new_file} + break;; + m) + vimdiff ${new_file} ${current_file} + break;; + i) + break;; + esac + done +done +{{< /highlight >}} + -- cgit v1.2.3