Arreglar problemas de locale en Raspbian

Si te aparecen errores como este al ejecutar comandos en Raspbian:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_TIME = "es_ES.utf-8",
        LC_MONETARY = "es_ES.utf-8",
        LC_CTYPE = "es_ES.utf-8",
        LC_COLLATE = "es_ES.utf-8",
        LC_MESSAGES = "es_ES.utf-8",
        LC_NUMERIC = "es_ES.utf-8",
        LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

O estos:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory

Es probable que tengas que editar el fichero /etc/default/locale para definir los locales por defecto:

LANG=en_GB.UTF-8
LC_ALL=en_GB.UTF-8
LANGUAGE=en_GB.UTF-8

Solucionar “macports checking for Tcl configuration… configure: error: Can’t find Tcl configuration definitions” al actualizar Macports en Mac OS X 10.9 Mavericks

Solucionar "macports checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions" al actualizar Macports en Mac OS X 10.9 Mavericks">

Acabo de actualizar mi Mac OS X a Mavericks 10.9. Al intentar actualizar Macports me daba un error, y al ejecutar el selfupdate en modo verboso (sudo port -v selfupdate) me salió esto:

macports checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions

Solucioné el problema reinstalando las Command Line Tools de Xcode y aceptando la licencia desde la consola de comandos:

sudo xcode-select --install
sudo xcodebuild -license

Luego el selfupdate funcionó perfectamente:

sudo port selfupdate

MongoDB: Recuperar datos después de un apagado inesperado en Ubuntu

Nota: Los ficheros de datos de MongoDB normalmente se encuentran en /data/db pero en mi instalación de Ubuntu están en /var/lib/mongodb.

Reparar conservando los datos:

sudo mkdir /var/lib/mongodb0
sudo mongod --dbpath /var/lib/mongodb --repair --repairpath /var/lib/mongodb0
sudo mongod --dbpath /var/lib/mongodb0

Ahora que el servidor está arrancado con la versión reparada (/var/lib/mongodb0) de tus datos originales (from /var/lib/mongodb) usa el cliente de mongo para verificar que todo está bien. En ese caso reemplaza /var/lib/mongodb con /var/lib/mongodb0.

sudo rm -rf /var/lib/mongodb
sudo mv /var/lib/mongodb0 /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb

Reparar sin mantener los datos:

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb --repair

Cuando este proceso se complete, los ficheros de datos reparados sustituirán a los originales en el directorio /var/lib/mongodb.

Ref: http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/

Compilar, instalar, configurar y hacer que arranque al inicio el cliente de noip.com en Raspbian

Premiero registra una cuenta de no-ip en http://www.noip.com/ y crea un hostname para tu Raspberry Pi.

Ya en tu Raspberry Pi descarga el cliente de Linux de noip desde http://www.noip.com/download?page=linux, descomprímelo, compílalo e instálalo:

wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
tar xzvpf noip-duc-linux.tar.gz
cd `find . -name "noip-[0-9]*"`
make
sudo make install

Una vez el cliente está instalado es hora de configurarlo ejecutando este comando:

sudo /usr/local/bin/noip2 -C

Preguntará por el interfaz de red a usar, el login/email de la cuenta en noip.com, el dominio (si sólo tienes uno lo tomará por defecto) y el intervalo de actualización (dejarlo a 30). Ahora que el cliente está configurado se puede ejecutar así:

sudo /usr/local/bin/noip2

Los registros DNS no funcionan inmediatamente porque tardan un rato en propagarse, así que hay que esperar un poco. Puedes comprobar que ha funcionado usando el comando ping:

ping your-domain.no-ip.org
PING your-domain.no-ip.org (W.X.Y.Z) 56(84) bytes of data.
64 bytes from Z.W-X-Y.blabla.com (W.X.Y.Z): icmp_req=1 ttl=64 time=0.203 ms

Si quieres que el cliente se ejecute en el arranque (cosa que probablemente quieras…) crea un fichero de script init.d en /etc/init.d/noip2 con el siguiente contenido:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          noip2
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: noip.com client service
### END INIT INFO

# . /lib/lsb/init-functions
case "$1" in
    start)
        echo "Starting noip2."
        /usr/local/bin/noip2
    ;;
    stop)
        echo "Shutting down noip2."
        killall noip2
        #killproc /usr/local/bin/noip2
    ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

exit 0

Luego hay que darle permisos de ejecución y actualizar los scripts rc.d:

sudo chmod +x /etc/init.d/noip2
sudo update-rc.d noip2 defaults

Ahora ya puedes reiniciar tu Raspberry Pi y automáticamente actualizará la IP de tu host en noip al arrancar.

Ref: http://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/

Hacer que Raspbian se ejecute desde un disco duro externo o pendrive

Raspberry Pi SOLO puede arrancar desde la tarjeta SD. Si quieres usar tu Raspberry Pi desde un disco USB o un pendrive, de cualquier forma tienes que instalar Raspbian en una tarjeta SD para arrancar el sistema desde ella. Puedes ver cómo se hace en Mac OS X en “Instalar la imagen RAW de Raspbian dentro de una tarjeta SD en Mac OS X“. Una vez tengas Raspbian instalado en la tarjeta SD haz exactamente lo mismo para el disco duro USB o pendrive que quieras.

Conecta la tarjeta SD en tu ordenador y modifica el fichero cmdline.txt de la particion boot de esto:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

A esto:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait

Solo tienes que cambiar la opción de root de /dev/mmcblk0p2 a /dev/sda2.

Con este cambio el sistema arrancará desde la tarjeta SD pero cargará los ficheros del disco USB. Por esto es por lo que también instalamos Raspbian en él. Conecta tanto la tarjeta SD como el disco USB a tu Raspberry Pi y enciéndelo.

raspi-config te mostrará las opciones habituales de configuración (activar el servicor SSH, configurar la timezone, etc.) pero por desgracia no es capaz de cambiar el tamaño de un disco USB así que lo tendremos que hacer por nosotros mismos.

Ejecuta fdisk:

sudo fdisk /dev/sda

Pulsa p para ver las particiones. Verás algo parecido a esto:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/sda2          122880     5785599     2831360   83  Linux

Apunta el número que aparece en “Start” para la partición /dev/sda2 porque lo necesitaremos más adelante. En mi caso es 122880. Pulsa d y luego 2 para borrar esa partición (no pasa nada porque los datos no se van a borrar).

Crea una nueva partición pulsando n, cuando te pregunte por el primer sector usa el número que habíamos apuntado antes (122880) y cuando pregunte por el último sector sin más pulsa enter. Termina el proceso pulsandow para grabar los cambios.

Reinicia tu Raspberry Pi:

sudo reboot

Cuando Raspbian haya arrancado el último paso consiste en modificar el tamaño de la partición:

sudo resize2fs /dev/sda2

Ref: http://www.dingleberrypi.com/2013/05/install-and-run-raspbian-from-a-usb-flash-drive/

  • Page 1 of 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ...
  • 14
  • >