domingo, 17 de abril de 2011

Como cortar/dividir ficheros en linux

0 comentarios, Publicado por Covent en 2:44 ,
En ocasiones nos podemos encontrar con la imposibilidad de transferir archivos debido a que son muy pesados. Con el siguiente procedimiento solucionaremos estos inconvenientes.

Supongamos que tenemos un archivo que ocupa 4Gb y queremos dividirlo en 4 archivos de 1Gb:

split -b 1024m fichero.tar.gz "fichero.tar.gz.part-"
Para volver a unir todos los archivos:

cat fichero.tar.gz.part-* > fichero.tar.gz

Como configurar un servidor dhcp en linux

0 comentarios, Publicado por Covent en 2:29 ,
El siguiente procedimiento se ha realizado sobre Debian

1.-Instalación del servidor/demonio

apt-get install dhcp3-server
2.-Configuración
Nos aseguramos que se va a ejecutar cada vez que arranque la máquina

sysv-rc-conf dhcp3-server on
Ahora queda editar el archivo de configuración dhcpd.conf

A continuación un ejemplo práctico.

ddns-update-style none;
ignore client-updates;
authoritative;
option  local-wpad      code    252     =       text;

subnet  10.1.1.0 netmask 255.255.255.0 {

# --- default gateway
      option routers                  10.1.1.1;
# --- Netmask
      option subnet-mask              255.255.255.0;
# --- Broadcast Address
      option broadcast-address        10.1.1.255;
# --- Domain Name, set the domain name for DHCP clients
      option domain-name              "alketech.com";
# --- Domain name servers, tells the clients which DNS servers to use.
      option domain-name-servers      200.87.61.83, 8.8.8.8, 8.8.4.4, 4.2.2.2;
      option time-offset              0;      # Eastern Standard Time
# --- Proxy auto configuration file, tells client browsers which Proxy to use -- See proxy.pac examble below
      option  local-wpad      "http://10.1.1.1/proxy.pac\n";
# --- Sets the ntp server
      option ntp-servers              10.1.1.1:
# --- If you need netbios name server, set it here
#     option netbios-name-servers     10.1.1.1;
# --- Set the range of IPs available for the DHCP to give to clients
      range 10.1.1.100 10.1.1.200;
# --- Set the default lease time, how much time the client is permited to use the given IP. After that the client tries to renew the use of the IP it is already using. Actually before that time has passed.
      default-lease-time 1209600;
# --- Set the maximum lease time, after that time has passed, the client will have to ask for a new IP.
      max-lease-time 1814400;
# If you need any PC to have a fixed IP, let's say the printer server.
       host printer {
           next-server printer.alketech.com;
           hardware ethernet 00:08:a1:82:00:11;
           fixed-address 10.1.1.51;
    }
Ejemplo de proxy.pac

function FindProxyForURL(url, host) {
      // our local URLs from the domains below example.com don't need a proxy:
      if (shExpMatch(url,"*.example.com/*"))                  {return "DIRECT";}
      if (shExpMatch(url, "*.example.com:*/*"))               {return "DIRECT";}

      // URLs within this network are accessed through
      // port 8080 on fastproxy.example.com:
      if (isInNet(host, "10.0.0.0",  "255.255.248.0"))    {
         return "PROXY fastproxy.example.com:8080";
      }

      // All other requests go through port 8080 of proxy.example.com.
      // should that fail to respond, go directly to the WWW:
      return "PROXY proxy.example.com:8080; DIRECT";
   }

viernes, 15 de abril de 2011

Como mover un punto de montaje con ficheros abiertos

0 comentarios, Publicado por Covent en 0:26 ,
Para cambiar de punto de montaje un sistema de ficheros típicamente se desmonta y se vuelve a montar en otra posición. El problema aparece cuando existen procesos que tienen abiertos ficheros:

umount  /dev/local/backup
umount: /mnt/backup: device is busy
umount: /mnt/backup: device is busy
Mediante lsof podríamos ver que procesos tienen abiertos ficheros en ese sistema de ficheros para matarlos pero no es necesario llegar a este extremo.
Desde el kernel Linux 2.5.1 podemos usar la opción "--move" de mount para cambiar en caliente de punto de montaje:

mount --move /mnt/backup/ /var/backup
Mediante este comando movemos el sistema de ficheros que esta en /mnt/backup a /var/backup sin tener que matar los procesos que están accediendo por el punto de montaje antiguo (/mnt/backup).
Con mount podemos ver como se a movido a la nueva posición:

/dev/mapper/local-backup on /var/backup type ext4 (rw,noatime)

martes, 5 de abril de 2011

Como encontrar que proceso se esta comiendo toda la memoria de tu Linux

0 comentarios, Publicado por Covent en 1:15 ,
Introducción
Si te estas quedando sin memoria RAM en tu sistema Linux, tendrá que encontrar al culpable para resolver el problema, ya sea volviendo a configurar la aplicación o deteniéndola.

Usaremos ps, awk, head y sort con alguna pipe, para averiguar qué aplicación está consumiendo nuestra memoria RAM

Listar procesos en ejecución ordenados por uso de memoria RAM

ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20

Obtendras algo como esto:

PID %MEM COMMAND
3349 9.3 /usr/bin/X
3815 6.0 /usr/lib/iceweasel/firefox-bin
3750 1.0 gnome-panel
3753 0.9 nautilus
2751 0.8 /usr/sbin/mysqld
2969 0.8 /usr/bin/polipo
6129 0.7 gnome-terminal
3804 0.6 /usr/lib/gnome-applets/mixer_applet2
3772 0.6 update-notifier
3727 0.6 gnome-settings-daemon
3771 0.5 gnome-power-manager
3117 0.4 /usr/sbin/asterisk
3765 0.4 bluetooth-applet
3433 0.3 /usr/sbin/apache2
4218 0.3 /usr/lib/notification-daemon/notification-daemon
3749 0.3 /usr/bin/openbox
3604 0.3 gnome-session
3128 0.2 /usr/sbin/hald
3721 0.2 /usr/lib/libgconf2-4/gconfd-2

Esto listará las primeras 20 aplicaciones, ordenadas desde la que más RAM consume a la que menos.
Otra forma es usar htop, pero ya hablaré en otro post sobre como usarlo.

domingo, 3 de abril de 2011

¿Como comprobar si el kernel es de 32bits o 64 bits?

0 comentarios, Publicado por Covent en 3:24 ,


Método 1: Utilizar uname-a para verificar si es de 32 bits o 64-bit

Linux proporciona un comando llamado uname, que imprime la información del sistema incluyendo la versión del kernel y si el núcleo es de 32 bits o 64 bits.

Si el resultado de uname -a es x86_64, entonces el sistema está funcionando con un kernel de 64 bits

Si el resultado del mismo comando es i386/i486/i586/i686, entonces el sistema está funcionando con un kernel de 32 bits.

Ejemplo de un kernel de 64 bits


$ uname -a
Linux 2.6.5-7.252 #1 SMP *** *** ** **:**:** UTC 20** x86_64 x86_64 x86_64 GNU/Linux   
Con el comando uname-m muestra sólo la parte 64 o 32 bits como se muestra a continuación.

$ uname -m
x86_64
Método 2: Utilizar /proc/cpuinfo

Ejecutar el comando less /proc/cpuinfo para determinar si la CPU es de 64 bits o 32 bits.

Ejecute el siguiente comando y si usted ve "LM" ,tiene un sistema de 64 bits


$ grep flags /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm

Si esta información te ha sido de ayuda pincha en mis anuncios. Nos ayudamos mutuamente. Gracias