Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Archivos por Etiqueta: Linux

Reducir el tiempo de espera para utilizar el DNS Secundario. Balanceo de carga

En el archivo /etc/resolv.conf se encuentran definidos los servidores dns, por ejemplo:

nameserver 192.168.1.10

nameserver 192.168.1.11

Éstos actuarían como dns primario y secundario respectivamente. En caso de que falle el primero, se utilizaría el segundo.

El problema se encuentra en que el tiempo de espera (timeout) es alto, alrededor de unos 5 segundos, por lo que la utilización del segundo dns no será instantánea.

Esto se puede solventar utilizando la directiva options y el parámetro timeout:

nameserver 192.168.1.10

nameserver 192.168.1.11

options timeout:1

Aquí lo que estamos indicando es que el tiempo de espera, sea de 1 segundo.

Si queremos distribuir la carga entre los dos servidores lo haremos de la siguiente manera:

nameserver 192.168.1.10

nameserver 192.168.1.11

options timeout:1 rotate attempts:1

Así, la carga se distribuirá entre los dos servidores evitando saturar siempre el primero.

Vía | rm-rf.es

Sistemas de archivos en Linux

Los sistemas de archivos de GNU/Linux se organizan de forma jerárquica, empezando desde el raíz (/)hacia abajo por una estructura de directorios y subdirectorios.

Los sistemas de archivos no se organizan de igual forma en Linux que en Windows. En éste último se utilizan letras de unidad para cada “partición” en un disco local, en un sistema de archivos de red, cd-rom u otro medio de almacenamiento. En Linux se “encajan” dentro del sistema de archivos (son directorios) através de los “puntos de montaje”.

Para acceder a las particiones actualmente configuradas en nuestro sistema (discos duros exclusivamente) utilizamos el comando fdisk -l.Para saber que particiones se están utilizando en este momento en nuestro sistema utilizamos el comando mount . Este comando nos mostrará tanto las particiones disponibles “montadas” como el lugar donde están montadas (punto de montaje).

Punto de montaje: este término se refiere al directorio que se asocia con una partición de disco o concualquier otro dispositivo de almacenamiento secundario.

 

GNU/Linux trata todos los dispositivos como archivos y tiene archivos reales que representan cada dispositivo. En Linux estos “archivos de dispositivo” se localizan en el directorio /dev. En este directorio podemos encontrar los siguientes “archivos de dispositivo”:

/dev/hda Primera unidad IDE.

/dev/hdb Segunda unidad IDE.

/dev/sda Primera unidad SCSI (también utilizada para pendrive)

/dev/sdb Segunda unidad SCSI

/dev/fd0 Disquetera

/dev/cdrom Unidad de CD-ROM

Las “particiones” se nombran igual que el dispositivo pero seguidas del número de partición. Así si tuvieramos 3 particiones el el segundo disco IDE estas se nombrarían:

/dev/hdb1

/dev/hdb2

/dev/hdb3

 

Un sistema de archivos es una forma de escribir los datos en el disco físico.Los ficheros, en casi todos los sistemas de archivos Linux, son sensibles a mayúsculas, es decir, fichero.txt no es Fichero.txt.

En Linux, cuando el sistema operativo entra a operar en modo kernel para resolver un acceso a discotrabaja con una capa intermedia de abstracción de sistema de ficheros que se denomina VFS (Virtual FileSystem). Cada sistema de archivos conoce cómo convertir una orden para VFS en algo que sea implementable en él. Esto permite a Linux trabajar con una cantidad realmente alta de sistemas de ficheros distintos de forma consistente y homogénea.

fichero /etc/fstab

Nos permite definir las particiones que se “montan” en el inicio de sistema, o las que son posible su montaje por parte de usuarios que no sean root. Cualquier dispositivo que no se encuentre en este fichero sólo podrá ser montado por el usuario root. Es un fichero con formato texto (podemos modificarlo con el editor vi) y la siguiente estructura:

1ª columna: Nombre del dispositivo o partición a montar.

2ª columna: punto de montaje.

3ª columna: sistema de archivos

.4ª columna: opciones de montaje

:rw: lectura y escritura

ro: sólo lectura

sw: partición swap

noexec: impide la ejecución

auto: se montará al inicio del sistema

noauto: no se montará en el inicio del sistema

user: permitirá a un usuario normal montar o desmontar el dispositivo en el punto de montaje indicado en la columna 2.

uid o gid: el usuario o grupo que tendrán control sobre los archivos.

5ª columna: por defecto a 0, tiene relación con los errores producidos en el arranque del montaje.

6ª columna: el número de este campo indica si el sistema de archivos necesita ser comprobado.

 

 

Script para obtener la dirección ip de uno o varios websites.

Si por algún casual como pasó con Wikileaks, a nuestros websites favoritos les quitan el dominio, sólo podremos acceder mediante ip.

He escrito un sencillo script para obtener la ip de nuestros websites favoritos:

Tiene tres modos

1 – Obtener dirección ip de un sólo dominio

2 – Importar un archivo de texto con varios dominios

3 – Importar un archivo OPML de Google Reader.

Aquí os dejo el enlace para descargar el script: Descargar script

Para ejecutarlo:

chmod +x getip.sh

./getip.sh

Encontrar el proceso que consume más ram en Linux

Hay varias formas de hacerlo, la primera sería utilizando awk y sort

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

 

Esto nos mostraría algo así:

 

Otra forma sería utilizar el comando ‘top‘ y pulsar la tecla ‘>’, así directamente nos lo ordenará por consumo de RAM.

 

Y la última forma es utilizar el comando ‘htop‘ y de la misma forma pulsar la tecla ‘>’, pero aquí nos preguntará que es lo que queremos ordenar:

 

 

 

Via: Go2Linux

Cómo montar imágenes .iso en Debian

Montar una imagen .iso en Debian, es muy sencillito, basta con un par de líneas:

Primero creamos el directorio donde vamos a montar la imagen .iso:

# mkdir /mnt/directorio

Y luego simplemente montar el archivo:

# mount -t iso9660 -o loop archivo.iso /mnt/directorio

Donde -t indica el tipo y -o indica el pseudo dispositivo loop.


Redirecciones en Linux

En Linux se utilizan muchísimo las redirecciones.

Siguiendo la filosofía de Unix “todo es un archivo”, cualquier programa puede generar una salida, que puede ser redireccionada a un archivo (Standard output, o stdout) en vez de sacarlo por pantalla.

Los mensajes de estado se envían a través de la Standard error (stderr).

Por defecto, ambos están enlazados a la pantalla y no a un archivo.

Para hacer una redirección de la salida de un comando es muy sencillo:

ls /etc > salida-etc

El operador ‘>’ crea un archivo nuevo con la salida del comando indicado, en el caso de que ya exista, se sobrescribe.

Si queremos unir varias salidas, tenemos que utilizar el operador ‘>>’ que provocará que se vaya añadiendo al final del archivo, y si no existe, lo creará.

Con las redirecciones, existe un pequeño truco para truncar archivos existentes o crear archivos vacios:

>salida.txt

Con esa orden estamos redireccionando nada a el archivo salida.txt.

Si intentamos redireccionar algo que no existe, nos mostrará el error en pantalla y no en el archivo. Esto es debido a que los errores, habría que redireccionarlos por la Standard error.

Para redireccionar errores, no hay ningún operador específico, así que deberemos utilizar el descriptor.

  • 0 – stdin
  • 1- stdout
  • 2 –stderr

Para redireccionar errores utilizaremos el descriptor 2, por ejemplo:

tar –xzvf archivo.tar.gz 2>> extrac.log

Si queremos redireccionar la stdout y stderr al mismo archivo, deberemos hacerlo de la siguiente manera

……… 2>&1 > salida.txt

En las últimas versiones de bash se incluyó el siguiente método:

……. &> salida.txt

En otras ocasiones, no nos interesa conservar ninguna salida, ni por pantalla ni por fichero, entonces deberemos redireccionarlo a ‘/dev/null’

……………… 2>&1> /dev/null

Reparar una partición NTFS a través de Linux

Podemos reparar una partición NTFS dañada con la utilidad ntfsfix

Hay que aclarar que no tiene nada que ver con chdsk. Ntfsfix sólo repara algunas inconsistencias y resetea el journal de NTFS.

Para utilizar ntfsfix, debemos instalar:

sudo apt-get install ntfsprogs

Y ahora sólo debemos ejecutar la utilidad apuntando a la partición adecuada:

ntfsfix /dev/sdXY

Cambiar la shell por defecto

El comando chsh, permite cambiar la shell que tenemos por defecto.

Es práctico, si nuestro administrador nos ha asignado una shell con la que no estamos cómodos, o simplemente, que queremos probar otras shells.

La sintaxis básica del comando es

Chsh usuario nueva_shell

El parámetro de la shell, debe ser la ruta completa a la shell, como por ejemplo /bin/bash

Si no sabes que shell tienes, puedes escribir:

Echo $SHELL

Montar una partición al inicio del sistema en Linux.

A veces nos interesa montar una partición al inicio del sistema, ya sea porque contiene archivos multimedia, o porque realizamos backups. Lo primero que tenemos que hacer es crear la carpeta donde se montará:

sudo mkdir /media/carpeta

Una vez tenemos la carpeta creada, tenemos que saber que partición queremos montar:

sudo fdisk -l

Con fdisk -l  nos mostrará todas las particiones, montadas o no. Cuando ya tengamos identificada la partición, tenemos que editar el archivo /etc/fstab (filesystem tab):

sudo vi /etc/fstab

El formato estándar  es: <sistema de archivos> <punto de montaje> <tipo> <opciones> Por ejemplo para una partición NTFS escribiremos algo así:

/dev/sda2 /media/Multimedia ntfs-3g defaults,nls=utf8 0 0

Guardamos y listo! Ahora para comprobar que funciona correctamente:

sudo mount -a

Programa devuelve “Error en el bus”

A mi me ha pasado, que tras un reinicio forzado, al ejecutar de nuevo Pidgin, rhythmbox y el Centro de Software, no se me ejecutaban

El motivo era porque al iniciarse, daban un error en el bus. Esto puede deberse a que algunas librerías hayan quedado corruptas.

Para solucionarlo podemos utilizar debsums:

sudo apt-get install debsums

Chequeamos las librerías así:

sudo debsums -s &> /tmp/debsums.txt

Ahora para no tener que estar instalando todas las librerías una a una, generamos un archivo con las librerías dañadas:

sudo cat /tmp/debsums.txt | grep “mismatch”  | cut -d ” ” -f4 | uniq  > debsums_reinstall.txt

Y finalmente:

apt-get install –reinstall `(cat debsums_reinstall.txt)`

Vía: Glug.es