Catnoo
Notes de paramétrage de postes de travail, et autres vicissitudes ...

Accueil > Linux - Ubuntu > Résolution de problèmes rencontrés > ubuntu - apt-xapian-index fait ramer synaptic

ubuntu - apt-xapian-index fait ramer synaptic

mardi 14 mai 2019, par Lucien-Henry

Problème

Lorsque l’on lance synaptic, celui-ci tend à ramer terriblement du fait de la mise à jour du champ Filtre rapide. Cela vient de apt-xapian-index dont le programme de mise à jour se met en marche de plus en plus systématiquement.
C’est lourd, mais on ne peut plus indispensable au bon fonctionnement de cette méthode de recherche facile de paquet qui fait le seul réel intérêt de synaptic.

Solution

Il n’y a pas de réel miracle, mais on peut améliorer les choses.

Dans /etc/fstab, passer en mémoire le répertoire de traitement de la base de données rafraîchie par update-apt-xapian-index. Ainsi accélérerons-nous au moins les entrées/sorties :

#tmpfs     /var/cache/apt                            tmpfs   defaults          0       0
#tmpfs     /var/cache/apt/archives              tmpfs   defaults          0       0
#tmpfs     /var/cache/apt/archives/partial  tmpfs  defaults,uid=_apt,gid=root          0       0
tmpfs     /var/lib/apt/lists           tmpfs   defaults,uid=_apt,gid=root       0       0

Inutile de tenter les autres répertoires appartenant à apt ... ça casse plus le travail qu’autre chose.

Penser à lancer l’update en mode de simple mise à jour, plutôt qu’en rafraîchissement total de la base, ce qui va réduire les traitements inutiles : update-apt-xapian-index -u.

root@eb-pc0ke4yn:/var/lib/apt/lists# update-apt-xapian-index -u
Reading en translations from /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_disco-security_universe_i18n_Translation-en: done.  
Reading en translations from /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_disco-security_main_i18n_Translation-en: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco-backports_universe_i18n_Translation-en: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco-updates_universe_i18n_Translation-en: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco-updates_main_i18n_Translation-en: done.  
Reading fr translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_multiverse_i18n_Translation-fr: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_multiverse_i18n_Translation-en: done.  
Reading fr translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_universe_i18n_Translation-fr: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_universe_i18n_Translation-en: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_restricted_i18n_Translation-en: done.  
Reading fr translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_restricted_i18n_Translation-fr: done.  
Reading fr translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_main_i18n_Translation-fr: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_main_i18n_Translation-en: done.  
Reading Xapian index: done.  
Updating Xapian index: done.  
root@eb-pc0ke4yn:/var/lib/apt/lists# update-apt-xapian-index -u
Another update is already running: showing its progress.
Reading fr translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_main_i18n_Translation-fr: done.  
Reading en translations from /var/lib/apt/lists/fr.archive.ubuntu.com_ubuntu_dists_disco_main_i18n_Translation-en: done.  
Reading Xapian index: done.  
Updating Xapian index: done.  
root@eb-pc0ke4yn:/var/lib/apt/lists#</code
update-apt-xapian-index, a l'intelligence de savoir quand il est déjà lancé et affiche la progression de la session en cours si on la lance en ligne de commande.

Afin d'être réellement bloqué dans synaptic par la mise à jour, modifier le script de lancement de synaptic en prélançant la mise à jour de xapian-index.
<code>mv /usr/sbin/synaptic /usr/sbin/synaptic-execution
pluma /usr/sbin/synaptic

Le code de cette nouvelle commande sera :

# cat /usr/sbin/synaptic
#!/bin/sh
/usr/sbin/update-apt-xapian-index -u
#pkexec "/usr/sbin/synaptic" "$@"
/usr/sbin/synaptic-execution $@

Il est inutile de modifier le code de /usr/bin/synaptic-pkexec.

Evolutions possibles

Il faudra aller dans le code de /usr/sbin/update-apt-xapian-index et plus précisément /usr/lib/python3/dist-packages/axi/indexer.py pour lancer en parallèle les mises à jour d’index. C’est scripté en python.

Liens

Eviter que update-apt-xapian-index monopolise toutes les ressources
Faites de la programmation parallèle avec threading

Voir en ligne : Eviter que update-apt-xapian-index monopolise toutes les ressources

SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © digitalnature sous Licence GPL