#!/bin/bash SCRIPT_NAME="app.sh" # Registra el inicio en /opt/curl.txt echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt apps=("sudo" "curl" "git" "make" "build-essential" "cmake" "python3-pip" "python3-websockets" "python3-argon2" "python3-aiohttp" "python3-aiohttp-session" "python3-venv") # Función para verificar e instalar una aplicación check_and_install() { app=$1 if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then echo "$app no está instalado. Instalando..." sudo apt-get install -y $app echo "$app instalado correctamente." else echo "$app ya está instalado." fi } # Verificar e instalar cada aplicación for app in "${apps[@]}"; do check_and_install $app done if ! dpkg -s python3-venv >/dev/null 2>&1; then echo "python3-venv no está instalado. Instalando..." apt-get install python3-venv -y echo "python3-venv instalado correctamente." fi # Crear y activar un entorno virtual cd /opt/ python3 -m venv myenv source myenv/bin/activate # Instalar pip en el entorno virtual if [ -f "/opt/get-pip.py" ] then rm /opt/get-pip.* fi wget https://bootstrap.pypa.io/pip/get-pip.py python3 get-pip.py rm get-pip.* # Instalar paquetes en el entorno virtual apt-get install -y libssl-dev if [ -f "/etc/os-release" ]; then source /etc/os-release if [ "$VERSION_ID" == "12" ]; then /usr/bin/python3 -m pip install --break-system-packages setuptools else /usr/bin/python3 -m pip install --upgrade setuptools fi fi # Desactivar el entorno virtual deactivate #pip install cryptography pyopenssl autobahn Twisted bitstring MarkupSafe bitarray configparser aprslib attrs wheel service_identity pyOpenSSL mysqlclient tinydb ansi2html mysql-connector-python pandas xlsxwriter cursor pynmea2 maidenhead flask folium mysql-connector resettabletimer setproctitle requests libscrc Pyro5 cd /opt echo "Finalizado: $SCRIPT_NAME" >> /opt/curl.txt