misc fixes and improvements
authorIan Kelling <ian@iankelling.org>
Sat, 21 Feb 2026 13:00:45 +0000 (08:00 -0500)
committerIan Kelling <ian@iankelling.org>
Sat, 21 Feb 2026 13:00:45 +0000 (08:00 -0500)
25 files changed:
brc
brc2
btrfsmaint
distro-end
filesystem/usr/local/bin/btrbk-run
fsf-script-lib
machine_specific/bo/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/bo/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/frodo/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/frodo/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/kd/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/kd/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/librestation01/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/librestation01/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/librestation03/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/librestation03/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/so/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/so/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/sy/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/sy/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/x2/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/x2/filesystem/etc/systemd/system/wg-quick-tr@.service
machine_specific/x3/filesystem/etc/systemd/system/wg-quick-tr-pre@.service
machine_specific/x3/filesystem/etc/systemd/system/wg-quick-tr@.service
pkgs

diff --git a/brc b/brc
index 72f1e96ba9fbf7e6453171b250c51bec961b717e..69994e0c06eec55ad585d733add38ab22d65c653 100644 (file)
--- a/brc
+++ b/brc
@@ -1554,18 +1554,23 @@ etailg() {
 }
 # mail related
 # shellcheck disable=SC2120 # we expect to pass arguments in use outside this file
-etail() {
+etailbg() {
   ngset
   ta /var/log/exim4/mainlog /var/log/exim4/*main /var/log/exim4/paniclog /var/log/exim4/*panic -n 200 "$@"
   ngreset
 }
-etailm() {
-  ta /var/log/exim4/mainlog -n 200 "$@"
+
+etail() {
+  tail -F /var/log/exim4/mainlog /var/log/exim4/*main /var/log/exim4/paniclog /var/log/exim4/*panic -n 200 "$@"
+  }
+etail1() {
+  tail -F /var/log/exim4/mainlog -n 200 "$@"
 }
 etail2() {
-  ta /var/log/exim4/nonnmain -n 200 "$@"
+  tail -F /var/log/exim4/nonnmain -n 200 "$@"
 }
 
+
 # shortcut for tail -F + highlighting if we have it.
 tailf() {
   if type -t batcat >/dev/null; then
diff --git a/brc2 b/brc2
index 2b90ce3cecc7dcc9b0b2b8e3919192fecf2712ab..0268d26b5596b2471c5520eb1178a13e62dd60d0 100644 (file)
--- a/brc2
+++ b/brc2
@@ -385,7 +385,7 @@ crypttab-open() {
   for f in $(awk '{print $1}' /etc/crypttab | grep -v '#'); do
     m cryptdisks_start $f
   done
-  }
+}
 
 # note: this is incomplete and untested.
 # https://wiki.archlinux.org/index.php/Install_Arch_Linux_from_existing_Linux#Creating_a_chroot
@@ -5048,3 +5048,29 @@ pull-iankfsf() {
     m sl mail.fsf.org pull-iankfsf
   fi
 }
+
+
+dummy-pkg() {
+  local ver="$1"
+  local pkg="$2"
+  if ! pcheck $pkg; then
+    e "warning: this will overwrite an installed package"
+  fi
+  local tmpdir="$(mktemp -d)"
+  # it puts the deb in .., so use a subdir to stay contained
+  mkdir $tmpdir/sub
+  cd "$tmpdir/sub"
+  # edited from output of equivs-control ubuntu-system-adjustments
+  cat >$pkg <<EOF
+Section: misc
+Priority: optional
+Version: $ver
+Standards-Version: 3.9.2
+Package: $pkg
+Description: $pkg-dummy
+EOF
+  equivs-build $pkg
+  sudo dpkg -i /tmp/user/$EUID/${pkg}_${ver}_all.deb
+  cd
+  rm -r "$tmpdir"
+}
index 3eb4759ad104029c54613c754a2980116ae95812..bad4df8c54b11d231db45af5b50b23ae0c65f9e2 100755 (executable)
@@ -24,7 +24,7 @@
 
 [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
 
-set -e; . /usr/local/lib/bash-bear; set +e
+source /a/c/fsf-script-lib
 
 # inspired from
 # https://github.com/kdave/btrfsmaintenance
@@ -45,13 +45,6 @@ fi
 dusage="5 10"
 musage="5"
 
-e() {
-  echo "btrfsmaint: $*"
-  if ! $dryrun; then
-    "$@"
-  fi
-}
-
 check-idle() {
   type -p xscreensaver-command &>/dev/null || return 0
   export XAUTHORITY=/home/iank/.Xauthority
@@ -75,7 +68,7 @@ Normally, no options are needed.
          nonidle user and run in a loop every 20 seconds for 10
          minutes.
 
---dryrun Just print out what we would do.
+--dry_run Just print out what we would do.
 
 --force  Run regardless of user idle status on all disks and do scrub
          regardless of when it was last run.
@@ -98,16 +91,16 @@ ret=0; getopt -T || ret=$?
 [[ $ret == 4 ]] || { echo "Install util-linux for enhanced getopt" >&2; exit 1; }
 
 check=false
-dryrun=false
+dry_run=false
 force=false
 stats=true
 
-temp=$(getopt -l help,check,dryrun,force,no-stats h "$@") || usage 1
+temp=$(getopt -l help,check,dry_run,force,no-stats h "$@") || usage 1
 eval set -- "$temp"
 while true; do
   case $1 in
     --check) check=true ;;
-    --dryrun) dryrun=true ;;
+    --dry_run) dry_run=true ;;
     --force) force=true ;;
     --no-stats) stats=false ;;
     -h|--help) usage ;;
@@ -116,7 +109,7 @@ while true; do
   esac
   shift
 done
-readonly check dryrun force stats
+readonly check dry_run force stats
 ##### end command line parsing ########
 
 
@@ -175,9 +168,10 @@ EOF
 
     if $check; then
       if ! $locked; then
-        if $dryrun; then
+        if $dry_run; then
           echo "$0: not idle. if this wasnt a dry run, btrfs scrub cancel $mnt"
         else
+          echo "btrfsmaint: canceling scrub of $mnt"
           btrfs scrub cancel $mnt &>/dev/null ||:
         fi
       fi
@@ -190,16 +184,16 @@ EOF
     # e df -H $mnt
     if btrfs filesystem df $mnt | grep -q "Data+Metadata"; then
       for usage in $dusage; do
-        e ionice -c 3 btrfs balance start -dusage=$usage -musage=$usage $mnt
+        dr ionice -c 3 btrfs balance start -dusage=$usage -musage=$usage $mnt
       done
     else
-      e ionice -c 3 btrfs balance start -dusage=0 $mnt
+      dr ionice -c 3 btrfs balance start -dusage=0 $mnt
       for usage in $dusage; do
-        e ionice -c 3 btrfs balance start -dusage=$usage $mnt
+        dr ionice -c 3 btrfs balance start -dusage=$usage $mnt
       done
-      e ionice -c 3 btrfs balance start -musage=0 $mnt
+      dr ionice -c 3 btrfs balance start -musage=0 $mnt
       for usage in $musage; do
-        e ionice -c 3 btrfs balance start -musage=$usage $mnt
+        dr ionice -c 3 btrfs balance start -musage=$usage $mnt
       done
     fi
     date=
@@ -215,7 +209,7 @@ EOF
           )
     fi
     if ! $force && [[ $date ]]; then
-      if $dryrun; then
+      if $dry_run; then
         echo "$0: last scrub finish for $mnt: $date"
       fi
       date=$(date --date="$date" +%s)
@@ -223,18 +217,18 @@ EOF
       # the wiki recommends 30 days or so, but
       # I'm going with 60 days.
       if (( date > EPOCHSECONDS - 60*60*24*60 )); then
-        if $dryrun; then
+        if $dry_run; then
           echo "$0: skiping scrub of $mnt, last was $(( (EPOCHSECONDS - date) / 60/60/24 )) days ago, < 30 days"
         fi
         continue
       fi
     fi
     # btrfsmaintenance does -c 2 -n 4, but I want lowest pri.
-    e btrfs scrub start -Bd -c 3 $mnt
+    dr btrfs scrub start -Bd -c 3 $mnt
 
     # We normally only do one disk since this is meant to be run in
     # downtime and if we try to do all disks, we invariably end up doing
-    # a scrub after downtime. So, just do one disk per day.
+xc    # a scrub after downtime. So, just do one disk per day.
     if ! $force; then
       return 0
     fi
index d09a62c83bc58acefc2436252b3005f9337b525f..5e8e366e5cd8b6c0c2b24228ad47595e9e9f3625 100755 (executable)
@@ -70,30 +70,6 @@ sudo() {
 m() { printf "$pre %s\n"  "$*"; "$@"; }
 e() { printf "$pre %s\n"  "$*"; }
 
-dummy-pkg() {
-  ver="$1"
-  pkg="$2"
-  if ! pcheck $pkg; then
-    return 0
-  fi
-  tmpdir="$(mktemp -d)"
-  # it puts the deb in .., so use a subdir to stay contained
-  mkdir $tmpdir/sub
-  cd "$tmpdir/sub"
-  # edited from output of equivs-control ubuntu-system-adjustments
-  cat >$pkg <<EOF
-Section: misc
-Priority: optional
-Version: $ver
-Standards-Version: 3.9.2
-Package: $pkg
-Description: $pkg-dummy
-EOF
-  equivs-build $pkg
-  sudo dpkg -i /tmp/user/$EUID/${pkg}_${ver}_all.deb
-  cd
-  rm -r "$tmpdir"
-}
 
 distro=$(distro-name)
 codename=$(debian-codename)
@@ -2107,18 +2083,19 @@ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo
 
 ##### postgres #####
 
-case $HOSTNAME in
-  frodo)
-    # based on https://www.postgresql.org/download/linux/ubuntu/
-    if [[ ! -e /etc/apt/sources.list.d/pgdg.sources ]]; then
-      pi postgresql-common
-      sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y noble
-      pi postgresql-17
-      sudo -u postgres createuser -d iank
-      sudo usermod -a -G postgres iank
-    fi
-    ;;
-esac
+ver=18
+if [[ $HOSTNAME == frodo ]]; then
+  ver=17
+fi
+# based on https://www.postgresql.org/download/linux/ubuntu/
+if [[ ! -e /etc/apt/sources.list.d/pgdg.sources ]]; then
+  pi postgresql-common
+  sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y noble
+  pi-nostart postgresql-$ver
+  # when we run it, do:
+  #sudo -u postgres createuser -d iank
+  sudo usermod -a -G postgres iank
+fi
 
 #####
 
index f2341fcafecb9f5cf33a750743042cf305479bb6..3f2fd62f4e7188f8651f5995b8a62df02b6ce5cc 100755 (executable)
@@ -943,7 +943,7 @@ df --output=size,pcent / | tail -n1"
     fi
 
     # we may be booted into a bootstrap fs or something
-    min_root_kb=$(( 1024 * 1024 * 70 )) # 70 gb
+    min_root_kb=$(( 1024 * 1024 * 70 )) # 70  gb
     tmp=$(( root_size < min_root_kb ))
     if (( tmp )); then
       e "warning: $h: root_size=$root_size < 200gb, perhaps it is booted to bootstrap vol. skipping for now"
index 663deb573f1fc07336da71afe297c1477f609136..b7d3fc8fe0a3c39f81dccab6142eb15cfbc8a030 100644 (file)
@@ -219,7 +219,18 @@ ml() {
 #
 # Run COMMAND if not $dry_run == true, in that case print it.
 dr() {
+  local dr_pre
   if [[ $dry_run == true ]]; then
+    if [[ $pre ]]; then
+      dr_pre="$pre"
+    elif [[ $script_name ]]; then
+      dr_pre="$script_name:"
+    elif [[ $- != *i* ]]; then
+      dr_pre="${0##*/}:"
+    fi
+    if [[ $dr_pre ]]; then
+      printf "%s " "$dr_pre"
+    fi
     printf "%s\n" "$*"
   else
     "$@"
index 863d17b7c752b73803c7948f01cfbf1afc2630c3..e18702a9ca7b03de96d325b06d6e8cae6bcc4b57 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.29 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.29 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 0532d94e19d12f3dd23daf28c9f3edf0089f0082..bbff5b97f7c75c448e9b50043d923a7de72eb235 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.29.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 7d178713902ec9af6d3dfa8b75bade062e92d381..2ec99b5498fd89cc28a05035a5a4b0aac6932007 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.34 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.34 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index d6fb761c7cf4e831398cfdfaa99c42ca4bd827e9..2afc64314b1afe6bceb87aee5046af9978efbb5e 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.34.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index f951b2d4b02fec98eb6348387f61f922fce393de..caf4faf303c93eb0023763aded525d799d5e327a 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.2 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.2 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 3f49e0a5916bb41f033e2abfe7399a4acc53e2b9..ea817495aecd2bc0852666dcd216b4b83b91e15c 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.2.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 7d7b14d2b857a70b6f6179b6417cc4436d412209..b06d4bd146e0bda04ab7b84c55f419630ec3eeb0 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.97 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.97 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index c1816c6941e648c49da0fae42912635c6166a843..33450a316c64f1f6df838b9dbe3584aaee483fc7 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.97.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 0187aa0c13a25d86b2dc39835086f6ea9bc77742..4fcbbf05672bbe9d8a1b635cbf8340218440f579 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.99 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.99 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index a05093e2e0e6702121835f424c85e1fb1172b38f..893e8c23bba1ad759f57784ecf6a238ef4390e87 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.99.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index d343c3631c838e19962142d7bd8113251bc1f8bc..e2c0222c3840e74285d587193659327d02fc9ff6 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.3 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.3 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 3542536025436aa998e9d4f768ba4f95378c6bbb..9e8e38a1188052f507a29b9e29cb5b18b8507b59 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.3.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 0e16bc2aec6a762c36b0ee6b4da0a003a71bab34..151c8237f25e3245ca69b8ad867bf48bad2d650d 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.7 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.7 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 9902ad7181ea13a202c0747c0834b08926f7ae41..ee5c2c15bfe45bcc08e2166ee3d71608ae87c9f0 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.7.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 6b58e76d65ab5cca13c28b0e4ab9fbaf9ca65790..2b4e14b15e77a6488a71ada95c911bcd34017018 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.28 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.28 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 1541fbaf12e30809abc7ca068634d11bae06b066..376845376e5dbcd5feaf5cff13c294a000668408 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.28.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
index 0ae3bc82f9c9c1b1db74b3cf661a5d73740a3f4f..73a2299373969198d7502efe64813a9bcb5ab67c 100644 (file)
@@ -3,9 +3,8 @@ Description=Initial setup of netns for wg-quick-tr %I
 
 [Service]
 Type=oneshot
-ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns -n 10.174.8 start %i
-# no need to stop
-#ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /a/bin/newns/newns stop %i
+ExecStart=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns -n 10.174.8 start %i
+ExecStop=/usr/bin/flock -w 20 /tmp/newns.flock /usr/local/bin/newns/newns stop %i
 RemainAfterExit=yes
 
 [Install]
index 659fa17858b6d394bbfa86f7a8c5e3fe900f257f..4ed1cd6bfdbc1fb557b65d654c8571e7f75fb328 100644 (file)
@@ -2,7 +2,6 @@
 Description=WireGuard via wg-quick(8) for %I
 After=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
 Wants=network-online.target nss-lookup.target wg-quick-tr-pre@%i.service
-PartOf=wg-quick.target
 Documentation=man:wg-quick(8)
 Documentation=man:wg(8)
 
@@ -17,6 +16,8 @@ ExecStopPost=/usr/bin/wg-quick down %i
 ExecStopPost=/usr/sbin/ip r del 10.8.0.0/24 via 10.174.8.1 dev veth1-client
 NetworkNamespacePath=/var/run/netns/%i
 BindReadOnlyPaths=/etc/tr-resolv:/run/systemd/resolve:norbind /etc/basic-nsswitch:/etc/resolved-nsswitch:norbind
+# copied from wg-quick@.service
+Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
 WantedBy=multi-user.target
diff --git a/pkgs b/pkgs
index 381b3f46fd7cbb70861ab59fc0cee4ae45701edf..4dc41bac71822bcdcaa06b24e39f47f69c8b7584 100644 (file)
--- a/pkgs
+++ b/pkgs
@@ -83,6 +83,7 @@ p3=(
   at
   adb
   ansible
+  ansifilter
   apache2
   apache2-doc
   apg
@@ -111,6 +112,8 @@ p3=(
   ccache
   cheese
   cloc
+  cmake
+  colordiff
   # pretty complex config. i just setup to ignore my password managerf
   # according to the docs, and C-M-v to open the main window
   copyq
@@ -151,14 +154,34 @@ p3=(
   # was exfat-utils before aramo
   exfatprogs
   expect
-  # for ftp upload dejagnu test
-  libdate-manip-perl libemail-messageid-perl
+  ipset
+
+  ### perl section ###
+  libdate-manip-perl
+  libemail-messageid-perl
   libdata-printer-perl
   libautovivification-perl
   libdata-types-perl
   libdbd-pg-perl
   libfile-libmagic-perl
   libcrypt-urandom-perl
+  libb-lint-perl
+  libclass-dbi-perl
+  libclass-dbi-pg-perl
+  libdata-compare-perl
+  libdata-show-perl
+  libfile-tail-perl
+  libfile-tee-perl
+  libimage-size-perl
+  libio-tee-perl
+  libperl-critic-perl
+  libperl-dev
+  libsereal-perl
+  libsmart-comments-perl
+  libstatistics-descriptive-perl
+  perl-tk
+
+
   fakeroot
   fail2ban
   fdupes
@@ -230,6 +253,7 @@ p3=(
   libreoffice
   libreoffice-help-en-us
   linphone-desktop
+  linux-doc
   lshw
   make-doc
   manpages
@@ -247,6 +271,7 @@ p3=(
   mmdebstrap
   mp3gain
   mpv
+  mtools
   mumble
   mupdf
   mutt
@@ -271,6 +296,7 @@ p3=(
   pass
   pdfgrep
   perl-doc
+  pgtop
   pianobar
   pinentry-tty
   pinentry-gtk2
@@ -312,6 +338,7 @@ p3=(
   sox
   # used by emacs package sqlformat with the same name.
   sqlfluff
+  sqlite3
   sqlite3-doc
   squashfs-tools
   strace