Comment rendre dpkg plus rapide?


17

L'installation (dé) package sur un système Debian est horriblement lente, en partie parce qu'elle fonctionne avec tout un tas de (petits) fichiers. À moins d'obtenir un stockage plus rapide, comment puis-je l'accélérer? Je pense peut-être charger un répertoire hautement accessible sur la RAM comme une solution, mais comment faire? Existe-t-il une «meilleure» solution?


Quel système de fichiers et combien de packages avez-vous? Pour les grands répertoires, ext3 ou supérieur avec l' dir_indexoption, ou Reiser, est une amélioration spectaculaire par rapport à ext2 ou ext3 sans dir_index.
Gilles 'SO- arrête d'être méchant'

@Gilles J'utilise ext4 et j'ai installé ~ 1400 paquets.
tshepang

Réponses:


17

Pour cette solution, vous allez avoir besoin d'une version de dpkg d'au moins 1.15.8.6.

Depuis cette version de dpkg, il y a une nouvelle force-unsafe-iooption qui désactivera dpkg d'appeler sync () et similaire entre chaque paquet. Vous pouvez ajouter cette option à la configuration dans / etc / dpkg afin qu'elle soit toujours en vigueur.

Si vous avez une ancienne version de dpkg, vous pouvez également utiliser eatmydata .

Et n'oubliez pas que ces deux solutions ne sont pas sûres et entraîneront probablement une perte de données en cas de panne de courant pendant ou peu de temps après l'exécution de dpkg.


Donc, je viens d'ajouter force-unsafe-ioà /etc/dpkg/dpkg.cfg , et c'est tout?
tshepang

1
Je n'ai pas de boîte Linux fonctionnelle actuellement (échec du bloc d'alimentation) mais je echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/force-unsafe-iodevrais travailler. Ou vous pouvez l'ajouter au fichier de configuration principal de dpkg qui je pense est /etc/dpkg/dpkg.cfg .
Arrowmaster

3
Je l'ai chronométré avec et sans cette option, et il n'y a eu aucun changement notable dans les performances.
tshepang

L'avez-vous essayé avec eatmydata? De plus, lorsque j'ai commencé à utiliser l'option force-unsafe-io dans mes chroots pbuilder, je me souviens d'une différence très notable.
Arrowmaster

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.