mostly fixes
authorIan Kelling <ian@iankelling.org>
Wed, 27 Apr 2022 04:11:37 +0000 (00:11 -0400)
committerIan Kelling <ian@iankelling.org>
Wed, 27 Apr 2022 04:11:37 +0000 (00:11 -0400)
14 files changed:
brc
brc2
check-remote-mailqs
distro-begin
distro-end
filesystem/etc/prometheus/rules/iank.yml
filesystem/etc/systemd/system/ssh.service.d/override.conf [new file with mode: 0644]
i3-sway/common.conf
mail-setup
mailtest-check
schrootupdate
subdir_files/.config/i3/config
subdir_files/.config/sway/config
ziva-backup-check

diff --git a/brc b/brc
index e0f2a883d209344e04e4c5a7d4b4bc9cd46d0726..bd76bb4c8265890c517bdff5f501556ed0d76bcb 100644 (file)
--- a/brc
+++ b/brc
@@ -238,8 +238,7 @@ export SL_INFO_DIR=/p/sshinfo
 if [[ -s $bashrc_dir/path-add-function ]]; then
   source $bashrc_dir/path-add-function
   if [[ $SSH_CLIENT ]]; then
-    # [[ -d /home/iank/.iank/e/e ]] mounts it unnecessarily, so use this.
-    if grep -qF /home/iank/.iank/e/e /etc/auto.iank /etc/exports &>/dev/null; then
+    if grep -qF /home/iank/.iank/e/e /etc/exports &>/dev/null; then
       export EMACSDIR=/home/iank/.iank/e/e
     fi
     path-add $bashrc_dir
@@ -1321,6 +1320,13 @@ rsu() { # [OPTS] HOST PATH
 }
 ccomp rsync rsd rsa rst rsu
 
+# find programs listening on a port
+ssp() {
+  local port=$1
+  # to figure out these args, i had to look at the man page from git version, as of 2022-04.
+  s ss -lpn state listening sport = $port
+}
+
 resolvcat() {
   local f
   if [[ $(systemctl is-active nscd ||:) != inactive ]]; then
@@ -1328,7 +1334,7 @@ resolvcat() {
   fi
   f=/etc/resolv.conf
   echo $f:;  ccat $f
-  hr; s ss -lpn 'sport = 53'
+  hr; s ss -lpn sport = 53
   if systemctl is-enabled dnsmasq &>/dev/null || [[ $(systemctl is-active dnsmasq ||:) != inactive ]]; then
     # this will fail is dnsmasq is failed
     hr; m ser status dnsmasq | cat || :
diff --git a/brc2 b/brc2
index d85511fa086d7c6d1592e8e782acd820c1175471..f18bfdbef02f96c4ff25f78d68cc1a5f53b0c176 100644 (file)
--- a/brc2
+++ b/brc2
@@ -21,6 +21,15 @@ path-add --ifexists --end /a/work/libremanage
 path-add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-tools
 path-add --ifexists --end /a/opt/scancode-toolkit-3.10.
 
+case $HOSTNAME in
+  sy|bo)
+    # https://askubuntu.com/questions/1254544/vlc-crashes-when-opening-any-file-ubuntu-20-04
+    if grep -qE '^VERSION_CODENAME="(nabia|focal)"' /etc/os-release &>/dev/null; then
+      export MESA_LOADER_DRIVER_OVERRIDE=i965
+    fi
+    ;;
+esac
+
 
 export WCDHOME=/a
 
@@ -492,14 +501,16 @@ lipush() {
   # note, i had --delete-excluded, but that deletes all files in --exclude-from on
   # the remote site, which doesn't make sense, so not sure why i had it.
   local p a
-  p=(/a/opt/{emacs-debian11{,-nox},mu,emacs} /a/bin /a/exe /a/h /a/c /p/c/machine_specific/vps{,.hosts})
+  # excluding emacs for now
+  #p=(/a/opt/{emacs-debian11{,-nox},mu,emacs} /a/bin /a/exe /a/h /a/c /p/c/machine_specific/vps{,.hosts})
+  p=(/a/bin /a/exe /a/h /a/c /p/c/machine_specific/vps{,.hosts})
   a="-ahviSAXPH --specials --devices --delete --relative --exclude-from=/p/c/li-rsync-excludes"
   ret=0
   for h in li je bk; do
     m s rsync "$@" $a ${p[@]} /p/c/machine_specific/$h root@$h.b8.nz:/ || ret=$?
-    # only li is debian11
-    p[0]=/a/opt/emacs-ubuntu20.04
-    p[1]=/a/opt/emacs-ubuntu20.04-nox
+    ## only li is debian11
+    #p[0]=/a/opt/emacs-trisuqel10
+    #p[1]=/a/opt/emacs-trisquel10-nox
   done
   m s rsync "$@" -ahviSAXPH root@li.b8.nz:/a/h/proposed-comments/ /a/h/proposed-comments || ret=$?
   return $ret
@@ -1280,6 +1291,10 @@ mygajim() {
   done
 }
 
+allmygajim() {
+  sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs where contact_name = 'iank'" | less
+}
+
 gajlogs() {
   sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs" | less
 }
index d37ec7aa7b368ee9a0b85a2445cb419ddaa07199..df67a041544c7e049642462c4ac9bc39757c7d05 100755 (executable)
@@ -26,8 +26,16 @@ for h in bk je li frodo kwwg x3wg x2wg kdwg sywg; do
   else
     if [[ -s $statefile ]]; then
       logsec=$(date +%s -d "$(head -n1 $statefile | awk '{print $1,$2}')")
-      if (( logsec < EPOCHSECONDS - 60*60*20 )); then
-        echo $0: host $h ssh /usr/local/bin/check-mailq fail for over 20 hours
+      case h in
+        frodo)
+          hours=200
+          ;;
+        *)
+          hours=20
+          ;;
+        esac
+      if (( logsec < EPOCHSECONDS - 60*60*hours )); then
+        echo $0: host $h ssh /usr/local/bin/check-mailq fail for over $hours hours
       fi
     fi
     printf "%s\n" "$c" | ts "%F %T" >> $statefile
index 0fee0af25f0b7d12274738729482f326a5d279b3..f022ec3c4db1fda270cc76d5615e44bd7a12f1c9 100755 (executable)
@@ -367,10 +367,11 @@ if bitfolk; then
   sudo sed -ri "/^127\./n;/[[:space:]]$HOSTNAME\$/d" /etc/hosts
 fi
 
-# firefox exists but is 2 versions outdated
+# libfdk just has some patent worries.
+# https://www.gnu.org/licenses/license-list.en.html#fdk
 if isdeb && [[ $(debian-codename) == nabia ]]; then
   sudo dd of=/etc/apt/preferences.d/nabia-focal-missing <<'EOF'
-Package: unrar-free firefox libfdk-aac1 ansible
+Package: libfdk-aac1
 Pin: release n=focal,o=Ubuntu
 Pin-Priority: 500
 EOF
@@ -385,7 +386,6 @@ Pin: release a=nabia-backports
 Pin-Priority: -100
 EOF
 
-
 fi
 
 
index 434ca2aec0a5e0f923d773e1ac1f4b515e04f72f..feabc624979261f14aa2ac5cafbd86db0cefaf2b 100755 (executable)
@@ -525,9 +525,13 @@ Pin-Priority: 500
 EOF
     ;;
   nabia)
+    # note, to get the latest, it would be n=bullseye*
+    # but that has conflicting package versions, so this does the old one.
+    # I only use it for special rare purposes. Just keep in mind it is an
+    # outdated insecure version.
     sd /etc/apt/preferences.d/chromium-bullseye <<EOF
 Package: chromium chromium-* libicu67 libjpeg62-turbo libjsoncpp24 libre2-9 libwebpmux3
-Pin: release o=Debian*,n=bullseye*
+Pin: release o=Debian*,n=bullseye
 Pin-Priority: 500
 EOF
     ;;
index 4f3bb04ee5e8e0ee5129638dcbc43c6c6458ea9b..9838cac3ca219cbbf748da0ea366843056dbeb53 100644 (file)
@@ -9,10 +9,9 @@ groups:
 - name: standard
   rules:
 
-## uncomment for testing an alert firing
+# ## uncomment for testing an alert firing
 #   - alert: test-alert4
 #     expr: vector(1)
-# #    expr: nonexistent_metric
 #     for: 0m
 #     labels:
 #       severity: day
@@ -107,13 +106,15 @@ groups:
     labels:
       severity: prod
 
+# 17 minutes: if we reboot causing 1 send to fail, thats 10 minutes. we
+# test this every 5 minutes, so thats 15 minutes at most.
   - alert: mailtest_check_vps
     expr: |-
-      time() - mailtest_check_last_usec{job="tlsnode"} >= 60 * 12
+      time() - mailtest_check_last_usec{job="tlsnode"} >= 60 * 17
     labels:
       severity: day
     annotations:
-      summary: '12 minutes down'
+      summary: '17 minutes down'
 
   - alert: mailtest_check_unexpected_spamd_vps
     expr: |-
@@ -125,11 +126,11 @@ groups:
 
   - alert: mailtest_check_mailhost
     expr: |-
-      time() - max by (folder,from) (mailtest_check_last_usec{job="node"}) >= 60 * 12
+      time() - max by (folder,from) (mailtest_check_last_usec{job="node"}) >= 60 * 17
     labels:
       severity: day
     annotations:
-      summary: '12 minutes down'
+      summary: '17 minutes down'
 
   # 20 minutes. just allow for more due to prod alert.
   - alert: mailtest_check_gnu_mailhost
diff --git a/filesystem/etc/systemd/system/ssh.service.d/override.conf b/filesystem/etc/systemd/system/ssh.service.d/override.conf
new file mode 100644 (file)
index 0000000..8905c75
--- /dev/null
@@ -0,0 +1,19 @@
+# This is very strange. perhaps the initramfs ssh daemon was still
+# holding open the port somehow.
+#
+# Apr 26 07:26:32 x2 systemd[1]: Starting OpenBSD Secure Shell server...
+# Apr 26 07:26:33 x2 sshd[1256]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
+# Apr 26 07:26:33 x2 sshd[1256]: error: Bind to port 22 on :: failed: Address already in use.
+# Apr 26 07:26:33 x2 sshd[1256]: fatal: Cannot bind any address.
+# Apr 26 07:26:33 x2 systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION
+# Apr 26 07:26:33 x2 systemd[1]: ssh.service: Failed with result 'exit-code'.
+# Apr 26 07:26:33 x2 systemd[1]: Failed to start OpenBSD Secure Shell server.
+
+[Unit]
+StartLimitIntervalSec=0
+
+[Service]
+Restart=always
+RestartSec=20
+
+ExecStopPost=+/usr/bin/ss -lpn state listening sport = 22
index ee678f8e7ac9d572905f53300f21d7d152580ed1..39ee9b431d8f3656e6f281a439fcd2aacc42865f 100644 (file)
@@ -83,6 +83,14 @@ bindsym $mod+9 workspace 10
 # random keybind, feel free to change
 bindsym $mod+Shift+m border toggle
 
+# toggle tiling / floating
+bindcode $mod+Shift+65 floating toggle
+
+# change focus between tiling / floating windows
+bindcode $mod+65 focus mode_toggle
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
 bindsym $mod+j exec emacsclient -c
 bindsym $mod+k exec konsole
 bindsym $mod+l exec dmenu_run
index e12149f114bc06b0b79bc980359cb6dd743f8b8d..041ab1d58db145e8ea8a2d8af07a1d60eb4db073 100755 (executable)
 # todo: run mailping test after running, or otherwise
 # clear out terminal alert
 
-# todo: on bk, dont send email if mailvpn is not up
-
-# todo: mailtest-check should check on bk too
-
 # todo: disable postgrey
 
 # todo: in testforward-check, we should also look
@@ -1212,6 +1208,7 @@ accept
 EOF
 
 rm -fv /etc/exim4/data_local_acl # old path
+
 i /etc/exim4/conf.d/data_local_acl <<'EOF'
 # Except for the "condition =", this was
 # a comment in the check_data acl. The comment about this not
@@ -1230,6 +1227,9 @@ warn
 
 warn
   !hosts = +iank_trusted
+  # They dont send spam, but needed this because
+  # smarthosts connect with residential ips and thus get flagged as spam.
+  !authenticated = plain_server:login_server
   condition = ${if < {$message_size}{5000K}}
   spam = Debian-exim:true
   add_header = X-Spam_score_int: $spam_score_int
@@ -1239,6 +1239,7 @@ warn
   add_header = X-Spam_action: $spam_action
 
 warn
+  !authenticated = plain_server:login_server
   condition = ${if def:malware_name}
   remove_header = Subject:
   add_header = Subject: [Clamav warning: $malware_name] $h_subject
@@ -3200,14 +3201,12 @@ case $HOSTNAME in
     # note: cronjob "ian" also does some important monitoring
     # todo: this will sometimes cause an alert because mailtest-check will run
     # before we have setup network namespace and spamassassin
-    cat >/etc/cron.d/mailtest <<EOF
+    /etc/cron.d/mailtest <<EOF
 SHELL=/bin/bash
 PATH=/usr/bin:/bin:/usr/local/bin
 MAILTO=daylert@iankelling.org
 */5  * * * *   $u send-test-forward |& log-once send-test-forward
 */10 * * * *   root chmod -R g+rw /m/md/bounces |& log-once -1 bounces-chmod
-# todo: delete, this is old
-#*/5  * * * *   root timeout 290 mailtest-check slow |& log-once -1 mailtest-check
 # if a bounce happened yesterday, dont let it slip through the cracks
 8   1 * * *   root export MAILTO=alerts@iankelling.org; [[ -s /var/log/exim4/mainlog.1 ]] && awk '\$5 == "**"' /var/log/exim4/mainlog.1
 EOF
@@ -3215,7 +3214,7 @@ EOF
 
     m sudo rsync -ahhi --chown=root:root --chmod=0755 \
       /b/ds/mailtest-check /b/ds/check-remote-mailqs /usr/local/bin/
-    cat >/etc/systemd/system/mailtest-check.service <<'EOF'
+    /etc/systemd/system/mailtest-check.service <<'EOF'
 [Unit]
 Description=mailtest-check
 After=local-fs.target
index 03cf6ab7135ddb4ee8b1f33b669340e816ec967c..91e577cbe23d4abf5c92ba1993c95d77d5eebbec 100755 (executable)
@@ -86,7 +86,7 @@ main() {
       froms=(ian@iankelling.org z@zroe.org testignore@je.b8.nz iank@gnu.org)
       ;;
     je)
-      froms=(ian@iankelling.org z@zroe.org testignore@expertpathologyreview.com testignore@amnimal.ninja)
+      froms=(ian@iankelling.org z@zroe.org iank@gnu.org testignore@amnimal.ninja)
       folders=(/m/md/je.b8.nz/testignore)
       ;;
     *)
index a55e2cdf886ecc73ff54da8a83310f9490339881..182371ea5beaf82cc53427eec20935420094c3ed 100755 (executable)
@@ -41,4 +41,5 @@ for d in dev/pts dev proc sys; do
     umount $d
   fi
 done
+cd /
 umount /mnt/tmptimer
index 938f67e409d7ee0f6c44f9631a74ff49c6fca253..d185b5079783daf3bf12cbc4c059a2624c7cc196 100644 (file)
@@ -83,6 +83,14 @@ bindsym $mod+9 workspace 10
 # random keybind, feel free to change
 bindsym $mod+Shift+m border toggle
 
+# toggle tiling / floating
+bindcode $mod+Shift+65 floating toggle
+
+# change focus between tiling / floating windows
+bindcode $mod+65 focus mode_toggle
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
 bindsym $mod+j exec emacsclient -c
 bindsym $mod+k exec konsole
 bindsym $mod+l exec dmenu_run
index 0d56fef5e85e2d1a6a13cda9768cfd2b84637967..fbebd2f521052f020f5a92fdc043e2850b707675 100644 (file)
@@ -83,6 +83,14 @@ bindsym $mod+9 workspace 10
 # random keybind, feel free to change
 bindsym $mod+Shift+m border toggle
 
+# toggle tiling / floating
+bindcode $mod+Shift+65 floating toggle
+
+# change focus between tiling / floating windows
+bindcode $mod+65 focus mode_toggle
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
 bindsym $mod+j exec emacsclient -c
 bindsym $mod+k exec konsole
 bindsym $mod+l exec dmenu_run
index 1d5e4328761cbb1dfac71eda27ccb87445bb5b23..3db63fcd253a9bf743ebf4a3a1ec531c1bde7dc1 100755 (executable)
@@ -18,14 +18,14 @@ fi
 
 
 ## begin check on btrbk
-age_limit_sec=$(( 60 * 60 * 74 )) # 74 hours
+age_limit_sec=$(( 60 * 60 * 24 * 7 )) # 7 days.
 for prefix in root boot; do
   if [[ $prefix == boot ]]; then
     # its not uncommon for the /boot subvol to have no changes, and thus
     # no new backups for 10 days or so. todo: instead of this error
     # prone check, we should make it so the ziva computer will
     # touch a file on our computer whenever btrbk succeeds
-    age_limit_sec=$(( age_limit_sec + 60* 60 * 24 * 15 ))
+    age_limit_sec=$(( age_limit_sec + 60* 60 * 24 * 35 ))
   fi
   vol=${prefix}_ubuntubionic
   snaps=(/mnt/r7/amy/$prefix/btrbk/${vol}.20*)