Update menu-dvs

This commit is contained in:
Esteban Mackay Q. 2025-02-03 01:01:00 -05:00
parent f0770419bd
commit 8737811538
1 changed files with 261 additions and 116 deletions

View File

@ -35,38 +35,85 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Primero, detener todos los servicios
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "Deteniendo $servicio"
sudo systemctl stop "$servicio"
# Función para detener un servicio
stop_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
fi
}
# Función para iniciar y habilitar un servicio
start_and_enable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Iniciando y habilitando $service_name"
sudo systemctl start "$service_name" > /dev/null 2>&1
sudo systemctl enable "$service_name" > /dev/null 2>&1
fi
}
# Detener todos los servicios base primero
for servicio in $servicios; do
stop_service "$servicio"
done
# Esperar un momento para asegurarse de que todos los servicios se detengan completamente
# Detener todos los servicios enumerados
for i in {01..40}; do
stop_service "mmdvm_bridge$i.service"
stop_service "analog_bridge$i.service"
stop_service "md380-emu$i.service"
done
# Esperar 5 segundos para asegurar que todos los servicios se detengan
sleep 5
# Luego, iniciar todos los servicios
# Iniciar y habilitar todos los servicios base
for servicio in $servicios; do
echo "Iniciando $servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio" &>/dev/null
start_and_enable_service "$servicio"
done
# Iniciar y habilitar todos los servicios enumerados
for i in {01..40}; do
start_and_enable_service "mmdvm_bridge$i.service"
start_and_enable_service "analog_bridge$i.service"
start_and_enable_service "md380-emu$i.service"
done
;;
2)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"
# Función para detener y deshabilitar un servicio
stop_and_disable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo y deshabilitando $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
sudo systemctl disable "$service_name" > /dev/null 2>&1
fi
}
# Detener y deshabilitar todos los servicios base
for servicio in $servicios; do
stop_and_disable_service "$servicio"
done
# Detener y deshabilitar todos los servicios enumerados
for i in {01..40}; do
stop_and_disable_service "mmdvm_bridge$i.service"
stop_and_disable_service "analog_bridge$i.service"
stop_and_disable_service "md380-emu$i.service"
done
rm /var/log/mmdvm/*;;
3)
@ -275,38 +322,85 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Primero, detener todos los servicios
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "Deteniendo $servicio"
sudo systemctl stop "$servicio"
# Función para detener un servicio
stop_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
fi
}
# Función para iniciar y habilitar un servicio
start_and_enable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Iniciando y habilitando $service_name"
sudo systemctl start "$service_name" > /dev/null 2>&1
sudo systemctl enable "$service_name" > /dev/null 2>&1
fi
}
# Detener todos los servicios base primero
for servicio in $servicios; do
stop_service "$servicio"
done
# Esperar un momento para asegurarse de que todos los servicios se detengan completamente
# Detener todos los servicios enumerados
for i in {01..40}; do
stop_service "mmdvm_bridge$i.service"
stop_service "analog_bridge$i.service"
stop_service "md380-emu$i.service"
done
# Esperar 5 segundos para asegurar que todos los servicios se detengan
sleep 5
# Luego, iniciar todos los servicios
# Iniciar y habilitar todos los servicios base
for servicio in $servicios; do
echo "Iniciando $servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio" &>/dev/null
start_and_enable_service "$servicio"
done
# Iniciar y habilitar todos los servicios enumerados
for i in {01..40}; do
start_and_enable_service "mmdvm_bridge$i.service"
start_and_enable_service "analog_bridge$i.service"
start_and_enable_service "md380-emu$i.service"
done
;;
2)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"
# Función para detener y deshabilitar un servicio
stop_and_disable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo y deshabilitando $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
sudo systemctl disable "$service_name" > /dev/null 2>&1
fi
}
# Detener y deshabilitar todos los servicios base
for servicio in $servicios; do
stop_and_disable_service "$servicio"
done
# Detener y deshabilitar todos los servicios enumerados
for i in {01..40}; do
stop_and_disable_service "mmdvm_bridge$i.service"
stop_and_disable_service "analog_bridge$i.service"
stop_and_disable_service "md380-emu$i.service"
done
rm /var/log/mmdvm/*;;
3)
@ -497,38 +591,85 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Primero, detener todos los servicios
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "Deteniendo $servicio"
sudo systemctl stop "$servicio"
# Función para detener un servicio
stop_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
fi
}
# Función para iniciar y habilitar un servicio
start_and_enable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Iniciando y habilitando $service_name"
sudo systemctl start "$service_name" > /dev/null 2>&1
sudo systemctl enable "$service_name" > /dev/null 2>&1
fi
}
# Detener todos los servicios base primero
for servicio in $servicios; do
stop_service "$servicio"
done
# Esperar un momento para asegurarse de que todos los servicios se detengan completamente
# Detener todos los servicios enumerados
for i in {01..40}; do
stop_service "mmdvm_bridge$i.service"
stop_service "analog_bridge$i.service"
stop_service "md380-emu$i.service"
done
# Esperar 5 segundos para asegurar que todos los servicios se detengan
sleep 5
# Luego, iniciar todos los servicios
# Iniciar y habilitar todos los servicios base
for servicio in $servicios; do
echo "Iniciando $servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio" &>/dev/null
start_and_enable_service "$servicio"
done
# Iniciar y habilitar todos los servicios enumerados
for i in {01..40}; do
start_and_enable_service "mmdvm_bridge$i.service"
start_and_enable_service "analog_bridge$i.service"
start_and_enable_service "md380-emu$i.service"
done
;;
2)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"
# Función para detener y deshabilitar un servicio
stop_and_disable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo y deshabilitando $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
sudo systemctl disable "$service_name" > /dev/null 2>&1
fi
}
# Detener y deshabilitar todos los servicios base
for servicio in $servicios; do
stop_and_disable_service "$servicio"
done
# Detener y deshabilitar todos los servicios enumerados
for i in {01..40}; do
stop_and_disable_service "mmdvm_bridge$i.service"
stop_and_disable_service "analog_bridge$i.service"
stop_and_disable_service "md380-emu$i.service"
done
rm /var/log/mmdvm/*;;
3)
@ -802,38 +943,85 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Primero, detener todos los servicios
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "Deteniendo $servicio"
sudo systemctl stop "$servicio"
# Función para detener un servicio
stop_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
fi
}
# Función para iniciar y habilitar un servicio
start_and_enable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Iniciando y habilitando $service_name"
sudo systemctl start "$service_name" > /dev/null 2>&1
sudo systemctl enable "$service_name" > /dev/null 2>&1
fi
}
# Detener todos los servicios base primero
for servicio in $servicios; do
stop_service "$servicio"
done
# Esperar un momento para asegurarse de que todos los servicios se detengan completamente
# Detener todos los servicios enumerados
for i in {01..40}; do
stop_service "mmdvm_bridge$i.service"
stop_service "analog_bridge$i.service"
stop_service "md380-emu$i.service"
done
# Esperar 5 segundos para asegurar que todos los servicios se detengan
sleep 5
# Luego, iniciar todos los servicios
# Iniciar y habilitar todos los servicios base
for servicio in $servicios; do
echo "Iniciando $servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio" &>/dev/null
start_and_enable_service "$servicio"
done
# Iniciar y habilitar todos los servicios enumerados
for i in {01..40}; do
start_and_enable_service "mmdvm_bridge$i.service"
start_and_enable_service "analog_bridge$i.service"
start_and_enable_service "md380-emu$i.service"
done
;;
2)
# Lista de servicios a reiniciar
# Directorio donde se encuentran los archivos de servicio
service_dir="/lib/systemd/system/"
# Lista de servicios base
servicios="md380-emu.service analog_bridge.service mmdvm_bridge.service nxdngateway.service p25gateway.service ysfgateway.service quantar_bridge.service ircddbgatewayd.service p25parrot.service ysfparrot.service nxdnparrot.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in $servicios; do
if systemctl is-enabled "$servicio" &>/dev/null || systemctl is-active "$servicio" &>/dev/null; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"
# Función para detener y deshabilitar un servicio
stop_and_disable_service() {
local service_name="$1"
if [ -f "$service_dir$service_name" ]; then
echo "Deteniendo y deshabilitando $service_name"
sudo systemctl stop "$service_name" > /dev/null 2>&1
sudo systemctl disable "$service_name" > /dev/null 2>&1
fi
}
# Detener y deshabilitar todos los servicios base
for servicio in $servicios; do
stop_and_disable_service "$servicio"
done
# Detener y deshabilitar todos los servicios enumerados
for i in {01..40}; do
stop_and_disable_service "mmdvm_bridge$i.service"
stop_and_disable_service "analog_bridge$i.service"
stop_and_disable_service "md380-emu$i.service"
done
rm /var/log/mmdvm/*;;
3)
@ -1064,50 +1252,7 @@ exit 0
EOFR
fi
# Función para verificar si un servicio existe
service_exists() {
local service_name=$1
# Usamos 'timeout' para evitar que el comando se quede bloqueado
timeout 1s sudo systemctl status "$service_name" >/dev/null 2>&1
return $?
}
# Detener todos los servicios que estén activos o habilitados (primer bucle)
for i in {01..40}; do
service_name="mmdvm_bridge$i.service"
# Verifica si el servicio existe
if service_exists "$service_name"; then
# Verifica si el servicio está activo O habilitado (de forma silenciosa)
if sudo systemctl is-active "$service_name" >/dev/null 2>&1 || sudo systemctl is-enabled "$service_name" >/dev/null 2>&1; then
# Detener el servicio (de forma silenciosa)
sudo systemctl stop "$service_name" >/dev/null 2>&1
fi
fi
done
# Modificar los archivos de configuración (segundo bucle)
for i in {01..40}; do
archivo="/opt/user$i/MMDVM_Bridge.ini"
if [ -e "$archivo" ]; then
sed -i "s/FileRoot=.*/FileRoot=MMDVM_Bridge$i/g" "$archivo"
fi
done 2>/dev/null
# Iniciar todos los servicios habilitados (tercer bucle)
for i in {01..40}; do
service_name="mmdvm_bridge$i.service"
# Verifica si el servicio existe
if service_exists "$service_name"; then
# Verifica si el servicio está habilitado (de forma silenciosa)
if sudo systemctl is-enabled "$service_name" >/dev/null 2>&1; then
# Iniciar el servicio (de forma silenciosa)
sudo systemctl start "$service_name" >/dev/null 2>&1
sudo systemctl enable "$service_name" >/dev/null 2>&1
fi
fi
done
#
if [ -f "/usr/local/dvs/dvsmu" ]; then
sed '132s/^#//' /usr/local/dvs/dvsmu -i
cp /usr/local/dvs/dvsmu /usr/local/bin/dvsmu