Comandos generales de mantenmiento de los servicios sobre Raspberry Pi

El servicio se puede llamar de cualquier forma, hemos usado indistintamente nombres como: 

  • AIS-catcher (finalmente no lo usamos)
  • rtl-ais.service (AIS)
  • autorx.service (radiosondas)
  • aprs-igate.service (APRS VHF)
  • ...


Dar permisos de escritura

Algunas veces los sericios que hemos instalados no arrancan si solo estan como (ro) y no como (rw)
  • rpi-rw                                      
Configurar un servicio tras crearlo con un editor como nano p.e. ais-rx.service en /usr/local/bin/
  • sudo systemctl daemon-reload
Servicios disponibles en una Raspberry Pi
  • systemctl list-unit-files --state=enabled --type=service --no-pager
Servicios que se arancan en un boot de una Raspberry Pi
  • systemd-analyze blame --no-pager
Habilitar un servicio
  • sudo systemctl enable ais-rx.service
Deshabilitar el servicio
  • sudo systemctl disable ais-rx.service
Arrancar un servicio (Comprobar que estan los servicios parados)
  • sudo systemctl start ais-rx.service
  • ...
  • sudo systemctl start  autorx.service  
Parar un servicio
  • sudo systemctl stop ais-rx.service
  • ...
  • sudo systemctl stop autorx.service  
Parar y arrancar
  • sudo systemctl restart autorx.service  
Ver como arranca el servicio
  • sudo systemctl status autorx.service --no-pager -l 
tambien
  • sudo journalctl -u autorx.service -n 20 --no-pager 
Borrar los ficheros creados para un servicio (limpieza)
  • sudo rm /usr/local/bin/ais-rx.service.sh
  • sudo systemctl daemon-reload

Matar todos los procesos asociados al servicio
  • sudo killall AIS-catcher 2>/dev/null
  • sudo killall -9 AIS-catcher rtl_fm
Reiniciar la raspberry pi cuando nada va como queremos
  • sudo reboot

Quién usa un puerto determinado p.e. 8081
  • sudo netstat -tulpn | grep 8081
Quién usa el USB
  • sudo fuser -k /dev/bus/usb/001/*
Qué se arranca con un servicio
  • ps -ef | grep AIS-catcher
root     12452     1 52 16:46 ?        00:01:49 /usr/local/bin/AIS-catcher -v -d
pi-star  12887 12337  0 16:49 pts/0    00:00:00 grep --color=auto AIS-catcher
  • ps -ef | grep autorx                                     
pi-star   9287  1953  1 04:18 pts/0    00:00:00 grep --color=auto autorx

Comprobar un servidor web en local
  • curl -I http://127.0.0.1:8081
Radiosonde
  • curl -I http://127.0.0.1:5000 
Comprobar con navegador
  • http://[LA_IP_DE_TU_PI]:8081
Radiosonde
  • http://[LA_IP_DE_TU_PI]:5000
Con pi-star
  • http://pi-star.local:5000

Compatibilidad con otros servicios con los que se comparten recursos (p.e.SDR-USB)
  • APRS-igate tendrá: Conflicts=autorx.service rtl-ais.service
  • Autorx tendrá: Conflicts=aprs-igate.service rtl-ais.service
  • rtl-ais tendrá: Conflicts=aprs-igate.service autorx.service
Bloqueo en el arranque

Si fallara el arranque del servicio en un reboot podria la Raspberry no dar el control a través de Wi-Fi, en ese caso hay que proceder de la siguiente manera:
  • Conectarla con cable ethernet a nuestra red lcoal 8en logar de WiFi
  • Comprobar la IP asignada con un scan de IP (p.e. angry IP)
  • conectarse
  • Parar los servicios y dejarlos no disponibles
    • sudo systemctl stop rtl-ais.service
    • sudo systemctl disable rtl-ais.service
    • sudo systemctl stop autorx.service
    • sudo systemctl disable autorx.service
  • Mover los ficheros para que no intente el sistema rearrancarlos, ojo que se borran de temp igual mejor a otros sitio
    • sudo mv /etc/systemd/system/rtl-ais.service /tmp/
    • sudo mv /etc/systemd/system/autorx.service /tmp/
  • rearrancar
    • sudo reboot
COmprobación conexiones a RED
  • ifconfig
  • sudo wpa_cli reconfigure
    • Selected interface 'wlan0'                                                      
    • OK                         
ABRIR PUERTOS PARA CADA IP:PUERTO NUEVO

Conexión a un servidor externo
  • sudo iptables -A OUTPUT -p udp -d 195.201.71.220 --dport 6518 -j ACCEPT
  • sudo iptables -A INPUT -p udp -s 195.201.71.220 --sport 6518 -j ACCEPT
Para conexión web
  • sudo iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
  • sudo /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
  • sudo /sbin/iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
  • autorx.service 
    • sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT
Comprobaciones
  • sudo iptables -L -n -v
  • sudo /sbin/iptables-save > /etc/iptables/rules.v4
  • rpi-rw
  • sudo nano /etc/rc.local
CAMBIO DE SERVICIOS

Para cambiar a AIS: sudo systemctl stop autorx.service && sudo systemctl start rtl-ais.service

Para cambiar a Sondas: sudo systemctl stop rtl-ais.service && sudo systemctl start autorx.service

Limpiar espacio si sytemctl se queja

sudo systemctl daemon-reload
Failed to reload daemon: Refusing to reload, not enough space available on /run/
systemd. Currently, 15.8M are free, but a safety buffer of 16.0M is enforced.   

# Limpiar logs de hace más de 1 minuto (libera espacio inmediato)
sudo journalctl --vacuum-time=1m

# Si eso no es suficiente, limpia archivos temporales de servicios que ya no corren
sudo rm -rf /run/systemd/generator/*

Los 3 errores mas frecuentes
  • Se cuelga en el arranque la Raspberry Pi, cuando se conecta o aleatoriamente en el tiempo, normalmente sobre las 00:00 (Tareas programadas del sistema - Cron jobs, se puede ver con grep "CRON" /var/log/syslog | tail -n 20)
    • La fuente de alimentación no es suficiente para el consumo de la rasberry pi + RTL-SDR 
  • No arranca el servicio (error 3)
    • No tiene permisos de escrtitura, basta con darlos rpi-rw 
  • No se puede conectar al web del servicio
    • Estan los puertos cerrados y hay que abrirlos

Advertencia importante

Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.

© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.

No hay comentarios:

Publicar un comentario

Comandos generales de mantenmiento de los servicios sobre Raspberry Pi

El servicio se puede llamar de cualquier forma, hemos usado indistintamente nombres como:  AIS-catcher (finalmente no lo usamos) rtl-ais.ser...