Add pacman support for Arch Linux systems

- Detect netbird installed via pacman
- Remove netbird packages using pacman -Rns when replacing with binary install
- Update README to document pacman support
This commit is contained in:
2026-07-25 22:49:39 -04:00
parent 376fac0665
commit d2ca6c6787
2 changed files with 7 additions and 1 deletions
+2 -1
View File
@@ -166,7 +166,7 @@ The `--password` option provides a default sudo password for remote deployments.
The script detects three installation states: The script detects three installation states:
1. **Not Installed**: Netbird binary not found in PATH 1. **Not Installed**: Netbird binary not found in PATH
2. **Package Manager Install**: Installed via apt, yum, dnf, zypper, or rpm-ostree 2. **Package Manager Install**: Installed via apt, yum, dnf, zypper, pacman, or rpm-ostree
3. **Binary Install**: Installed via the official curl-based installer 3. **Binary Install**: Installed via the official curl-based installer
Detection is performed by: Detection is performed by:
@@ -405,6 +405,7 @@ Failed Hosts:
- yum (RHEL/CentOS 7) - yum (RHEL/CentOS 7)
- dnf (Fedora/RHEL 8+/CentOS 8+) - dnf (Fedora/RHEL 8+/CentOS 8+)
- zypper (openSUSE) - zypper (openSUSE)
- pacman (Arch Linux)
- rpm-ostree (Fedora Silverblue) - rpm-ostree (Fedora Silverblue)
### SELinux Support ### SELinux Support
@@ -298,6 +298,10 @@ detect_install() {
fi fi
return return
fi fi
if pacman -Q netbird &>/dev/null; then
echo "pkg:pacman"
return
fi
echo "bin" echo "bin"
} }
@@ -382,6 +386,7 @@ case "$1" in
dnf) dnf remove -y netbird netbird-ui 2>/dev/null || true ;; dnf) dnf remove -y netbird netbird-ui 2>/dev/null || true ;;
zypper) zypper remove -y netbird netbird-ui 2>/dev/null || true ;; zypper) zypper remove -y netbird netbird-ui 2>/dev/null || true ;;
rpm-ostree) rpm-ostree uninstall -y netbird netbird-ui 2>/dev/null || true ;; rpm-ostree) rpm-ostree uninstall -y netbird netbird-ui 2>/dev/null || true ;;
pacman) pacman -Rns --noconfirm netbird netbird-ui 2>/dev/null || true ;;
esac esac
USE_BIN_INSTALL=true SKIP_UI_APP=true bash /tmp/.netbird_install.sh USE_BIN_INSTALL=true SKIP_UI_APP=true bash /tmp/.netbird_install.sh
chown root:root /usr/bin/netbird 2>/dev/null || true chown root:root /usr/bin/netbird 2>/dev/null || true