* Estás vendo o arquivo para a categoría ‘Artigos Técnicos’

Dynamic MMap ran out of room, típico erro de apt-get

Cando engadimos unha nova fonte de paquetes de Debian, no arquivo sources.list, pode ser que cando fagamos a actualización apareza este erro:

apt-get update
Des:1 http://ftp.de.debian.org etch Release.gpg [386B]
Des:2 http://ftp.de.debian.org testing Release.gpg [189B]
Obj http://ftp.de.debian.org etch Release
Des:3 http://security.debian.org etch/updates Release.gpg [189B]
Des:4 http://ftp.de.debian.org testing Release [74,5kB]
Obj http://security.debian.org etch/updates Release
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex
Ign http://security.debian.org etch/updates/main Sources/DiffIndex
Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex
Obj http://security.debian.org etch/updates/main Packages
Ign http://ftp.de.debian.org etch/main Packages/DiffIndex
Ign http://ftp.de.debian.org etch/main Sources/DiffIndex
Obj http://security.debian.org etch/updates/contrib Packages
Des:5 http://ftp.de.debian.org testing/main Packages [5257kB]
Obj http://security.debian.org etch/updates/main Sources
Obj http://security.debian.org etch/updates/contrib Sources
Des:6 http://ftp.de.debian.org testing/main Sources [2303kB]
Obj http://ftp.de.debian.org etch/main Packages
Obj http://ftp.de.debian.org etch/main Sources
Descargados 7635kB en 32s (238kB/s)
Leyendo lista de paquetes… ¡Error!
E: Dynamic MMap ran out of room
E: Ocurrió un error mientras se procesaba vfu (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ftp.de.debian.org_debian_dists_testing_main_binary-amd64_Packages
E: No se pudieron analizar o abrir las listas de paquetes o el archivo de estado.

Para evitalo temos engadir o cambiar o valor da seguinte variable:

APT::Cache-Limit “5000000″

Esta variable atópase no ficheiro /etc/apt/apt.conf ou en /etc/apt/apt.conf.d/70debconf.

Según as fontes que teñamos definidas no ficheiro /etc/apt/sources.list necesitaremos un valor maior ou menor.

Tiña ganas de deixar esta anotación por aquí, xa que, sempre atopo este erro no inicio dunha nova instalación.

Utilidades HP para Debian Etch AMD64

Para instalar algunhas utilidades para a xestión e mantemento dos servidores HP Proliant en Debian Etch para a arquitectura AMD64, é necesario instalar librerías para 32bits, para emular dita arquitectura.

Creo que merece a pena, xa que, a utilidade hpacucli (HP Array Configuration Utility Client) non funciona se non están instaladas. Esta utilidade sirve para saber todos os datos sobre as controladoras RAID instaladas no sistema, así como configurar novos Arrays de discos ou coñecer o estado dos actuais. Para min é unha gran utilidade.

Para que o hpacucli corra sen problemas na Debian Etch AMD64 é necesario que no sistema teñamos a libreria libstdc++-libc6.2-2.so.3. Esta librería atópase no paquete ia32-libs.

Vexamos como instalaremos o paquete hpacucli-7.80-3.linux.deb.

apt-get install lib32z1-dev

apt-get install ia32-libs

dpkg –force-architecture -i hpacucli-7.80-3.linux.deb

Con isto xa debemos ter HP Array Configuration Utility Client instalada e lista para ser usada.

Descarga: HP Proliant Debian Value Add Software

Instruccións de Instalación: HP Value Add Software Installation Guide

Eliminar configuración “slave” MySQL

Unha tarefa bastante habitual é configuración dun escravo para a replicación de datos, para obter así unha seguridade ante unha eventual caída do servidor principal de base de datos.

A operación é sinxela e consta de so dúas instruccións que terán que ser executadas no servidor escravo:

stop slave;
CHANGE MASTER TO MASTER_HOST=”;

Con estas dúas operacións asegurámonos de que o servidor escravo deixe de propagar os cambios rexistrados no servidor mestre(principal).

DNS Cache poisoning

Envenenando a cache DNS. Recentemente (relativamente), 07/07/2008 detectouse unha vulnerabilidade do DNS que se ven arrastrando dende a creación do protocolo. A vulnerabilidade pode provocar que as respostas que dan os servidores DNS sexan incorrectas.

Dan Kaminsky (www.doxpara.com) sacou á luz o tremendo bug que tiña o protocolo DNS. Na súa web (www.doxpara.com) dispón de un botón para comprobar que os DNS que temos configurados non son vulnerables.

Actualmente todavía continuan algúns servidores de nomes ca vulnerabilidade. En BandaAncha.eu podedes comprobar unha lista. Aquí tedes o enlace: http://bandaancha.eu/analizador-dns. Esa lista non é fiable o 100% xa que, as consultas non teñen por qué ser satisfeitas polo servidor ó que consultamos e pouco a pouco todos os servidores van aplicando os parches de seguridade, polo que pode que nos toque un que teña a vulnerabilidade e outro que non.

Para estar completamente seguros eu recomendo usar OpenDNS. Dende o primeiro momento non estiveron afectados e incluso dicen que nunca estiveron afectados. Os servidores DNS de OpenDNS son:

208.67.222.222
208.67.220.220

Para comprobar se un servidor está afectado podemos usar:

dig @IP_SERVIDOR +short porttest.dns-oarc.net TXT

So temos que substituir IP_SERVIDOR pola dirección IP do servidor IP a consultar.

Rexistros SPF DNS

Para evitar que se envíen correos dende un dominio de forma fraudulenta, inventouse o SPF (Sender Policy Framework). Con isto veríficase o servidor dende onde se envía o correo, faise por IP e nome de dominio.  Algúns dos servizos máis comunmente usados como Gmail, Yahoo ou Hotmail implementan este tipo de políticas, ademáis de que nalgúns casos rechazan ou marcan como SPAM correos, se o dominio non implementa a política SPF. Polo tanto é recomendable ter configurado unha política SPF para asegurarse de cumplir os máximos requisitos dos servidores de correo máis exixentes.

Por exemplo, se usamos as IP’s 10.1.1.1 e 10.2.2.2 para enviar correo electrónico, e temos un rexistro smtp.omeudominio.com que apunta a un servidor SMTP, podemos xerar o seguinte rexistro SPF(exemplo de configuración para o servidor BIND):

omeudominio.com. IN TXT “v=spf1 ip4:10.1.1.1 ip4:10.2.2.2 a:smtp.omeudominio.com -all”

En OpenSPF podedes atopar máis información de como configurar este rexistro de tipo TXT.

MySQL 5.1 Particións “Partition Pruning”

Pouco a pouco irei falando das novas características do MySQL 5.1. É a nova versión de MySQL que todavía está en RC (Release Candidate).

Unha das características máis esperadas son as particións, pero polo momento parece que será unha característica que se atopará moi “verde” no momento de facer a versión GA (Generally Available).

Se queredes comenzar a xogar con todas as novas opcións, como particións e eventos, podedes descargala de:  MySQL 5.1.

Continuar Lendo »

Discos de máis de 32 GB en Fat32

Os sistemas de Microsoft traen limitacións para formatear discos de máis de 32 GB en FAT32, aínda que o sistema de ficheiros si soporta volumens maiores (Ata 2 TB).

Para poder formatear volumens maiores existe a utilidade Fat32format . O uso é sinxelo:

fat32format.exe unidade

Aplicacións Blackberry dende o teu servidor web

Para poder instalar unha aplicación de Blackberry dende o teu propio servidor necesitas que o mesmo envíe unha serie de cabeceiras para que o dispositivo Blackberry se entere de que tipo de contido vai a descargar. Os novos tipos MIME a engadir son:

.cod application/vnd.rim.cod
.jad text/vnd.sun.j2me.app-descriptor
.jar application/java-archive

Isto é válido para calqueira servidor web, simplemente ten que soportar engadir novos tipos MIME.

Recuperar Grub bootloader

Todos tivemos problemas algunha vez co noso grub. Normalmente é sinxelo recuperalo, pero últimamente cos discos SATA xurde algún que outro problema.

Método que eu usaba ata o momento:

  • Arrancamos o sistema con un disco arrancable alternativo (USB, cdrom, etc.)
  • Poñémonos como root (sudo su, su, etc..)
  • Montamos a partición do sistema que queremos recuperar o arranque (mount /dev/sda1 /mnt/sistema)
  • Facemos a partición a raíz do sistema (chroot /mnt/sistema)
  • Por último executamos grub-install /dev/sda ou grub-install hd0, ou o disco no que se atope a partición de sistema.

O método que me resultou, despois de que me fallara o anterior:

  • Arrancamos o sistema con un disco arrancable alternativo (USB, cdrom, etc.)
  • Poñémonos como root (sudo su, su, etc..)
  • Accedemos ó grub, co comando grub
  • Logo aparecerá unha shell cun prompt grub> . Ahí executaremos:
  • find /boot/grub/stage1
    Este comando proporcionará a información da partición que contén o sistema, como exemple (hd0,1)
  • grub>root (hd0,1)
  • grub>setup (hd0)
  • E por último saímos do grub, grub>quit

Logo de usar calqueira dos dous métodos (sempre que algún deles funcione) reiniciamos e xa temos o grub funcionando de novo.

Controlando Swap en Linux, swappiness

Por norma xeral facer swap en Linux provoca unha caida do rendimento brutal (na maioría dos casos), pero por outro lado necesitamos que o swap exista e que se use no momento no que a memoria do sistema se agote.

Para configurar isto dunha maneira optima temos a variable: /proc/sys/vm/swappiness. Por defecto esta variable ten un valor de 60, e pode tomar valores de 0 a 100.

Explicamos estes valores: canto máis alto sexa este valor, máis preferencia terá o Swap sobre a memoria do sistema. Según as miñas probas se o valor é 60, indica que o se a memoria libre do sistema é menor que o 60% tenderase a usar o swap.

Recoméndase tratar de evitar o uso do swap sempre que sexa posible, xa que, a memoria do sistema é máis rápida que o acceso a disco. Por outro lado, nun portátil deberase evitar o acceso a disco o máximo posible para optimizar a duración da batería. Para iso podemos usar un valor menor que 20, para que o uso do swap sexa o menor posible.

Para facer que este valor perdure nos reinicios deberemos configuralo no ficheiro de configuración: /etc/sysctl.conf. A liña a engadir:

vm.swappiness=10 # O número é o que deberedes variar ata conseguir o voso valor óptimo.

Para liberar o swap:

swapoff particion_swap
swapon particion_swap

É seguro, pero lento, pero é recomendable facer probas nun sistema que non sexa de producción.