all repos — zion-terminal @ 66508a0a605214d34c7a2231848d44ee63b394b2

dotfiles

opt/zion-terminal/bin/zion-update (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
#!/usr/bin/env bash
# ZION TERMINAL - Atualizacao segura do sistema
# Cyberdeck criado por Pablo Murad em 2026
export LC_ALL=C
. /opt/zion-terminal/bin/zion-lib.sh 2>/dev/null
LOG=/opt/zion-terminal/logs/update.log
[ "$1" = "--help" ] && { echo "Uso: zion atualizar — atualiza indices, mostra o que sera atualizado, pede confirmacao e aplica (respeitando o hold do kernel). Registra em $LOG."; exit 0; }

printf '%b  ZION TERMINAL — Atualizacao%b\n' "$ZP$ZB" "$ZR"; zion_regua 50
echo "  Atualizando indices (apt update)..."
sudo apt-get update -qq 2>/dev/null

mapfile -t ups < <(apt list --upgradable 2>/dev/null | grep -v Listing)
n=${#ups[@]}
if [ "$n" -eq 0 ]; then printf '  %bSistema ja atualizado. Nada a fazer.%b\n' "$ZOK" "$ZR"; exit 0; fi
printf '  %b%d pacote(s) a atualizar:%b\n' "$ZWARN" "$n" "$ZR"
printf '   • %s\n' "${ups[@]:0:20}"
[ "$n" -gt 20 ] && echo "   ... e mais $((n-20))"
echo "  (kernel/BSP em hold NAO serao tocados: $(apt-mark showhold | tr '\n' ' '))"
read -r -p "$(printf '%b  Aplicar atualizacoes? [s/N]:%b ' "$ZWARN" "$ZR")" r
[ "$r" = s ] || [ "$r" = S ] || { echo "  Cancelado."; exit 0; }

echo "  Aplicando..."
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade 2>&1 | tee -a "$LOG" | grep -iE "Setting up|Removing|newly" | sed 's/^/   /'
printf '[%s] update aplicado (%d pacotes)\n' "$(date '+%F %T')" "$n" >> "$LOG"
if [ -f /var/run/reboot-required ]; then printf '  %b● Reinicializacao recomendada.%b\n' "$ZWARN" "$ZR"; else printf '  %b● Concluido. Reboot nao necessario.%b\n' "$ZOK" "$ZR"; fi