buster + fixes
[distro-setup] / distro-end
index 0e7c4b8197dab344b80a00602e76365deaa84dfa..9d3f6f5048e9c33529e736366912f327f7a2ed73 100755 (executable)
@@ -181,6 +181,18 @@ sgo certbotmail.timer
 
 pi ${p1[@]}
 
+##### begin automatic upgrades ####
+# this makes it so we upgrade everything
+debconf-set-selections <<'EOF'
+unattended-upgrades unattended-upgrades/origins_pattern string "codename=${distro_codename}";
+EOF
+dpkg-reconfigure -u -fnoninteractive unattended-upgrades
+
+# Setup daily reboots, so all unattended upgrades go into affect
+# unattended upgrades happen at 6 am + rand(60 min).
+echo '20 7 * * * root /usr/local/bin/zelous-unattended-reboot' >/etc/cron.d/unattended-upgrade-reboot
+##### end automatic upgrades ####
+
 
 ## prometheus node exporter setup
 web-conf -f 9100 -p 9101 apache2 $(hostname -f) <<'EOF'
@@ -731,6 +743,37 @@ EOF
 fi
 #########  end  pump.io periodic backup #############
 
+
+######### begin irc periodic backup #############
+if [[ $HOSTNAME == frodo ]]; then
+  s dd of=/etc/systemd/system/ircbackup.service <<'EOF'
+[Unit]
+Description=irc li backup
+After=multi-user.target
+
+[Service]
+User=iank
+Type=oneshot
+ExecStart=/a/bin/log-quiet/sysd-mail-once irc-backup rsync -rlptDhSAX --delete root@iankelling.org:/var/lib/znc/moddata/log/iank/freenode/ /k/irclogs
+EOF
+  s dd of=/etc/systemd/system/ircbackup.timer <<'EOF'
+[Unit]
+Description=irc li backup hourly
+
+[Timer]
+OnCalendar=hourly
+
+[Install]
+WantedBy=timers.target
+EOF
+  s systemctl daemon-reload
+  sgo ircbackup.timer
+fi
+
+
+######### end irc periodic backup #############
+
+
 # https://github.com/jlebon/textern
 cd /a/opt/textern
 make native-install USER=1
@@ -843,8 +886,8 @@ fi
 # sakura config is owned by ian
 reset-sakura
 reset-konsole
-sudo -u traci -i reset-konsole
-# traci xscreensaver we don't want to reset
+sudo -u user2 -i reset-konsole
+# user2 xscreensaver we don't want to reset
 reset-xscreensaver
 
 
@@ -1005,10 +1048,41 @@ EOF
     cd $t
     aptitude download debootstrap/xenial
     ex *
-    ex data.tar.gz
     s cp ./usr/share/debootstrap/scripts/* /usr/share/debootstrap/scripts
-
     ;;
+
+  s dd of=/etc/apt/preferences.d/flidas-etiona <<EOF
+Package: *
+Pin: release a=etiona
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-updates
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-security
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-backports
+Pin-Priority: -100
+EOF
+
+  t=$(mktemp)
+  cat >$t <<EOF
+deb http://mirror.fsf.org/trisquel/ etiona main
+deb http://mirror.fsf.org/trisquel/ etiona-updates main
+deb http://archive.trisquel.info/trisquel/ etiona-security main
+deb http://mirror.fsf.org/trisquel/ etiona-backports main
+EOF
+  f=/etc/apt/sources.list.d/etiona.list
+  if ! diff -q $t $f; then
+    s cp $t $f
+    s chmod 644 $f
+    p update
+  fi
+
 esac
 
 # /run and /dev/shm are listed as required for pulseaudio. All 4 in the group
@@ -1051,7 +1125,7 @@ type=directory
 directory=$d
 profile=desktop
 preserve-environment=true
-users=$USER,traci
+users=$USER,user2
 EOF
   if [[ -e $d/bin ]]; then
     s chroot $d apt-get update
@@ -1174,7 +1248,7 @@ EOF
     fi
     for f in /i/k/partial-torrents /i/k/torrents; do
       if [[ -e $f ]]; then
-        s chown -R debian-transmission:traci $f
+        s chown -R debian-transmission:user2 $f
       fi
     done
     s chown -R debian-transmission:debian-transmission /var/lib/transmission-daemon
@@ -1275,8 +1349,11 @@ EOF
 
   rpc_pass=$(</p/transmission-rpc-pass)
   for f in /home/*; do
-    d=$f/.config/transmission-remote-gtk
     u=${f##*/}
+    if [[ ! $(id -u $u) -ge 1000 ]]; then
+      continue
+    fi
+    d=$f/.config/transmission-remote-gtk
     s -u $u mkdir -p $d
     s -u $u dd of=$d/config.json <<EOF
 {
@@ -1339,7 +1416,7 @@ esac
 
 
 # allow user to run vms, from debian handbook
-for x in iank traci; do s usermod -a -G libvirt,kvm $x; done
+for x in iank user2; do s usermod -a -G libvirt,kvm $x; done
 # bridge networking as user fails. google lead here, but it doesn\'t work:
 # oh well, I give up.
 # http://wiki.qemu.org/Features-Done/HelperNetworking