Algo de Linux

miércoles, 4 de marzo de 2015

Comprobar fuente de alimentación


Para comprobar si una fuente de alimentación funciona, tan sólo tenemos que puentear el pin del cable verde con el del cable negro con un clip, por ejemplo. Esto no es muy determinante porque una fuente puede funcionar y no dar los voltajes adecuados, pero al menos nos servirá para descartar si está completamente muerta.
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 3 de marzo de 2015

Instalar un servidor tftpd-hpa para guardar configuraciones de switches

Algunos switches, como los DLINK DES-3226 requieren un servidor tftp en la red para hacer un backup y guardar las configuraciones.

Vamos a ver cómo instalar y configurar tftpd-hpa para que realice esta función:

Primero.- Instalamos el paquete:
# apt-get install tftpd-hpa
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
El paquete indicado a continuación se instaló de forma automática y ya no es necesarios.
  openbsd-inetd
Use 'apt-get autoremove' to remove it.
Se instalarán los siguientes paquetes NUEVOS:
  tftpd-hpa
0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 0 B/47,6 kB de archivos.
Se utilizarán 91,1 kB de espacio de disco adicional después de esta operación.
Preconfigurando paquetes ...
Seleccionando el paquete tftpd-hpa previamente no seleccionado.
(Leyendo la base de datos ... 379942 ficheros o directorios instalados actualmente.)
Desempaquetando tftpd-hpa (de .../tftpd-hpa_5.2-4_amd64.deb) ...
Procesando disparadores para man-db ...
Configurando tftpd-hpa (5.2-4) ...
Starting HPA's tftpd: in.tftpd.
Una vez instalado, el servidor creará un directorio: /srv/tftp.

Segundo.- Comprobamos que el servidor tftpd está corriendo:
# ps aux|grep tftp
root        9672  0.0  0.0  14816   296 ?        Ss   13:26   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /srv/tftp
Con ésto, el servidor estará listo para permitir la descarga de archivos, pero no permitirá subirlos.
Tercero.- Editamos el fichero /etc/default/tfpd-hpa:
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Y, en la variable TFTP_OPTIONS añadimos el parámetro --create, de tal manera que quedará así:
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"

Cuarto.- Reiniciamos el servicio para que se apliquen los cambios:
# /etc/init.d/tftpd-hpa restart
Restarting HPA's tftpd: in.tftpd.

Quinto.- Damos permisos de escritura en el directorio /srv/tftp:
# chmod 777 /srv/tftp
Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 2 de marzo de 2015

Ubicación de los ficheros de selección de entorno de escritorio

En el menú de gdm3 se muestra una lista con los diferentes escritorios en los que podemos iniciar en el sistema (gnome, lxde, xfce,...). A veces eliminamos algún tipo de sesión, pero quedan los accesos para iniciarlas.

Por si necesitáis borrar alguno de los accesos directos, los ficheros que permiten iniciar las diferentes sesiones se encuentran ubicados en: /usr/share/xsessions/
Publicado por primera vez en http://enavas.blogspot.com.es

domingo, 1 de marzo de 2015

MTK Droid Root & Tools --- ERROR : archivo adbd no instalar !

Probablemente habréis sufrido este error si habéis tratado de utilizar MTK Droid Root & Tools con vuestra rom de fábrica:
 --- ERROR : archivo  adbd no  instalar !
 Esto se debe a que adbd se está ejecutando en modo seguro, incluso aunque hayamos rooteado nuestro dispositivo.
Para solucionar el problema, podemos utilizar la aplicación Adbd insecure, que se encuentra en Google Play Store y nos va a permitir ejecutar adbd en modo "inseguro".

Una vez instalada en nuestro dispositivo, la abrimos y marcamos la casilla "Enable insecure adbd":


Con ésto, se ejecutará adbd en modo inseguro.

Si ahora abrimos de nuevo MTK Droid Root & Tools, veréis que el cuadro indicador de root aparece en color verde, lo que nos indica que ya tenemos acceso mediante root:

Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 27 de febrero de 2015

autopkgsync: Actualizar equipos con puppet y pkgsync


En los centros educativos de Extremadura utilizamos puppet y pkgsync para mantener actualizados y configurados los equipos del centro, ya sean servidores ltsp, portátiles o workstation.

El procedimiento que utilizamos es bastante cómodo y operativo en servidores ltsp y equipos workstation, que se encuentran conectados a la red vía ethernet. 

El problema está en los ordenadores portátiles, que habitualmente se conectan a la red única y exclusivamente a través de una conexión wifi. ¿Por qué? Bueno, pues básicamente porque el acceso inalámbrico no nos proporciona tanto ancho de banda como el cable y, encima son muchos los dispositivos que se conectan por este medio a la vez; como ejemplo, podemos poner un aula con 30 portátiles de alumnos tratando de acceder al medio.

El mayor problema, en este caso, no es puppet, sino el consumo de ancho de banda por parte de pkgsync, que realiza una actualización de los paquetes de cada máquina, instalando, actualizando y desinstalando todo aquello que tenga en sus listas. ¿Y qué es lo que sucede? Que en ocasiones, los usuarios notan que no pueden navegar o la navegación se hace lenta. 

Hemos tratado de resolver este problema limitando el consumo de ancho de banda por parte de pkgsync, pero, en ocasiones, hay portátiles que llevan más tiempo que otros sin encenderse, tienen más paquetes que actualizar y no llegan a terminar el proceso de actualización antes de ser apagados.

He dado unas cuantas vueltas al problema, pero no he encontrado una solución que, con los medios que tenemos, permita mantener el software de portátiles completamente actualizado de una forma completamente automatizada, sobre todo porque, en el caso de portátiles, no tenemos una conexión permanente que nos permita forzar la actualización de paquetes.

No obstante, se me ha ocurrido una forma "semiautomática" que me facilite la tarea de actualizarlos. Y digo semiautomática porque la solución que he adoptado consiste en añadir una entrada a grub que realice la actualización del equipo mediante puppet (si se encuentra en el centro), luego realice un pkgsync para instalar/desintalar/actualizar paquetes y, por último, apague el sistema. De este modo, puedo coger cada portátil, seleccionar la entrada de grub de actualización para que se actualice y apague cuando termine.

El sistema se basa en un script que:
  • Comprueba si la interfaz ethernet eth0 está conectada, y, si lo está, realiza la actualización y apaga el equipo.
  • Si no hay una conexión de cable, comprueba si hay una conexión a la red inalámbrica establecida y, si la hay realiza la actualización y  apaga el equipo.
  • Si no hay una conexión inalámbrica establecida, trata de conectar mediante las conexiones definidas en Network Manager. Si se logra la conexión se realiza la actualización y apaga el equipo.
  • Y si no hay conexiones definidas en Network Manager, se apagará el equipo.
En principio, he preparado este sistema para portátiles, pero es perfectamente aplicable a servidores de terminales y workstations.

Para simplificar el proceso de instalación, he creado un paquete Debian. Por si a algún compañero de otro centro le interesa y lo quiere probar, aquí dejo el enlace de descarga:
https://copy.com/ElFWglfOEix91DYE

Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 26 de febrero de 2015

Script para configurar java 8 por defecto

Éste es un script que utilizo para instalar y configurar el runtime de java y el plugin para Firefox/Iceweasel. 

El paquete oracle-java8-jre se instala mediante apt-get desde el repositorio local de mi centro, donde lo tengo subido.

/usr/local/scripts/configurajava8
#!/bin/bash
#
# configurajava8 -> Instala y configura Java8 por defecto
#
# Esteban M. Navas
# IES Valle del Jerte - Plasencia
# 26/02/2015

# Instalamos el paquete facter si no está instalado aún
dpkg -l | grep ^"ii  facter" > /dev/null || apt-get -y install facter

# Instalamos el paquete oracle-java8-jre si no está instalado aún
dpkg -l | grep ^"ii  oracle-java8-jre" > /dev/null || apt-get -y install oracle-java8-jre

architecture=`facter architecture`

if [ "$architecture"  = "i386" ]; then
   update-alternatives --set java /usr/lib/jvm/jre-8-oracle-i586/bin/java
   update-alternatives --set mozilla-javaplugin.so /usr/lib/jvm/jre-8-oracle-i586/lib/i386/libnpjp2.so
elif [ "$architecture"  = "amd64" ]; then
   update-alternatives --set java /usr/lib/jvm/jre-8-oracle-x64/bin/java
   update-alternatives --set mozilla-javaplugin.so /usr/lib/jvm/jre-8-oracle-x64/lib/amd64/libnpjp2.so
fi
Aquí dejo también el enlace de descarga:
https://copy.com/DgQ9esVo1S6brKRj


Publicado por primera vez en http://enavas.blogspot.com.es

Script para actualizar el plugin de flash

Aprovechando que algún compañero me lo ha pedido, aquí dejo el script que utilizo actualmente en el centro para actualizar el plugin de flash: 

/usr/local/sbin/actualizaflash
#!/bin/bash
#
# actualizaflash -> Actualiza el plugin de flash, si no se encuentra actualizado ya
#
# Esteban M. Navas
# IES Valle del Jerte - Plasencia
# 26/02/2015


# Instalamos el paquete flashplugin-nonfree, si no está instalado aún
dpkg -l | grep ^"ii  flashplugin-nonfree" > /dev/null || apt-get -y install flashplugin-nonfree

update-flashplugin-nonfree --status | grep -e installed -e available > /tmp/flashplugin
installed=`grep "installed" /tmp/flashplugin | cut -f2 -d":" | sed 's/^ *//g'`
available=`grep "available" /tmp/flashplugin | cut -f2 -d":" | sed 's/^ *//g'`

if [ "$installed"  != "$available" ]; then
   update-flashplugin-nonfree --install
fi
 
También dejo el enlace para descargarlo:
https://copy.com/QyUFpuOyliov1LAi

Publicado por primera vez en http://enavas.blogspot.com.es