ACTUALIZAR: App en Remoto
La actualización en remoto permite modificar la app general de los equipos y llevarla hasta su ultima versión. Requiere el uso del programa Mesh Central, el control remoto de nuestros equipos. Los pasos deben seguirse al pié de la letra sin excepción.
- Detalles sobre Actualizar en Remoto
- 00: Versión de Linux
- 01. Actualización 2023
- 02. Actualización 2024
- 03: Actualización 2025
Detalles sobre Actualizar en Remoto
La actualización en remoto permite modificar la app general de los equipos y llevarla hasta su ultima versión.
Requiere el uso del programa Mesh Central, el control remoto de nuestros equipos.
Los pasos deben seguirse al pié de la letra sin excepción.
---------
00: Versión de Linux
01: Lightdm.sh
# SOLO SI EL EQUIPO NO ESTÁ EN DEBIAN 12
# Ejecutar como ADMIN/AGENTE
# PASO 0.1 - Esperar hasta que se reinicie#/bin/bash
apt update -y
apt upgrade -y
if [ ! -d /etc/lightdm/ ]; then
apt -y purge sddm
apt autoremove -y
apt -y install lightdm
sed -i 's/#autologin-user=/autologin-user=cvc/g' /etc/lightdm/lightdm.conf
sed -i 's/#autologin-user-timeout=0/autologin-user-timeout=0/g' /etc/lightdm/lightdm.conf
rm /etc/systemd/system/startx.service /etc/systemd/system/getty.target.wants/getty\@tty1.service
rm -r /etc/sddm.conf.d/
reboot
fi
02: Networkd.sh
# SOLO SI EL EQUIPO NO ESTÁ EN DEBIAN 12
# Ejecutar como ADMIN/AGENTE
# PASO 0.2 - Esperar 2 minutos#/bin/bash
if [ ! -f /etc/systemd/network/wired.network ]; then
curl -L https://comunicacionvisualcanarias.com/_ext/updates/2023_1/files/wired.network -o /etc/systemd/network/wired.networkADDRESS=$(ip a | grep "inet" | grep "scope global" | grep -v "dynamic" | awk '{ print $2 }')
GATEWAY=$(ip route | grep "default via" | awk '{print $3}')if [ ! -z $ADDRESS ]; then
sed -i "s/DHCP=.*/DHCP=no/g" /etc/systemd/network/wired.network
sed -i "s|Address=.*|Address=$ADDRESS|g" /etc/systemd/network/wired.network
sed -i "s/Gateway=.*/Gateway=$GATEWAY/g" /etc/systemd/network/wired.network
fisystemctl enable systemd-networkd
systemctl disable NetworkManager
apt purge -y network-manager
systemctl start systemd-networkd
rm -r /etc/NetworkManager
fi
03: UpdateLite.sh
# SOLO SI EL EQUIPO NO ESTÁ EN DEBIAN 12
# Ejecutar como ADMIN/AGENTE
# PASO 0.3 - Esperar hasta que se reinicie#!/bin/bash
# ###############################################################
# ###################### Pre Instalacion ########################
# ###############################################################if [ -f /home/cvc/system.cfg ]; then
echo "ya actualizado"
exit 1
fiif [ ! -f /home/cvc/system/system.cfg ]; then
echo "no se puede actualizar, no hay system.cfg"
exit 1
fi
# Entorno
ID=$(grep 'ID="' /home/cvc/system/system.cfg | cut -d'"' -f2)
CLIENT=$(grep 'CLIENT="' /home/cvc/system/system.cfg | cut -d'"' -f2)
STARTAPP=$(grep 'STARTAPP="' /home/cvc/system/system.cfg | cut -d'"' -f2)
SYNC_MEDIA=$(grep 'SYNC_MEDIA="' /home/cvc/system/system.cfg | cut -d'"' -f2)
SYNC_MUSIC=$(grep 'SYNC_MUSIC="' /home/cvc/system/system.cfg | cut -d'"' -f2)cd /home/cvc
export HOME=/home/cvc# Deshabilitar tareas
printf "" | sudo -u cvc crontab -
printf "" | crontab -# Borrar paquetes innecesarios
apt update -y
apt purge -y kitty nano vim-tiny expect
apt autoremove -y######## Descargar paquete de instalación
[ -d /tmp/update ] && rm -R /tmp/update
mkdir -p /tmp/update/root
curl -L -o /tmp/update/package.zip "https://comunicacionvisualcanarias.com/_ext/updates/2023_1/package.zip"######## Copiar contenidos, musica y config
mkdir /tmp/update/media
cp -R /home/cvc/_contenidos/files/* /tmp/update/media/mkdir /tmp/update/music
cp -R /home/cvc/_musica/files/* /tmp/update/music/mkdir /tmp/update/network
cp /etc/systemd/network/wired.network /tmp/update/network/wired.network# Extraer paquete
apt install -y unzip
unzip /tmp/update/package.zip -d /tmp/update/root/
# ################################################################
# ######################## INSTALACIÓN ##########################
# ######################################################################## Preparar los paquetes
apt upgrade -y
apt install -y alsa-utils xdotool zstd bash-completion neovim scrot lm-sensors htop curl efibootmgr ffmpeg jq moreutils
######## Actualizar debian
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed -i 's/non-free/non-free-firmware/g' /etc/apt/sources.list
sed -i 's/non-free-firmware-firmware/non-free-firmware/g' /etc/apt/sources.list
export DEBIAN_FRONTEND=noninteractive
export DEBIAN_PRIORITY=critical
apt update -y
apt-get -y -o "Dpkg::Options::=--force- confdef" -o "Dpkg::Options::=--force-confold" upgrade --without-new-pkgs
apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" full-upgrade######## Borrar archivos antiguos
rm -f /home/cvc/FIRST_RUN
rm -rf /home/cvc/mesh
rm -rf /home/cvc/update
rm -rf /home/cvc/system
rm -rf /home/cvc/.config/canal
rm -rf /home/cvc/.config/totem
rm -rf /home/cvc/.config/webviewer
rm -rf /home/cvc/.config/guardiasrm -rf /efi/*
rm -rf /usr/share/plymouth/*######## Copiar ficheros de actualizacion
cp -R /tmp/update/root/* /
# #############################################################
# ###################### CONFIGURACIÓN ########################
# ############################################################## Permisos
chown -R cvc:cvc /home/cvc/
chown root:root /etc/sudoers /etc/sudoers.d -Rchown root /home/cvc/apps/canal/chrome-sandbox
chmod 4755 /home/cvc/apps/canal/chrome-sandbox
chmod +x /home/cvc/apps/canal/canalchown root /home/cvc/apps/totem/chrome-sandbox
chmod 4755 /home/cvc/apps/totem/chrome-sandbox
chmod +x /home/cvc/apps/totem/totemchown root /home/cvc/apps/webviewer/chrome-sandbox
chmod 4755 /home/cvc/apps/webviewer/chrome-sandbox
chmod +x /home/cvc/apps/webviewer/webviewerchown root /home/cvc/apps/guardias/chrome-sandbox
chmod 4755 /home/cvc/apps/guardias/chrome-sandbox
chmod +x /home/cvc/apps/guardias/guardiaschmod +x /home/cvc/scripts/*
chown cvc:cvc /home/cvc/deploy/deploy.jsonchmod +x /home/cvc/.bash_aliases
# Fondo de escritorio
cp /home/cvc/resources/defaults/$CLIENT/BG.png /home/cvc/resources/BG.png######## Configuración de Apps
# Canal
mkdir -p /home/cvc/.config/canal/_custom
cp -R /home/cvc/resources/defaults/$CLIENT/config/canal/* /home/cvc/.config/canal/_custom/# Totem
mkdir -p /home/cvc/.config/totem/_custom
if [ -d /home/cvc/resources/defaults/$CLIENT/config/totem/ ]; then
cp -R /home/cvc/resources/defaults/$CLIENT/config/totem/* /home/cvc/.config/totem/_custom/
else
cp -R /home/cvc/resources/defaults/cvc/config/totem/* /home/cvc/.config/totem/_custom/
fi# cServer
cp -R /home/cvc/resources/defaults/$CLIENT/config/server/* /home/cvc/apps/server/
######## Reestablecer configuraciones# Contenidos y musica
cp /tmp/update/media/* /home/cvc/deploy/media/
cp /tmp/update/music/* /home/cvc/deploy/music/# Configuracion de sistema
sed -i "s/ID=.*/ID=\"$ID\"/g" /home/cvc/system.cfg
sed -i "s/CLIENT=.*/CLIENT=\"$CLIENT\"/g" /home/cvc/system.cfg
sed -i "s/STARTAPP=.*/STARTAPP=\"$STARTAPP\"/g" system.cfg
sed -i "s/SYNC_MEDIA=.*/SYNC_MEDIA=\"$SYNC_MEDIA\"/g" system.cfg
sed -i "s/SYNC_MUSIC=.*/SYNC_MUSIC=\"$SYNC_MUSIC\"/g" system.cfg
sed -i "s/SYNC_POWER=.*/SYNC_POWER=\"true\"/g" system.cfgcp /tmp/update/network/wired.network /etc/systemd/network/wired.network
# Actualizar Plymouth
cp /home/cvc/resources/defaults/$CLIENT/plymouthd.defaults /usr/share/plymouth/plymouthd.defaults
update-initramfs -u# Actualizar EFI
cp /vmlinuz /efi/EFI/vmlinuz
cp /initrd.img /efi/EFI/initrd
for i in {0..6}
do
efibootmgr -B -b 000$i
done
efibootmgr -c -d /dev/sda -p 1 -l "\EFI\boot\bootx64.efi" -L "cvcOS"# Otras configuraciones
systemctl daemon-reload
systemctl enable hwclock
systemctl set-default graphical.target
# Limpieza final
rm -rf /home/cvc/_apps
rm -rf /home/cvc/_contenidos
rm -rf /home/cvc/_musica
rm -rf /home/cvc/telemetry
apt -y purge *pulse*
apt autoremove -y
apt autoclean# Configurar cron
printf "" | crontab -
printf "*/10 * * * * /home/cvc/scripts/logger\n* * * * * /home/cvc/scripts/sync\n" | sudo -u cvc crontab -rm -Rf /tmp/update
reboot
04: Volume.sh
# SOLO SI EL EQUIPO NO ESTÁ EN DEBIAN 12
# Ejecutar como USUARIO
# PASO 0.4 - Instantaneo#/bin/bash
sudo -u cvc amixer set Master 100%
01. Actualización 2023
01. Update.sh
# Ejecutar como ADMIN/AGENTE
# PASO 1 - Esperar 1 minuto#/bin/bash
apt install unzip -yUPDATED=$(jq 'has("debug")' /home/cvc/.config/canal/_custom/CONF.json)
[ $UPDATED == 'true' ] && return 0
find /home/cvc/.config/ -name CONF.json -exec bash -c "jq '. + {debug: {autoOpenDevTools:false}}' {} | sponge {}" \;
find /home/cvc/resources/defaults/ -name CONF.json -exec bash -c "jq '. + {debug: {autoOpenDevTools:false}}' {} | sponge {}" \;
# Descargar y descomprimir
mkdir /tmp/update
curl -L "https://www.comunicacionvisualcanarias.com/_ext/updates/2023_2/package.zip" -o /tmp/update/package.zip
unzip /tmp/update/package.zip -d /tmp/update/ROOT# Borrar y copiar nuevo
cp /home/cvc/apps/server/config.json /tmp/update/config.json
rm -R /home/cvc/apps/canal
rm -R /home/cvc/apps/server
cp -R /tmp/update/ROOT/* /# Permisos
chown -R cvc:cvc /home/cvc/
chmod +x /home/cvc/apps/canal/canal
chmod +x /home/cvc/apps/totem/totem
chmod +x /home/cvc/apps/webviewer/webviewer
chmod +x /home/cvc/apps/guardias/guardiasfind /home/cvc/apps/ -name chrome-sandbox -exec chown root:root {} \;
find /home/cvc/apps/ -name chrome-sandbox -exec chmod 4755 {} \;# Restaura config
mv /tmp/update/config.json /home/cvc/apps/server/data/config.json
systemctl restart cServer
killall canal# Limpiar
rm -R /tmp/update
02. Patch.sh
# Ejecutar como USUARIO
# PASO 2 - Esperar 2 minutossource /home/cvc/system.cfg
[ $VERSION -ge 231114 ] && echo "No es necesario actualizar" && exit# Descargar y descomprimir
mkdir /tmp/update
curl -L "https://www.comunicacionvisualcanarias.com/_ext/updates/2023_4/package.zip" -o /tmp/update/package.zip
unzip /tmp/update/package.zip -d /tmp/update/ROOT# Copiar y actualizar
cp -R /tmp/update/ROOT/* /
sed -i "s/VERSION=.*/VERSION=231114/g" /home/cvc/system.cfg# Reiniciar la aplicacion
export DISPLAY=:0; xdotool key 'ctrl+shift+r'
02. Actualización 2024
01. Clean.sh
# Ejecutar como ADMIN/AGENTE
# PASO 3 - Esperar 30 segundossource /home/cvc/system.cfg
[ $VERSION -ge 240103 ] && echo "No es necesario actualizar" && exit
# Borrar antigua App
rm -R /home/cvc/apps/canal
02. Clean.sh
# Ejecutar como USUARIO
# PASO 4 - Esperar 2 minutossource /home/cvc/system.cfg
[ $VERSION -ge 240103 ] && echo "No es necesario actualizar" && exit
# Borrar antigua App
rm -R /home/cvc/apps/canal
source /home/cvc/system.cfg
[ $VERSION -ge 240103 ] && echo "No es necesario actualizar" && exit# Descargar y descomprimir
mkdir /tmp/update
curl -L "https://www.comunicacionvisualcanarias.com/_ext/updates/2024_1/package.zip" -o /tmp/update/package.zip
unzip /tmp/update/package.zip -d /tmp/update/ROOTfind /home/cvc/.config/canal/ -name CONF.json -exec bash -c "jq '. + {tingRules: []}' {} | sponge {}" \;
find /home/cvc/.config/canal/ -name CONF.json -exec bash -c "jq '.interface += {clock: true}' {} | sponge {}" \;
find /home/cvc/.config/canal/ -name CONF.json -exec bash -c "jq '.interface += {overlay: false}' {} | sponge {}" \;find /home/cvc/resources/defaults/*/config/canal/CONF.json -exec bash -c "jq '. + {tingRules: []}' {} | sponge {}" \;
find /home/cvc/resources/defaults/*/config/canal/CONF.json -exec bash -c "jq '.interface += {overlay: false}' {} | sponge {}" \;
find /home/cvc/resources/defaults/*/config/canal/CONF.json -exec bash -c "jq '.interface += {clock: true}' {} | sponge {}" \;# Copiar y actualizar
cp -R /tmp/update/ROOT/* /
sed -i "s/VERSION=.*/VERSION=240103/g" /home/cvc/system.cfg# Reiniciar la aplicacion
export DISPLAY=:0; xdotool key 'alt+F4'
03. Clean.sh
# Ejecutar como ADMIN/AGENTE
# PASO 5 - Esperar 1 minutochmod +x /home/cvc/apps/canal/canal
chown cvc:cvc -R /home/cvc/apps/canal/*
chown root:root /home/cvc/apps/canal/chrome-sandbox
chmod 4755 /home/cvc/apps/canal/chrome-sandboxfind /home/cvc/ -iname overlayImg.png -exec bash -c "chown cvc:cvc {}" \;
find /home/cvc/ -name CONF.json -exec bash -c "chown cvc:cvc {}" \;
04. Patch.sh
# Ejecutar como ADMIN/AGENTE
# PASO 6 - Esperar 30 segundossource /home/cvc/system.cfg
[ $VERSION -ge 240105 ] && echo "No es necesario actualizar" && exit# Descargar y descomprimir
mkdir /tmp/update
curl -L "https://www.comunicacionvisualcanarias.com/_ext/updates/2024_2/package.zip" -o /tmp/update/package.zip
unzip /tmp/update/package.zip -d /tmp/update/ROOT# Propietario del server
chown cvc:cvc /home/cvc/apps/server/_server.js# Copiar y actualizar version
cp -R /tmp/update/ROOT/* /
sed -i "s/VERSION=.*/VERSION=240105/g" /home/cvc/system.cfg# Reiniciar el servidor
systemctl restart cServer
03: Actualización 2025
01. Terminal | Descargar "Nueva App"
curl -o /home/cvc/apps/canal.7z https://panel.comunicacionvisualcanarias.com/uploads/canal/descargarCanal.php
02. Terminal | Instalar Descompresor
sudo apt-get install p7zip-full
cvc
03. Borrar "App Antigua"
# Ejecutar como ADMIN/AGENTE
# Esperar 30 segundossource /home/cvc/system.cfg
[ $VERSION -ge 240105 ] && echo "No es necesario actualizar" && exit
# Borrar antigua App
rm -R /home/cvc/apps/canal
rm /home/cvc/.config/canal/_custom/CONF.json
rm /home/cvc/.config/canal/_custom/overlayImg.png
04. Terminal | Instalar "Nueva App"
cd /home/cvc/apps/
sudo 7z x canal.7z
cvc
05. Terminal | Instalar Configuración (Subdominio)
bash <(curl -s https://spar.comunicacionvisualcanarias.com/uploads/canalCONF/descargarConfiguracion.php)
bash <(curl -s https://frigomartel.comunicacionvisualcanarias.com/uploads/canalCONF/descargarConfiguracion.php)
bash <(curl -s https://pizzaroyers.comunicacionvisualcanarias.com/uploads/canalCONF/descargarConfiguracion.php)
bash <(curl -s https://cashconverters.comunicacionvisualcanarias.com/uploads/canalCONF/descargarConfiguracion.php)
06. Terminal | Actualizar Permisos
cd /home && sudo chmod -R 777 cvc && sudo chmod -R +x cvc