Ubuntu

Cuando dns-sd no está disponible en tu sistema.

By | Debian, IoT, Linux, Ubuntu | No Comments


Hace muy poco tiempo necesité resolver el nombre y la IP de un servicio de un dispositivo relacionado con el IoT. Se trata de Nature Remo. Un dispositivo capaz de mimetizar cualquier control remoto que trabaje por tecnología de infrarrojos.

En este caso utilicé la instrucción dns-sd. Éste programa no es libre y es el responsable de hacer hablarse entre ellas las máquinas de la manzana (Bonjour).

Esta es la intrucción:

% dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Sun 29 Oct 2017---
11:07:03.591 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
11:07:07.835 Add 2 4 local. _remo._tcp. Remo-XXXXXX


% dns-sd -G v4 Remo-XXXXXX.local
DATE: ---Sun 29 Oct 2017---
11:08:56.804 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
11:08:56.806 Add 2 4 Remo-1FFDEF.local. 192.168.2.20

Y así finalmente obtenemos la ip qué necesitamos.

En linux tenemos la librería Avahi que podremos instalar así:

$ sudo apt-get install libavahi-compat-libdnssd-dev avahi-utils

Tecleando la instrucción:

avahi-browse -a
Obtendremos un listado de todas las máquinas de la red pero no aparecerá el servicio de dispositivo que estamos buscando, se esconde.

Esta es la manera de averiguar el nombre y posteriormente la IP del dispositivo Nature Remo.

% avahi-browse -tl _remo._tcp
+ eth0 IPv4 Remo-1FFDEF _remo._tcp local


% ping Remo-468D83.local
PING Remo-1FFDEF.local (192.168.2.20) 56(84) bytes of data.

Listos. 🙂

Servidor samba fácil

By | Linux, Ubuntu | 2 Comments

2704484977_ee589b0452

Montar un servidor SAMBA para compartir una unidad o un directorio con otros ordenadores conectados a la red. Seguro que mas de uno ha estado rompiéndose la cabeza con el fichero de configuración smb.conf pero a continuación voy a explicaros uno de los porque instalamos en el anterior articulo un entorno gráfico que nos servirá para mas cosas que para navegar en caso de emergencia.

Si recordamos la instalación de Linux Ubuntu Server que hicimos al principio de este manual veremos que marcamos la opción ( Samba File Server ) …

2628999043_ceb914d5c9_o

Al marcar esta opción se instalaron automáticamente todas las aplicaciones necesarias para poder compartir archivos entre maquinas Windows y Linux. Imaginaos lo cómodo que es tener un acceso directo en el escritorio hacia la carpeta compartida en cada uno de los ordenadores que tengamos, tengan el sistema operativo que tengan.

Eso es bonito pero …. ¿ Como lo configuramos ?

La manera tradicional de hacerlo es configurando el fichero llamado smb.conf ubicado en la ruta /etc/samba y hacerlo todo a mano. La otra manera de hacerlo es gráficamente con un interface que nos facilite esta labor que en un momento dado a todos nos a dado algún dolor de cabeza que otro. Este es uno de los motivos por el cual instalamos un entorno gráfico a nuestro servidor en Linux Ubuntu Server.

Para empezar vamos a identificarnos en el sistema con nuestro usuario e iniciaremos el entorno grafico FluxBox con el siguiente comando …

startx

A continuación accedemos a una Terminal pulsando el botón derecho del ratón y siguiendo el menú Aplicaciones -> Consolas -> Bash

Antes de tocar nada vamos a instalar la aplicación system-config-samba y un par de dependencias que necesita para poder funcionar con …

sudo apt-get install system-config-samba python-gtk2 python-glade2

Seguidamente arrancaremos el interface gráfico que nos acaba de instalar con …

sudo system-config-samba

Veremos un entorno como este …

confsersamba

A continuación vamos a compartir carpetas de la forma mas fácil que pueda existir sin pedir passwords ni usuarios a nuestros clientes. Se supone que este servidor lo tenemos en nuestro cuarto de casa y lo usamos yo y mi mujer para poder guardar toda la información que podamos necesitar por lo que no van a conectarse extraños que no puedan ver algo o necesiten permisos para grabar o borrar nuestros archivos.
Read More

Recuperar password en Ubuntu

By | Linux, Ubuntu | 6 Comments

candadoMuchos me han consultado cómo recuperar la contraseña de Ubuntu para un usuario en caso de que se les haya olvidado. El caso es que una contraseña no puede ser recuperada, pero lo que si se puede hacer es generar una nueva, para ello, tendremos que seguir estos pasos.

Los pasos son sencillos

  • Enciende el ordenador y cuando aparezca el prompt del grub o lilo presionas la tecla ESC
  • Desplázate hasta la linea del kernel que uses (en caso de que sea más de uno) y presiona la tecla “e”
  • Sitúate al final de la linea y agrega rw init=/bin/bash
  • Presiona Enter y después b para reiniciar el sistema
  • Tu sistema iniciará con el usuario Root y sin contraseña
  • Para poner nueva contraseña tendrás que teclear: passwd tu_usuario
  • Escribe la contraseña y evita olvidarla
  • Reinicia el sistema

Ahora, lo que yo no entiendo es, si es tan fácil resetear una contraseña de administrador en un sistema Linux.. ¿para qué se utilizan? cualquiera podría resetear el sistema y acceder como administrador ¿no? supongo que en configuraciones con ordenadores al público o críticos este truco estará bloqueado por contraseñas en el boot loader.

Ayudanto a tunear /etc/my.cnf

By | Linux, Ubuntu | No Comments

Un pequeño script que, al ejecutarlo, nos ayudará con la información que nos da darle forma según los requerimientos y recursos que tengamos en una máquina.

tuning-primer.tar

# wget -c https://www.solusan.com/wp-content/2009/07/tuning-primer.tar.gz
# tar xzvf tuning-primer.sh.zip
# chmod +x tuning-primer.sh.zip && ./tuning-primer.sh.zip

ソルサン。

Programador de tareas en Ubuntu (cron)

By | Linux, Ubuntu | 2 Comments

En Ubuntu, cron es el “Administrador de tareas” en segundo plano (demonio) que ejecuta programas a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el archivo crontab.

Los usuarios habilitados para crear su archivo crontab se especifican en el archivo cron.allow. De manera análoga, los que no lo tienen permitido figuran en /etc/cron.d/cron.deny, o /etc/cron.deny, dependiendo de la versión de unix.

Cómo programar una tarea en crontab

Nada mejor que un ejemplo del archivo crontab

skrdz@root:#crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01  * * * * root nice -n 19 run-parts /etc/cron.hourly
50  0 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly

Para agregar, quitar o modificar tareas, hay que editar el crontab. Esto se hace con la orden crontab -e, que abrirá el editor definido en la variable de entorno EDITOR y cargará el archivo crontab correspondiente al usuario que está logueado.

Cada vez que se ejecuta el crontab, se envía un mail al usuario que aparece en la variable de entorno MAILTO, si está habilitado, indicándole la tarea realizada.

La sintaxis en sí…

El símbolo Numeral “#” es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron. El momento de ejecución se especifica de acuerdo con la siguiente tabla:

Minutos: (0-59)
Horas: (0-23)
Días: (1-31)
Mes: (1-12)
Día de la semana: (0-6), siendo 1=Lunes, 2=Martes, … 6=sábado y 0=Domingo
Para especificar todos los valores posibles de una variable se utiliza un asterisco (*).
La última columna corresponde al path absoluto del binario o script que se quiere ejecutar.

Por ejemplo:

24 12 * * 1 /usr/bin/who >> /home/hola.txt
Ejecuta la orden who todos los lunes a las 12:24 y guarda la salida en el archivo hola.txt

Para especificar dos o más valores en cada variable, estas deben estar separadas por comas, siguiendo con el ejemplo anterior:

0,24 * * * 1 /usr/bin/who >> /home/hola.txt

Ejecuta la orden who todos los lunes cada media hora y guarda la salida en el archivo hola.txt

Si queremos que se ejecute cada 15 minutos sería:

0,15,30,45 * * * * /usr/bin/who >> /home/quien.tex
ó
*/15 * * * * /usr/bin/who >> /home/quien.tex
En este ejemplo veremos como pasarle mas de un comando al cron y de paso como puede programarse una descarga:

30 21 * * * cd /media/sda7/dexter/distributions/isos;wget http://hola.com/archivo_a_descargar.loquesea

Este otro es para programar el apagado de la PC. En este caso todos los sábados a las 9:30 pm.

30 21 * * 6 /sbin/shutdown -h now

Espero que les haya servido!!! A mi me sirvió para programarle a moodle correr el script necesario para que envíe los correos de los foros o información importante a los estudiantes.

Vía: http://skrdz.wordpress.com/2007/08/31/programador-de-tareas-en-ubuntu-cron/

Eliminar Traducciones

By | Debian, Ubuntu | No Comments

Un locale es un conjunto de reglas culturales que definen el país, idioma, caracteres y otras preferencias de la interfaz del usuario. Cuando instalamos un programa, es probable que se instalen locales de varios idiomas, por lo que a la larga tendremos el equipo lleno de traducciones que no nos interesan. Para eliminarlas instalamos un paquete llamado localepurge (sudo apt-get install localepurge). Inmediatamente después de instalarlo aparece una pantalla en el terminal donde se deben seleccionar los idiomas que utilizaremos, en nuestro caso los del español y también ingles, ya que algunas aplicaciones no están traducidas. Puedes quedarte con estos:

* en
* en_US
* en_US.ISO-8859-15
* en_US.UTF-8
* es
* es_ES
* es_ES.UTF-8

Para ejecutarlo posteriormente simplemente escribimos en una consola: sudo localepurge. Lo interesante de éste paquete es que luego al instalar alguna otra aplicación lo llama inmediatamente y elimina del programa las traducciones en los idiomas que no marcamos.

Existen algunas otras aplicaciones para limpiar aún más el sistema, pero no las he puesto porque según he leído puedes cargarte algunas dependencias, y la eficiencia no se va a notar casi nada. Con esto es suficiente (de momento). 🙂

Addendum:

Utilizar AutoClean:

Esta es una opción incluida en el Apt del Sistema. Lo que hace es eliminar paquetes de descargas incompletas o canceladas por alguna razón. Como no sirven para nada, simplemente abrimos una consola y escribimos: sudo apt-get autoclean (sin la palabra install). Y automáticamente se eliminarán todos esos paquetes, a mi me liberó unos 20Mb!.