Files
brahman/scripts/uninstall-arje.sh
sergio 5edd8de917 fix(scripts): Fedora/RHEL usan /boot/grub2/grub.cfg, no el wrapper EFI
Desde Fedora 34 / RHEL 9, /boot/efi/EFI/<distro>/grub.cfg es un wrapper
que sourcea /boot/grub2/grub.cfg — y grub2-mkconfig se niega a
sobreescribirlo ("will overwrite the GRUB wrapper. Please run [...] on
/boot/grub2/grub.cfg instead"). Mi loop de detección lo encontraba
primero y fallaba. Apuntamos directo al canónico.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 00:25:18 +00:00

48 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# uninstall-arje.sh — revierte lo que install-arje-as-init.sh hizo.
#
# - Borra /usr/sbin/arje-* y /usr/bin/{brahman-status,busctl,brainctl}.
# - Borra el bloque ARJE-MENUENTRY de /etc/grub.d/40_custom.
# - Regenera grub.cfg.
# - NO toca /ente/seed.card.json (querés conservar customización).
# - NO toca /sbin/init ni systemd.
set -euo pipefail
if [ "$(id -u)" -ne 0 ]; then
echo "[uninstall-arje] hace falta root" >&2
exit 1
fi
echo "[uninstall-arje] removiendo binarios"
rm -f /usr/sbin/arje-zero
for b in arje-echo arje-policy-provider \
arje-logind-compat arje-hostnamed-compat arje-timedated-compat \
arje-localed-compat arje-journald-compat arje-resolved-compat \
arje-polkit-compat arje-machined-compat arje-systemd1-compat \
arje-notify-compat arje-timer-compat arje-tmpfiles-compat \
arje-binfmt-compat; do
rm -f "/usr/sbin/$b"
done
for e in brahman-status busctl brainctl; do
rm -f "/usr/bin/$e"
done
echo "[uninstall-arje] limpiando menuentry de /etc/grub.d/40_custom"
CUSTOM=/etc/grub.d/40_custom
if [ -f "$CUSTOM" ] && grep -q "BEGIN ARJE-MENUENTRY" "$CUSTOM"; then
awk '/BEGIN ARJE-MENUENTRY/{f=1} /END ARJE-MENUENTRY/{f=0; next} !f' "$CUSTOM" \
> "$CUSTOM.tmp" && mv "$CUSTOM.tmp" "$CUSTOM"
chmod 0755 "$CUSTOM"
fi
if command -v update-grub >/dev/null 2>&1; then
update-grub
elif command -v grub2-mkconfig >/dev/null 2>&1; then
grub2-mkconfig -o /boot/grub2/grub.cfg
elif command -v grub-mkconfig >/dev/null 2>&1; then
grub-mkconfig -o /boot/grub/grub.cfg
fi
echo "[uninstall-arje] hecho. /ente/seed.card.json conservado (borralo a mano si querés)."