Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas

lunes, 4 de agosto de 2014

Migrar equipo Físico (Windows) a #Xen #OpenSource + #LVM

Importante

Que cubre este articulo:

  • Instrucciones básicas en Windows para preparar su migración a un equipo virtual xen.
  • Uso de herramientas de particionado como GParted para re-definir particiones (De ser necesario)
  • Puesta a punto del S.O. migrado.
    • Opcional instalación de Drivers GLPV para el SO.
    • Opcional Reducción del tamaño del disco del Sistema Operativo Windows

miércoles, 11 de septiembre de 2013

Listar directorios por tamaño desde el terminal #Tips #Trucos

Un truco para saber que directorio tiene mayor tamaño es el siguiente:
du /home/user -lh --max-depth=1 | sort -rh | head
Esto nos dará en orden descendiente los 10 directorios de mayor tamaño. (ojo cuidado porque el primero en listarse siempre será el indicado /home/user)

viernes, 3 de agosto de 2012

#Ratón (#mouse) en modo terminal(#consola) #Tip

Por lo general un sysadmin se encuentra habituado a no utilizar ratón en modo consola, pero a veces su presencia nos ayuda mucho.

El paquete en cuestión se llama gpm Generic Propourse Mouse y en debian se instala:

aptitude install gpm

Luego de esto tendremos un puntero con las siguientes opciones:

  • Sombrear
  • Copiar (Sombrea un texto y queda copiado)
  • Pegar (botón derecho del ratón).

Es muy útil cuando se tienen que editar archivos en modo consola.

martes, 31 de julio de 2012

#Trim #Perl #Tips

En días pasados publiqué una entrada de como eliminar espacios en blanco en #Perl, esta es una versión más corta para hacerlo en una sola línea, digamos una función trim like

$_ =~ s/^\s+|\s+$//g;

lunes, 30 de julio de 2012

#Tip: Convertir de minúsculas a mayúsculas (y viceversa) #Perl con tr/[]/[]/

Para convertir las mayúsculas a minúsculas en una cadena, se hace lo siguiente:

$_ =~ tr/[A-Z]/[a-z]/

Para convertir las minúsculas a mayúsculas se hace lo siguiente:

$_ =~ tr/[a-z]/[A-Z]/

domingo, 29 de julio de 2012

Entorno gráficos en servidores (porque los sysadmin no los usan).

En esta oportunidad quiero conversar sobre los entornos gráficos en los servidores.

Hace algún tiempo discutía con un colega quien me recalcaba mi necedad de no utilizar un entorno gráfico en un servidor (entiéndase por un entorno gráfico un gnome, kde, fluxbox, etc...) y más aún me insistía lo fácil que resultaban las configuraciones de un servidor Windows por tener interfaces gráficas.

Básicamente mis motivos o los que les daba en aquel entonces eran los siguientes:

  1. Cualquier interfaz gráfica que agregue representa uso de recursos del servidor Necesarios para el procesamiento de lo que sea que sirva.
  2. Un sysadmin no debería estar frente a los servidores, sino en remoto. (En este punto me alego que para eso estaban los software de control remoto) mi respuesta fue: Al problema de entorno gráfico le agrego un proceso más como un software de control remoto causando adicional a la disminución de recursos mas problemas del que cuidarme como parches de seguridad.
    En este punto me alegó que ssh era un proceso de acceso remoto, y respondí sí, creado para eso y que corre como cualquier otro proceso independiente del entorno gráfico.
  3. Si se necesita correr un programa que requiera entorno gráfico, entonces se hace un X Forward incluso SSH facilita esta tarea.
    En este punto en particular, recuerdo que necesitábamos instalar Lotus Domino en un servidor con Linux, por lo que para argumentar mi punto inicie el instalador en modo gráfico mediante X Forward y un tunel ssh.

En fin, para un sysadmin, la carga de procesos en su servidor es crucial, y no quieren desperdiciar un solo kbyte de memoria en procesos que son prescindibles.

Adicionalmente, es más geek hacerlo de esa manera. :-D


Algunas recomendaciones para liberar recursos.

  • Deshabilitar los procesos que no se usen. (update-rc.d).
  • Los entornos gráficos no son necesarios.
  • Limpiar los paquetes descargados de instalaciones (aptitude clean).
  • Una alternativa pero que requiere de mayor conocimiento es compilar un kernel a la medida, esto tiene dos problemas generar el kernel con cada actualización de seguridad y estar pendiente de las novedades de seguridad.

viernes, 27 de julio de 2012

Perl: Eliminar espacios en blanco (Tip).

Para eliminar los espacios en blanco de una cadena en perl se hace elo siguiente:

$_ =~ s/\s//g;

Esto eliminará automáticamente todos los espacios en blanco de la cadena.

Eliminar carácteres al inicio de una cadena.

Si se quiere eliminar todos los espacios en blanco al inicio de una cadena:

$_ =~ s/^\s+//;

Eliminar los carácteres al final de una cadena

Para eliminar los carácteres al final de una cadena:

$_ =~ s/\s+$//;

domingo, 22 de julio de 2012

Compilar programas sin saber dependencias (GNU/Linux Debian)

En oportunidades necesitamos compilar programas, pero no conocemos todas las dependencias (en mi caso siempre trato de que los programas que voy a instalar se hagan a la debian way

Pues bien, cada autor de paquetes debería indicar claramente todas las dependencias y tal vez utilizando herramientas como apt-file podemos instalarla, pero dependiendo del paquete, pues bien, esto se puede convertir en un dolor de cabeza.

Existe una herramienta llamada auto-apt, que se encarga de buscar todas las dependencias si existen en el sistema por nosotros.

Para instalar: aptitude install auto-apt

Luego de instalado se debe actualizar:

  1. auto-apt update
  2. auto-apt update-local #(esto es para que actualice y tome en cuenta los paquetes ya instalados)

Y para ejecutarlo: auto-apt run ./configure (dependiendo del paquete que quiera instalar cambiará el fichero)

Se dará cuenta que la utilidad ejecutará el configure instalando todas las dependencias que necesita.

Lo bueno

Te permite instalar las dependencias necesarias para que tu programa compile completamente.

Lo malo

No todas las dependencias son obligatorias pero auto-apt las instalará de todas formas.

sábado, 21 de julio de 2012

Buscar un archivo especfico en la paqueteria de GNU/Linux Debian

Este es un truco que me ha funcionado, ocurre que alguna vez necesito un archivo/binario, etc.. y no recuerdo el paquete al que pertenece, aquí viene un gran amigo y me ayuda: apt-file.

Se instala como cualquier otro paquete:

aptitude install apt-file

Luego lo actualizas

apt-file update

El procedimiento de actualización tardará dependiendo de la cantidad de lineas en el sources.lst

Posteriormente lo ejecutas, por ejemplo si quisiera saber en que paquete se encuentra la utilidad ifconfig lo único que tengo que hacer es:

apt-file search -x \/ifconfig$

Explico la línea anterior:

  • apt-file search indica que a la utilidad que busque :-D.
  • -x que utilice el texto de busqueda como expresión regular.
  • \/ifconfig$ indica lo que termine con /ifconfig (luego publicaré sobre las expresiones regulares)

Esto nos arrojará el resultado del que paquete que tiene la utilidad deseada se llama net-tools

viernes, 20 de julio de 2012

Truco: Listar las tarjetas instaladas en GNU/Linux Debian

Este es un pequeño truco para saber cuales tarjetas de red tienes instaladas en tu equipo con Linux:

ifconfig -a -s | awk '{print $1}'

Esto nos dira en un formato columna todas las tarjetas de red (activas o no) instaladas en el equipo.

Si qusiera todas las tarjetas activas lo único que hay que hacer es:

ifconfig -s | awk '{print $1}'

Otra maneras de hacerlo (Aunque prefiero la explicada):

ifconfig -s [-a] | grep -i eth

Si, sé que hay otras maneras, pero sinceramente este me parece una muy fácil de hacer.

jueves, 19 de julio de 2012

Cómo configurar una conexión de puente en GNU/Linux Debian

Hay ocasiones que necesitamos configurar una conexión de puente (Ver puente de red), en mi caso, he necesitado hacerlo ya que trabajo con maquinas virtuales en Xen, por lo que voy a explicar como hacer esta configuración.

Básicamente hay dos maneras de hacerlo en GNU/Linux Debian

  1. Directamente en la línea de comandos con brctl
  2. Através del archivo interfaces (En el fondo es lo mismo, pero realizas una configuración plana sobre el archivo interfaces)

Lo primero que decir que indiferentemente de cualquiera de la utilidad que se decida utilizar, es necesario instalar el paquete bridge-utils: aptitude install bridge-utils

Para nuestra configuración vamos a asumir que la tarjeta de red física a la cual le deseamos hacer el puente es eth0

1. A través de la utilidad.

  • Se crea el puente: brctl addbr br0 (Lo pueden llamar como quieran)
  • Se une la tarjeta fisica: brctl addif br0 eth0
  • Se comienza a utilizar el dispositivo br0, por ejemplo pudiera tratar de asignarle una direccción IP: ifconfig br0 192.168.0.1/24 up

2. A través del archivo interfaces.

Para esta configuración mostraré como deberia quedar el archivo interfaces (/etc/network/interfaces)

auto br0 ifconfig br0 inet static address 192.168.0.1

netmask 255.255.255.0

#gateway 192.168.0.2 #(Si aplica)

bridge_ports eth0 (La interfaz a la que deseamos hacer el puente)

bridge_maxwait 5 #(La cantidad de tiempo en segundos que se esperara para que la tarjeta de red esté lista para el puente)

Luego pueden ejecutar en la linea de comandos ifup br0 y listo (si lo desean pueden reiniciar, pero no es necesario)

miércoles, 18 de julio de 2012

Reducir el tamaño de una partición (LVM)

Para explicar como hacerlo, tenemos los siguientes datos:

  1. El Grupo de Volumenes Logicos se llama "VG"
  2. El volumen se llama "data"
  3. La partición tiene un tamaño en este momento de 200G y la queremos llevar a 150G

Ahora lo primero que debo explicar que en mi caso prefiero reducir el tipo de archivo primero a un poco menos del tamaño necesario y luego la vuelgo a incrementar al tamaño de archivo normal.

  • Para reducir una partición LVM, lo primero es asegurarnos de que se encuentra desmontada.

    unmount /mnt/data

  • Posteriormente tenemos que realizar un redimensionamiento del tipo de archivos, en este caso lo haremos con una partición ext3 por lo que hacemos:

    resize2fs /dev/VG/data 149G

    • Es probable que nos diga debemo chequear el sistema de archivos, si lo hace ejecutamos:

      e2fsck -f /dev/VG/data

    • Luego repetimos el paso anterior.

  • Luego de que termine el proceso resize2fs (puede tardar dependiendo de la cantidad de archivos), procedemos a redimensionar el sistema LVM

    lvmreduce /dev/VG/data -L 150G

  • Ahora volvemos a redimensionar el sistema de archivos para que tome todo el espacio disponible.

    resize2fs /dev/VG/data

  • Ahora podemos montar el sistema de archivos

    mount /dev/VG/data /mnt/data

  • Si ejecutamos df -h veremos que el sistema de archivos se ha disminuido.

Aumentar el tamaño de la partición.

Aumentar el tamaño de la partición es incluso más simple, ya que se puede hacer con la partición montada.

Para explicar como hacerlo, tenemos los siguientes datos:

  1. El Grupo de Volumenes Logicos se llama "VG"
  2. El volumen se llama "data"
  3. La partición tiene un tamaño en este momento de 200G y la queremos llevar a 250G

Comenzemos:

  • lvresize /dev/VG/data -L 250G

  • resize2fs /dev/VG/data (El indicara que es un incremento en linea del tamaño y lo hará)

Asi de simple.

martes, 17 de julio de 2012

Configurar un FakeRaid (GNU/Linux Debian)

Configurar un FakeRaid (GNU/Linux Debian)

Por lo general siempre prefiero configurar un raid utilizando las herramientas propias de linux, mdadm, hay escenarios en los cuales lamentablemente tenemos que usar un raid proporcionado por la tarjeta madre, en el caso que me tocó nVidia, esto generalmente obedece a la necesidad de tener más de un sistema operativo como Windows y Linux.

Si la computadora a través del Bios ofrece la posibilidad de hacer RAID, en la auscencia de una controladora de disco, nos encontramos con un FakeRaid

En http://www.dabax.net/fakeraid, lo definen como:

El RAID híbrido, también llamado fakeraid" es aquel creado por la BIOS usando un controlador estandar de disco y gestionado por el Sistema Operativo. La ventaja de este tipo de array frente al puramente por software, es que al ser creado por la BIOS podemos utilizar varios sistemas operativos con el mismo RAID.

Ahora bien, pues al grano:

Voy a explicar como instalar GNU/Linux Debian en un fakeraid:

  1. Iniciar el proceso de instalación normalmente
  2. Cuando llegue a la parte de autodetectar discos, y no detecte el raid sino que detecte los discos individuales, presionar ALT+F2 para abrir una consola.
  3. Llegado este punto, lo tenemos que hacer, es lo siguiente:
    1. Cargar el administrador de raid dmraid haciendo:

      udpkg -i /cdrom/pool/main/d/dmraid/libdmraid1.0.0.rc16-udeb1.0.0.rc16-4.1amd64.udeb o la versión que aplique

      udpkg -i /cdrom/pool/main/d/dmraid/dmraid-udeb1.0.0.rc16-4.1amd64.udeb

    2. Cargar el módulo dm_mod haciendo: modprobe dm_mod
  4. Detectar el raid haciendo: dmraid -ay
Luego de realizado esto, tendremos un dispositivo en /dev/mapper/nvidia_ihjkklp ("El nombre lo asigna el sistema")

De aquí en adelante lo único que tenemos que hacer es tratar ese dispositivo como nuestro disco, cuando lleguemos a la parte de particionado, seleccionar ese disco y listo.