Aptitude crash au démarrage - apt.conf inexistant

Bonjour,
Après le rafraichissement de la liste des paquets, aptitude a envoyé un méssage d’erreur et s’est arreté.
depuis le démarrage avorte en envoyant le même message suivant :

[i]E: La zone dynamique d’allocation mémoire (« Dynamic MMap ») n’a plus de place. Vous devriez augmenter la taille de APT::Cache-Limit, dont la valeur actuelle est de 25165824 (voir « man 5 apt.conf »).
E: Erreur apparue lors du traitement de zsh-beta-doc (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary-i386_Packages
E: Impossible d’ouvrir ou d’analyser le fichier contenant la liste des états ou celui des paquets disponibles.
E: _cache->open() failed, please report.

W: Unable to munmap[/i]

J’ai trouvé sur le forum la solution suivante :

[quote]Si APT vous explose une erreur “E: dynamic MMap ran out of room” il suffit de lui expliquer qu’il a le droit d’utiliser plus de RAM
Solution: dans /etc/apt/apt.conf
APT::Cache-Limit 10000000;
Attention, le 10000000 n’est qu’à titre d’exemple, à vous de voir ce qui est nécessaire sur votre système[/quote]

Mais voilà pas de fichier apt.conf dans /etc/apt/ ni ailleurs (à part l’exemple de la doc dans /usr/share/doc/apt/examples).

Donc on fait comment?

J’ai envoyé la ligne : apt-config dump

le résultat :

APT “”;
APT::Architecture “i386”;
APT::Build-Essential “”;
APT::Build-Essential:: “build-essential”;
APT::Install-Recommends “1”;
APT::Install-Suggests “0”;
APT::Acquire “”;
APT::Acquire::Translation “environment”;
APT::Authentication “”;
APT::Authentication::TrustCDROM “true”;
APT::NeverAutoRemove “”;
APT::NeverAutoRemove:: “^linux-image.";
APT::NeverAutoRemove:: "^linux-restricted-modules.
”;
APT::NeverAutoRemove:: “^kfreebsd-image.*”;
Dir “/”;
Dir::State “var/lib/apt/”;
Dir::State::lists “lists/”;
Dir::State::cdroms “cdroms.list”;
Dir::State::userstatus “status.user”;
Dir::State::status “/var/lib/dpkg/status”;
Dir::Cache “var/cache/apt/”;
Dir::Cache::archives “archives/”;
Dir::Cache::srcpkgcache “srcpkgcache.bin”;
Dir::Cache::pkgcache “pkgcache.bin”;
Dir::Etc “etc/apt/”;
Dir::Etc::sourcelist “sources.list”;
Dir::Etc::sourceparts “sources.list.d”;
Dir::Etc::vendorlist “vendors.list”;
Dir::Etc::vendorparts “vendors.list.d”;
Dir::Etc::main “apt.conf”;
Dir::Etc::netrc “auth.conf”;
Dir::Etc::parts “apt.conf.d”;
Dir::Etc::preferences “preferences”;
Dir::Etc::preferencesparts “preferences.d”;
Dir::Bin “”;
Dir::Bin::methods “/usr/lib/apt/methods”;
Dir::Bin::dpkg “/usr/bin/dpkg”;
Dir::Log “var/log/apt”;
Dir::Log::Terminal “term.log”;
DPkg “”;
DPkg::Pre-Install-Pkgs “”;
DPkg::Pre-Install-Pkgs:: “/usr/sbin/dpkg-preconfigure --apt || true”;

=> pas de APT::Cache-Limit 25165824;

var/cache/apt/ fait 1.9 Go le problème vient-il de ça?

Merci pour vos réponses.

[quote=“nh3oh”]J’ai trouvé sur le forum la solution suivante :

[quote]Si APT vous explose une erreur “E: dynamic MMap ran out of room” il suffit de lui expliquer qu’il a le droit d’utiliser plus de RAM
Solution: dans /etc/apt/apt.conf
APT::Cache-Limit 10000000;
Attention, le 10000000 n’est qu’à titre d’exemple, à vous de voir ce qui est nécessaire sur votre système[/quote]

Mais voilà pas de fichier apt.conf dans /etc/apt/ ni ailleurs (à part l’exemple de la doc dans /usr/share/doc/apt/examples).

Donc on fait comment?[/quote]
Ben tu le crées, le fichier en question, tout simplement !

Sinon, je serais curieux de voir ton sources.list… Car je n’ai jamais réussi à avoir cette erreur, même quand j’active tous les dépôts à la fois (et quand je dis “tous”, je veux dire stable+testing+unstable+experimental en main+contrib+non-free aussi bien Debian que debian-multimedia, plus les backports, les sources, quelques autres dépôts non-officiels et même des snapshots).

Merci Syam

Source.list :

[quote]deb ftp.fr.debian.org/debian/ squeeze main none-free

deb cdrom:[Debian GNU/Linux 5.0.3 Lenny - Official i386 CD Binary-1 20090905-08:23]/ lenny main

deb security.debian.org/ lenny/updates main

deb-src security.debian.org/ lenny/updates main

deb volatile.debian.org/debian-volatile/ lenny/volatile main

deb-src volatile.debian.org/debian-volatile/ lenny/volatile main

deb ftp.ca.debian.org/debian/ squeeze main none-free

deb ftp.fr.debian.org/debian/ sid main non-free

deb ftp.ca.debian.org/debian/ sid main non-free
[/quote]

Syam , tu écrit « crées le fichier apt.config » d’accord , mais quand je regarde le fichier exemple :

Si je comprends dans ce qui précède je devrais ajouter :

APT::Cache-Limit 10000000;

et éliminer toutes les autres options => ce qui veut dire que je conserve quoi?

Ce qui suit en remplaçant 10000000 par la bonne valeur?

Par contre je vois peut-être 2 autres possibilités :

avec la ligne de commande apt-config on doit pourvoir modifier les paramètres de configuration mais je n’ai rien capté à la synthaxe :mrgreen: :frowning:

ou

Utiliser apt-get clean ou autoclean pour réduire l’espace utilisé pour le stockage des paquets.
Mais j’ai un doute car :

Taille de /var/cache/apt = 1,9 Go (répertoire contenant les pkg)
alors que le message d’erreur dit : valeur actuelle est de 25 165 824(byte) = 25,1 Mo

donc là cela ne correspond pas du tout ! Les 25 165 824 seraient pour autre chose???

Bonsoir,

quelqu’un pourrait m’aiguiller vers la bonne solution?

me confirmer que le fichier apt.config que je propose est correctement écrit

et me dire s’il est opportun d’utiliser apt-get autoclear pour récupérer de l’espace cache?

Merci.

Non.
Soit (de préférence) :

Soit :

APT { Cache-Limit 100000000; };
De toutes façons si tu fais une erreur dans le fichier de config, apt te le dira et refusera de continuer. Tu ne risques rien mis à part de devoir effacer le fichier apt.conf que tu viens de créer.

[quote=“nh3oh”]Utiliser apt-get clean ou autoclean pour réduire l’espace utilisé pour le stockage des paquets.
Mais j’ai un doute car :

Taille de /var/cache/apt = 1,9 Go (répertoire contenant les pkg)
alors que le message d’erreur dit : valeur actuelle est de 25 165 824(byte) = 25,1 Mo
[/quote]
C’est deux choses différentes.
D’une part il y a le répertoire de cache qui contient les paquets téléchargés (apt-get clean ou apt-get autoclean pour le nettoyer).
D’autre part il y a le cache mémoire (celui qui te pose problème) :

[quote=“man 5 apt.conf”]Cache-Start, Cache-Grow et Cache-Limit
À partir de la version 0.7.26, APT utilise un fichier de cache de taille variable indexé en mémoire (« resizable memory mapped cache file ») pour conserver les informations du fichier « available ». Cache-Start définit la taille minimale de ce cache et par conséquent la quantité de mémoire qu’APT utilisera dès son lancement. La valeur par défaut est de 20971520 octets (environ 20 Mo). Il est indispensable que l’ensemble de cette mémoire soit disponible, sinon APT ne pourra se lancer. Il peut donc être nécessaire de diminuer cette valeur sur des systèmes disposant de peu de mémoire. Au contraire, pour des systèmes qui utilisent de nombreuses sources de paquet, il peut être nécessaire de l’augmenter. La valeur de Cache-Grow définit, en octets, la quantité de mémoire supplémentaire qui peut être allouée au cache si la valeur définie par Cache-Start est insuffisante. La valeur par défaut de Cache-Grow est de 1048576 octets (environ 1 Mo). Cette augmentation se fera tant que la taille du cache sera insuffisante pour contenir toutes les informations nécessaires ou qu’elle atteint la valeur limite définie par Cache-Limit. La valeur par défaut de Cache-Limit est nulle (il n’existe donc pas de limite à la taille maximale du cache). Si Cache-Grow est égal à 0, l’augmentation automatique de la taille du cache est désactivée.[/quote]
Note pour la partie en rouge : apparemment c’est bien le cas sur mes machines (testing/unstable) mais pas sur la tienne, essaye peut-être de forcer d’abord un Cache-Limit de zéro. Si ça ne fonctionne pas mieux alors mets une valeur suffisamment importante pour que tu n’aies plus le problème.
Edit : je viens de voir que tu as apt 0.7.25. Ceci explique cela. Sachant que Squeeze est en 0.8.10 ta Debian ne doit plus être toute jeune…

clean ou autoclean nettoieront le répertoire de cache, ce qui ne peut jamais faire de mal. Le seul impact que ça aura sur ton système (mis à part de gagner de la place) c’est que tu devras retélécharger les éventuels paquets que tu aurais installés une première fois puis désinstallés, si jamais tu veux les réinstaller à nouveau. Bref, rien de bien grave.

Désolé pour le manque de réponse à ton précédent message, mais pour moi la question était réglée. :blush:

Merci , je vais faire cela tranquillement en espérant ne pas me tromper.

C’est lenny que j’utilise mais je crains les mises à jour , j’ai déjà eu une mise à jour de image-linux qui m’avait tout foutu en l’ai alors j’hésite…

Si j’ai du temps je ferai une installation neuve complète … un jour , enplus mon ordi n’est pas neuf et c’était le moins cher du marché …

… je me contente de peu.

Tiens une Q: si je rajoute des mémoires RAM (vive) cela va-t-il me poser un pblm de config ou pas?

Merci encore et bonne soirée.

Ça ne posera aucun problème, t’auras rien à toucher au niveau de Debian.

Conclusion :

  1. ouverture de la console root

  2. dans ligne de commande taper : gedit > > ouvre l’éditeur de texte

  3. dans gedit taper le texte : APT::Cache-Limit 30000000;

(remplacer 30000000 par la valeur qui vous correspond, j’avais 25 000 000 et ce n’était pas suffisant donc (au pif) jai rajouté 5 000 000 de plus)

  1. enregistrer sous /etc/apt/apt.conf si le fichier n’existe pas dèjà, sinon il faudra surement l’ouvrir avec l’éditeur de texte et modifier la ligne existante ou la créer sinon.

Effectivement ensuite cela refonctionne.

Merci à Syam pour son aide.