X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;ds=sidebyside;f=distro-begin;h=4104e0015ce4ee1f44d1971696b1c1530be70087;hb=HEAD;hp=e97c6c37bf46264d02483bf4e81abd0d816a0a1a;hpb=ef95a0340c000f1b047928e92bbb82f538726c51;p=distro-setup diff --git a/distro-begin b/distro-begin index e97c6c3..86e41e6 100755 --- a/distro-begin +++ b/distro-begin @@ -55,6 +55,7 @@ ####### begin setup environment ####### +# shellcheck disable=SC2317 # false positive ### make ssh interactive shell run better. for when running line interactively line by line sudo bash -c '/a/exe/ssh-emacs-setup' || exit $? @@ -310,85 +311,11 @@ set +x err-allow source /etc/profile.d/environment.sh export LC_USEBASHRC=t -# shellcheck source=./.bashrc -source ~/.bashrc +# shellcheck source=./brc +source ~/brc err-catch $interactive || set -x -##### use systemd-resolved for glibc resolutions - -pi libnss-resolve - -if [[ ! -L /etc/nsswitch.conf ]]; then - sudo mkdir -p /etc/resolved-nsswitch - sudo mv /etc/nsswitch.conf /etc/resolved-nsswitch - sudo ln -sf /etc/resolved-nsswitch/nsswitch.conf /etc -fi - -f=/etc/basic-nsswitch/nsswitch.conf -if [[ ! -e $f ]]; then - sudo mkdir -p ${f%/*} - sudo cp /etc/nsswitch.conf $f - sudo sed -i --follow-symlinks 's/^ *hosts:.*/hosts: files dns myhostname/' $f -fi -case $HOSTNAME in - bk|je) - # je should be able to get along systemd-resolved, but ive had some odd - # very intermittent dns failures with spamassassin, it seems it might only - # be happening with systemd-resolved, so just use unbound - # to make it consistent with the other hosts. - sudo sed -i --follow-symlinks 's/^ *hosts:.*/hosts: files dns myhostname/' /etc/nsswitch.conf - soff systemd-resolved - sudo ln -sf 127.0.0.1-resolv/stub-resolv.conf /etc/resolv.conf - sgo unbound - # cautious measure to make sure resolution is working - sleep 1 - ;; - *) - # default is - # files mdns4_minimal [NOTFOUND=return] dns myhostname - # mdns4 is needed for my printer and for bbb webrtc, not sure exactly why. - # https://www.freedesktop.org/software/systemd/man/nss-resolve.html# - # seems more important than some potential use case. - # Interestingly, t9/t10 man page says use files before resolve, debian 10 says the opposite. - # removing files makes hostname -f not actually give the fully qualified domain name. - sudo sed -i --follow-symlinks 's/^ *hosts:.*/hosts: files resolve [!UNAVAIL=return] mdns4_minimal [NOTFOUND=return] myhostname/' /etc/resolved-nsswitch/nsswitch.conf - ;; -esac - -case $HOSTNAME in - bk) - sgo named - ;; -esac - - -lines=( - "/etc/resolved-nsswitch/nsswitch.conf r," - "/etc/basic-nsswitch/nsswitch.conf r," - # Aug 06 23:09:11 kd audit[3995]: AVC apparmor="DENIED" operation="connect" profile="/usr/bin/freshclam" name="/run/systemd/resolve/io.systemd.Resolve" pid=3995 comm="freshclam" requested_mask="wr" denied_mask="wr" fsuid=109 ouid=101 - # I dont know if this is quite the right fix, but I saw other sockets - # in the nameservice files that were rw, so figured it was ok to add this and it worked. - "/run/systemd/resolve/io.systemd.Resolve rw," -) -f=/etc/apparmor.d/abstractions/nameservice -apparmor_reload=false -if [[ -e $f ]]; then - for l in "${lines[@]}"; do - if ! grep -qF "$l" $f; then - sudo sed -i "/\/nsswitch.conf/a $l" $f - apparmor_reload=true - if ! grep -qF "$l" $f; then - echo "$0: failed editing $f. investigate" - exit 1 - fi - fi - done - if $apparmor_reload && systemctl is-active apparmor; then - m ser reload apparmor - fi -fi - if dpkg -s -- nscd &>/dev/null; then @@ -497,7 +424,7 @@ pi ${p1[@]} ######## fix evbug bug ###### case $(debian-codename-compat) in - xenial|bionic|focal|jammy) + xenial|bionic|focal|jammy|noble) # noticed in flidas. dunno if it affects any others #https://bugs.launchpad.net/ubuntu/+source/module-init-tools/+bug/240553 #https://wiki.debian.org/KernelModuleBlacklisting @@ -553,7 +480,7 @@ fi # disabled temporarily ###### setup /i # if home_network; then -# tu /etc/fstab <<'EOF' +# sudo /a/exe/teeu /etc/fstab <<'EOF' # /i/w /w none bind,noauto 0 0 # /i/k /k none bind,noauto 0 0 # EOF @@ -562,11 +489,11 @@ fi # sudo chown $USER:user2 /kr # fi # if [[ $HOSTNAME == frodo ]]; then -# tu /etc/fstab <<'EOF' +# sudo /a/exe/teeu /etc/fstab <<'EOF' # /k /kr none bind,noauto 0 0 # EOF # else -# tu /etc/fstab <<'EOF' +# sudo /a/exe/teeu /etc/fstab <<'EOF' # frodo:/k /kr nfs noauto 0 0 # EOF # fi @@ -636,7 +563,7 @@ if has_btrfs; then fi first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab) - tu /etc/fstab < 2)) && echo ,compress=zstd ) 0 0 EOF sudo mkdir -p $dir @@ -649,7 +576,7 @@ fi case $HOSTNAME in kd) - tu /etc/fstab <<'EOF' + sudo /a/exe/teeu /etc/fstab <<'EOF' /dev/mapper/crypt_dev_ata-Samsung_SSD_870_QVO_8TB_S5VUNG0N900656V-part7 /d btrfs nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,noatime,compress=zstd,subvol=d 0 0 /d/m /i none bind,compress=zstd 0 0 EOF @@ -665,7 +592,7 @@ EOF fi ;; frodo) - tu /etc/fstab <<'EOF' + sudo /a/exe/teeu /etc/fstab <<'EOF' /dev/mapper/crypt_dev_ata-ata-Hitachi_HDS722020ALA330_JK1121YAG7SXWS-part1 /i btrfs nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,noatime,subvol=i 0 0 EOF if ! mountpoint /i &>/dev/null; then @@ -724,28 +651,19 @@ if has_monitor; then ;; esac - # recommends gets us geoclue (for darkening automatically at night i assume), - # which recommends modemmanager, which is annoying to fix for the model01 keyboard. - # commented because I dont use it much, and in nabia its named changed to redshift-gtk - #pi --no-install-recommends gtk-redshift - ##### setup X autostart - # install for multiple display managers in case we use one - dir=/etc/X11/xinit/xinitrc.d/ - sudo mkdir -p $dir - sudo cp /a/bin/distro-setup/desktop-20-autostart.sh $dir ## disabled since i'm not using gdm atm # dir=/etc/gdm3 # sudo mkdir -p $dir/PostLogin - # sudo cp /a/bin/distro-setup/desktop-20-autostart.sh $dir/PostLogin/Default + # sudo cp /a/bin/distro-setup/myx $dir/PostLogin/Default sudo mkdir -p /etc/lightdm/lightdm.conf.d # etiona lightdm.log: # [SeatDefaults] is now called [Seat:*], please update this configuration sudo dd of=/etc/lightdm/lightdm.conf.d/12-iank.conf <<'EOF' [Seat:*] # display-setup-script=/a/bin/ds/lightdm-start -session-setup-script=/a/bin/distro-setup/desktop-20-autostart.sh +session-setup-script=/a/bin/distro-setup/myx EOF