Tag Archive - Comandos

Importancia de Sed en la Administración de Sistemas

Para todo Administrador de Sistemas Linux, hay herramientas indispensables que nos facilitan el trabajo a niveles inimaginables como es el caso de SED. Sed es una herramienta que nos permite manipular el texto de un fichero, desde cortar lineas, hasta sustituir cadenas de texto, o realizar búsquedas.

Sed ha llegado a ser tan influyente en el Mundo de Unix, que gracias a el y al superpoderoso AWK, Larry Wall decidió desarrollar el lenguaje de programación conocido como Perl ( otro grande en el mundo de Unix).

Hay usos básicos de esta herramienta como los siguientes:

  1. Sustituir la PRIMERA coincidencia en un fichero determinado
  2. sed ’0,/Coincidencia1/s//nueva_cadena/’ file

  3. Eliminar la 5ta Línea de un archivo
  4. sed ’5d’ fichero

Como estas existen infinidad de aplicaciones que puede tener esta herramienta muy similar a la aplicación del comando Find del que ya hemos hablado aqui en Techironic.

Y tu? cual es la herramienta que mas usas?

Como desmontar un device si aparece busy | How to umount a device even if it appears as busy

Muchas veces sucede que hemos montado una unidad en nuestro equipo ó servidor, y luego cuando ya no la necesitamos deseamos desmontarla y obtenemos un error de “Device busy“. La primera reacción a este error es revisar si estamos en alguna ruta que involucre a esta unidad, o por otra parte cerrar todos los terminales que tengamos abiertos para que sea mas sencillo, pero sucede en muchos casos que a pesar de realizar estas acciones algún proceso se queda zombie en esa unidad. Es por tal motivo que la recomendación es usar el comando fuser el cual nos permitirá conocer el pid del proceso que hace uso de la unidad o partición. Lo usaríamos de la siguiente forma:

# fuser -m /dev/sdc1
/dev/sdc1: 538
# ps auxw|grep 538
donncha 538 0.4 2.7 219212 56792 ? SLl Feb11 11:25 rhythmbox

Luego es suficiente con hacer un kill al proceso 538 y esto matará el proceso rhythmbox y permitirá que desmontemos nuestra partición sin problemas.

Otra forma util: umount -l /dev/sdb1

Vía: ocaoimh

Uso de Rsync y el Error ‘Argument list too long’ | Rsync usage and ‘Argument list too long’ error

No es la primera vez que me sucede este error, pero en los otros casos lo he resuelto con soluciones alternativas que en este caso no han resultado por diversos motivos.

Al momento de realizar un RSYNC, a un directorio que contiene un aproximado de 40 mil archivos, cuyos nombres exceden los 15 caracteres, que a su vez son alfanuméricos, con símbolos inclusive,  y cuyo tamaño ronda los 28GB, podemos obtener un error como el siguiente:

“Argument list too long”

Como ya les comenté esta vez no pude encontrar alguna solución alternativa ya que necesitaba usar rsync, buscando en google, encontre el siguiente enlace que me permitió solventar este problema ejecutando el comando de la siguiente forma:

rsync -av user1@machine1.fqdn:/source/directory/with/all/the/files/. .

La solución esta simplemente en que en vez de hacer el rsync desde /source/directory/with/all/the/files/* lo haremos a /source/directory/with/all/the/files/. la diferencia entre un * y un punto es suficiente para que el rsync no nos envie este error.

Transfiere archivos en linux tan rápido como puedas | Transfer files in linux as fast as you can

Para quienes manejan mucha data, es necesario en muchos casos transferir una gran cantidad de información entre uno o varios servidores es por tal motivo que les traigo un uso de un comando que aunque no tiene cifrado en la data que se trasfiere es bastante más rápido que rsync, scp, ftp, entre otros. Estamos hablando de Netcat, y su aplicación es bastante sencilla:

En el servidor donde tenemos el archivo que deseamos transferir debemos ejecutar el siguiente comando:
nc -vv -l 5678 > archivo.txt

Esto hará que el equipo espere la petición de un equipo en el puerto 5678.

Mientras que en el equipo a donde queremos transferir nuestro archivo ejecutaremos lo siguiente:
nc 192.168.0.1 5678 < archivo.txt

Esto realizará la petición al equipo 192.168.0.1, en el puerto 5678 para que envie el archivo.txt que deseamos transferir.

Espero que les sea de utilidad, y si conoces algún otro método para transferir archivos rápidamente no dudes en comentar.

Permisología en Linux

En muchos casos queremos que cuando un usuario cree un archivo en un directorio este archivo se cree con el grupo de su directorio padre, esta tarea es realmente sencilla haciendo uso de los bits especiales en linux quedaría de la siguiente forma:

chmod g+s directorio

Listo a partir de este momento todo lo que se cree en la carpeta directorio se creara con el grupo al que pertenece el directorio.