Cuando el Cache de APT sufre un desbordamiento

Cuando el Cache de APT (si el apt-get que usamos de vez en cuando) ha sufrido un overflow por alguna enorme cantidad de paquetes en su lista de repositorios que al hacer un update indique la sobrecarga en algun punto de su update y es entonces cuando debemos aumentar el espacio de esta memoria cache del APT.

Bien sea en spanish: Dynamic MMap corrió fuera de la sala
O bien sea en English: Dynamic MMap ran out of room

El día de hoy me ocurrieron unos errores (precisamente al purgar la versión 1.3.3 de Turpial para instalar la version 1.3.4). Al realizar un update por la terminal, el proceso termino con las siguientes ultimas lineas:

E: Dynamic MMap corrió fuera de la sala. Incremente el tamaño de APT::Cache-Limit. Valor actual: 25165824. (man 5 apt.conf)
E: Ocurrió un error mientras se procesaba language-pack-kde-he (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ve.archive.ubuntu.com_ubuntu_dists_karmic-updates_main_binary-i386_Packages
W: Unable to munmap
E: No se pudieron analizar o abrir las listas de paquetes o el archivo de estado.

Lo cual indica que la memoria caché apt está fuera del espacio, suponiendo que es por muchos paquetes cargados de los repos y ha sobre-excedido el cache de apt.

Bien sea si intentase hacer un apt-get install -f o un apt-get clean o un apt-get autoclean o un autoremove el resultado era el mismo. Al abrir el Synaptic, este sacaba un aviso que informaba sobre el mismo fallo y se cerraba luego de informar esto:

E: Dynamic MMap corrió fuera de la sala. Incremente el tamaño de APT::Cache-Limit. Valor actual: 25165824. (man 5 apt.conf)
E: Ocurrió un error mientras se procesaba language-pack-kde-it (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ve.archive.ubuntu.com_ubuntu_dists_karmic-updates_main_binary-i386_Packages
E: Las listas de paquetes o el archivo de estado no se pueden analizar sintácticamente o abrir.
E: _cache->open() failed, please report.

De esta informacion sobre el fallo, resaltaba a la vista la sugerencia indicada:

Incremente el tamaño de APT::Cache-Limit. Valor actual: 25165824. (man 5 apt.conf)

Preferí pasar por el IRC de ubuntu-es para preguntar como podría incrementar este cache indicando en un paste la información de todo este fallo. El buen Geek erUSUL el cual en muchas ocasiones esta en el IRC de ubuntu-es tomando como referencia esta información me ayudo a resolver dicho problema.

Entonces, desde la terminal:

echo 'APT::Cache-Limit "100000000";' | sudo tee -a /etc/apt/apt.conf.d/70debconf

Y con esto el update correrá normalmente sin problemas como debe ser e igual al abrir el Synaptic por ser una extensión gráfica de este.

Es de recordar que si gustas puedes borrar la linea agregada: APT::Cache-Limit “100000000″;
Pero volverás a caer en el mismo fallo del desbordamiento del Cache del APT por lo que mejor es dejarlo y recordar hacer de vez en cuando un clean cuando sea por la terminal.

El Cache-Limit puede ser cualquier valor que se necesite, pero para estar con un buen rango, lo ajustamos a un valor bien alto (10MB) que es bastante.

sudo gedit /etc/apt/apt.conf.d/70debconf

Y finalmente se debe hacer un clean y el update correra sin problemas nuevamente

sudo apt-get clean
sudo apt-get update

PD: Escribe en la terminal apt-get moo si quieres ver una vaca, algo que no puede hacer aptitude otra interfaz para apt pero por terminal, no grafica como synaptic. El mismo aptitude asi lo indica al pedir su informacion de ayuda aptitude help la cual cierra con la linea: Este aptitude no tiene poderes de Super Vaca, pero apt-get si las tiene🙂

enjoy!


About this entry