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%