Renombre múltiples archivos aleatoriamente

13/02/2012

Con este sencillo tip, puedes renombrar muchos archivos a nombres con números aleatorios, ejemplo, si tienes mil imágenes en jpg, y quieres que se conviertan en una secuencia aleatoria de números, ejemplo 123.jpp, 2855.jpg etc.

Desde la terminal, vamos al directorio en donde se encuentren los archivos, por ejemplo:

cd Desktop/fotos

Una vez ahí, ejecutamos lo siguiente, este es un ejemplo para jpg, pero con un poco de imaginación se puede adaptar para lo que sea!

for i in *.jpg; do mv $i $RANDOM.jpg; done

Esto funciona en cualquier Linux y Mac OS X.

No Comments

Perl: warning setting locale failed en Ubuntu Linux

3/01/2012

En uno de mis servidores de prueba, encontré un error bastante extraño y que en verdad me tomo tiempo encontrar la solución, al ejecutar casi cualquier orden en la linea de comandos, salía algo así:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_US”,
LC_ALL = “utf-8″,
LC_CTYPE = “en_US”,
LANG = “en_US”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).

La solución es simple, solo hay que ejecutar los siguientes comandos como root, o con sudo antes:

$ apt-get install language-pack-en

$ export LANGUAGE=en_US.UTF-8

$ export LANG=en_US.UTF-8

$ export LC_ALL=en_US.UTF-8

$ locale-gen en_US.UTF-8

$ dpkg-reconfigure locales

Para verificar la solución, solo hacemos un:

$ locale

No Comments

RSync ignorar errores de I/O

6/06/2011

Para hacer un sync entre dos directorios e ignorar los errores de I/O con Rsync, solo hay que agregar la opcion:

–ignore-errors

Ejemplo:

rsync -av –no-whole-file –ignore-errors /dirA/ /DirB

No Comments

Ejecutar script, tarea o trabajo mediante SSH, salir de sesion y al regresar, ver el progreso del proceso

17/11/2010

Si tenemos un script, una app o algún comando que lleve mucho tiempo de ejecución, normalmente deberíamos dejar nuestra ventana SSH abierta durante todo el proceso, ya sea mediante putty, una terminal en Linux o una consola en Mac OS X. Con este sencillo tip ya no será así, podemos cerrar la aplicación SSH que estemos utilizando y después de un tiempo, regresar al servidor y ver el avance.

En mi caso personal, tengo que correr un script que tarda un par de horas en terminar su ejecución, por lo que generalmente lo hacia directamente en el servidor, precisamente para evitar este problema de no saber que hace después de apagar mi equipo. Ya no mas! ahora usando “screen” puedo revisar el proceso desde cualquier terminal en cualquier momento!

Primero, entramos al servidor con ssh

$ ssh usuario@servidor

Ahora tecleamos screen, esto la primera ves que lo ejecutamos, nosa sacara una ventana con informacion, solo damos enter:

$ screen

Después, ya dentro de “screen”, ejecutamos el script o lo que queramos hacer, en este ejemplo haremos un apt update y upgrade.

$ apt-get update & apt-get upgrade -y

Para probar que este funcionando, salimos del terminal, putty o consola y despues regresamos con ssh:

$ ssh usuario@servidor

Ahora, para recuperar el proceso con screen, tecleamos screen -r

$ screen -r

Y veremos el proceso en cuestión… ahora, no he encontrado una forma más elegante de cerrar screen una ves terminado el proceso, mas que con un killall, si alguien lo sabe, no estaria mal que lo compartiera.

$ killall screen

Con esto cerramos screen y regresamos al modo normal de la sesión ssh.

2 Comments

Crear particiones de más de 2TB en Ubuntu Linux

4/11/2010

Para los que ya tenemos discos o mejor dicho, arreglos de discos mayores a 2TB seguramente nos hemos dado cuenta de mala forma que fdisk no permite la creación de particiones mayores a 2TB.

Al crear una partición de 4 TB por ejemplo, fdisk nos regresa una partición de tan solo 2TB, la solución es simple, pero la logre encontrar después de un rato de investigación, se debe instalar “parted” y con el crear las particiones.

$ apt-get update && apt-get install parted

Después se invoca de la siguiente forma (donde sdb es nuestro disco duro a particionar):

$ parted /dev/sdb

Ahora estamos dentro de la interfaz dinámica de parted:

GNU Parted 2.2

Using /dev/sdx

Welcome to GNU Parted!
Type ‘help’ to view a list of commands.

(parted)

Ahora crearemos el disklabel:



# mklabel gpt

Después con esta instrucción armamos una partición de 4TB

# mkpart primary 1 4000G



Salvamos los cambios:


# quit



Ahora, crearemos el sistema de ficheros, o “formato” en el ejemplo usaremos EXT4



$ mkfs.ext4 /dev/sdb1



Por último, crearemos una etiqueta, ya que en lo personal prefiero montar unidades por medio de etiquetas en lugar de dispositivos, por ejemplo en lugar de usar /dev/sdbX, me gusta LABEL=”disco1″, ya que si por alguna razón, no conectamos los discos en el mismo orden todo se vuelve un caos.

$ e2label /dev/sdb1 nombrededisco



Eso es todo!

No Comments

Instalar HP 1018 Ubuntu Server

22/05/2010

Hace mucho no escribia… pero ahi les va la forma para instalar una Impresora HP Laserjet 1018 en Ubuntu server sin Interfaz Gráfica.

Primero Instalamos CUPS

Ahora debemos descargar el paquete foo2zjs:

$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz

Una ves que lo tenemos, descomprimimos:

$ tar zxf foo2zjs.tar.gz

$ cd foo2zjs

Ahora, dentro del directorio, hacemos:

$make
$./getweb 1018
$ sudo make install
$ sudo make install-hotplug
$ sudo make cups

Con esto ya tenemos instalado lo necesario para hacerla funcionar, pero por alguna razon, o en mi caso, no funciono terminanndo esto, al intentar imprimir desde la red local, por lo que tuve que ejecutar en la consola:

$ cat /usr/share/foo2zjs/firmware/sihp1018.dl >  /dev/usb/lp0

Por Último, haremos que este ultimo comando se ejecute cada que arranca el sistema, para esto, editamos /etc/rc.local y agregamos la linea del parrafo anterior antes del exit 0, quedando algo asi:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0″ on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0
exit 0

Eso es todo!

No Comments

Error APT: E: Unable to lock the download directory

11/02/2010

Aquí otro tip rápido para nuestras cajas con Linux, si al hacer un:

$ apt-get upgrade

Nos devuelve un error algo así:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  bind9 bind9-host dnsutils libbind9-30 libdns35 libisc35 libisccc30
  libisccfg30 liblwres30 linux-generic linux-headers-generic
  linux-image-generic linux-restricted-modules-generic netatalk
The following packages will be upgraded:
  libmysqlclient15-dev libmysqlclient15off mysql-client mysql-client-5.0
  mysql-common mysql-server mysql-server-5.0 php5-imap
8 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
3 not fully installed or removed.
E: Could not get lock /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the download directory

Lo único que debémos hacer como root es:

$ pkill apt
No Comments

Cambiar el directorio $HOME en Linux

10/12/2009

A veces es necesario cambiar la ruta del home de algun usuario de nuestro sistema, este tip rapido les ayudara por si es necesario hacerlo, en una sola linea quedara listo!

$ usermod -d /ruta/al/nuevo/directorio/ -m miusuario

4 Comments

Configurar un Servidor FTP en Ubuntu (ProFTPd)

10/12/2009

La conectividad en estos días, es la necesidad  de muchos administradores de sistemas y de usuarios avanzados, por lo que hoy, veremos cómo hacer funcionar un servidor FTP en nuestras cajas con Ubuntu.

El primer paso, es actualizar nuestra paquetería para después instalar lo que necesitamos.

$ apt-get update && apt-get upgrade
$ apt-get install proftpd ucf

Ahora editaremos el fichero de configuración de nuestro servidor FTP, en este caso, el ProFTPd.

$ vim /etc/proftpd/proftpd.conf

Durante la instalación del servidor, nos preguntara como lo queremos ejecutar, seleccionamos “Standalone”.

Tenemos que modificar estas líneas únicamente para un funcionamiento simple pero efectivo y dejarlas de la siguiente manera:

ServerName                    "Mi Servidor"
ServerType                     standalone
DefaultRoot                     ~
MaxInstances                  30

Explicación breve de las opciones anteriores:
ServerName = El nombre que mostrara nuestro servidor
ServerType = Standalone, aquí solo verificamos que sea un Standalone, ya que lo especificamos desde la instalación.
DefaultRoot= ~ Esto es, que los usuarios del sistema que tengan derecho a login solo podrán navegar en su Home

Ahora, reiniciamos nuestro servicio:

$ /etc/init.d/proftpd restart
No Comments

Resplados locales con RSync

27/10/2009

Aquí un pequeño script para hacer respaldos sincronizados con RSync entre solamente dos directorios, si se necesita más, se puede adaptar a las necesidades que tengamos.

dirA = Directorio que queremos respaldar
dirB = Directorio destino

Las opciones que interesantes son:
–no-whole-file: Con esto, revisaremos que el archivo tenga diferencias, si es asi, se copia.
–delete: Se elimina del destino, si en el origen no existe.

#!/bin/bash
echo -e "Comenzando Respaldo"
rsync -av --no-whole-file --delete /dirA/ /dirB/
No Comments