Pourquoi le centre logiciel ne permet pas plusieurs téléchargements?

29

Je me demandais pourquoi le centre logiciel ne télécharge pas toutes les applications demandées et les installe une par une à la fin du téléchargement. Ou plutôt pourquoi le centre logiciel ne télécharge pas une application pendant que l'autre installe

    
posée JesusLives ii 16.09.2011 - 20:37
la source

7 réponses

29

C'est une bonne question. C'est parce qu'il est basé sur les mêmes outils de paquetage qu'apt-get et d'autres utilisent. Celles-ci sont conçues de manière à ce que vous fournissiez tous les packages à installer, puis le reste est automatique. C'est très bien dans la plupart des cas, mais pour le Software Center, cela pose certains problèmes. Vous devez d'abord sélectionner les packages que vous souhaitez installer, puis cliquer sur un bouton pour les télécharger et les installer, ou vous devez mettre les applications en file d'attente, puis les télécharger et les installer une par une. Cela offre une bien meilleure expérience utilisateur si vous installez une seule application que si vous deviez utiliser ces clics supplémentaires, mais cela est également ennuyeux lorsque vous "magasinez".

Il est possible de résoudre ce problème, donc je pense qu’à l’avenir, cela sera corrigé, mais cela implique de recréer ou de réécrire des outils existants, donc je ne pense pas que cela aura une très grande priorité.

Laissez-moi élaborer:

Un paquet peut dépendre d'autres paquetages. Si ces packages ne sont pas disponibles, le package ne peut pas être installé. Ainsi, des outils comme apt-get vont d'abord télécharger tous les paquets que vous demandez et tous les paquets dont ils dépendent, etc., puis les installer tous. Vous devriez donc normalement fournir tous les paquets que vous vouliez en une fois, et ils seront d'abord téléchargés puis installés.

Lorsque vous choisissez d’installer une application dans le centre de logiciels, vous voudrez généralement qu’elle commence immédiatement à télécharger et à installer. Mais pour que tout soit en ordre, une seule installation peut être effectuée à la fois. C'est pourquoi lorsque vous installez une application, vous devez attendre que cette application soit complètement téléchargée et installée avant que le prochain téléchargement et l'installation puissent commencer.

Cela pourrait être résolu en n’utilisant pas apt-get pour installer les paquets, mais en téléchargeant les paquets manuellement, puis en utilisant dpkg pour les installer une fois qu'ils seront prêts. Vous ne seriez toujours pas en mesure d'installer deux packages simultanément, mais vous pourriez commencer à télécharger de nouveaux packages alors que les installations précédemment démarrées étaient en cours de finalisation. Dans certains cas, cela ferait gagner du temps, alors c'est une bonne idée. Mais dans la plupart des cas, cela n'aurait pas vraiment d'importance, alors l'effort est mieux concentré ailleurs.

    
réponse donnée Jo-Erlend Schinstad 16.09.2011 - 21:37
la source
10

vous ne pouvez installer qu'un seul package avec sudo apt-get install , mais vous pouvez installer plusieurs packages avec une seule commande. Comme ça:

  • sudo apt-get install ubuntu-desktop lubuntu-desktop

Cela installera ubuntu-desktop et lubuntu-desktop et toutes les dépendances dont ils ont besoin, dans le bon ordre.

En outre, lorsque vous mettez à jour votre système avec sudo apt-get upgrade , vous téléchargez d’abord tout le logiciel, puis vous installez un paquet à la fois.

La raison
Pourquoi vous ne pouvez pas installer plusieurs packages à la fois, une seule instance peut utiliser les privilèges apt-get simultanément. En effet, apt-get verrouille software sources et empêche toute autre commande de les utiliser.

Un exemple
Disons que vous lancez en quelque sorte 2 apt-get séparé comme le dit @Rinzwind, vous pouvez en théorie au moins éditer la liste des sources en même temps que vous l'utilisez pour trouver et installer un nouveau logiciel. Cela pourrait conduire à ce qu'un programme que vous avez installé modifie la liste source et ajoute un référentiel non sécurisé en même temps que vous mettez à niveau votre système. Cela pourrait être un problème de sécurité.

Autre exemple
De même, si vous éditez la liste source à 2 commandes distinctes, vous remplacerez alors la version la plus récente, qui sera la dernière. Ce qui signifie que la commande au milieu n'aurait aucun effet, puisque vous sauvegarderiez sur une ancienne version.

Windows se comporte de la même manière en utilisant le programme d'installation "officiel" (MSI)

  

Même sous Windows, plusieurs logiciels peuvent être installés simultanément ...   y at-il un avantage dans ceci ou pourquoi c'est une nécessité dans linux / ubuntu, etc ...

Les packages utilisant l’installateur Windows officiel (MSI) refuseront d’exécuter plusieurs instances à la fois. Cela est dû au fait que la base de données du programme d'installation de MSI est similaire à sources.list , aux fichiers d'informations de dpkg, etc.

Mais de nombreux packages Windows utilisent des programmes d'installation tiers tels qu'Installshield, NSIS, etc., qui s'exécutent côte à côte car ils n'ont pas besoin d'accéder à la base de données MSI ni de la modifier. De même, sous Linux / Ubuntu, personne ne vous empêche d’exécuter simultanément un script d’installation apt-get , tar -xzf et un script perl / bash:)

    
réponse donnée Alvar 26.05.2012 - 11:49
la source
7

D'abord, faisons savoir que cette réponse provient de mes expériences avec dpkg et apt . Je n'ai pas regardé le code du centre du logiciel pour le déterminer.

C'est une limite de la conception du logiciel sous-jacent.

Une partie du système dpkg utilisé par Ubuntu pour les paquets inclut une fonctionnalité qui "verrouille" le fichier /var/lib/dpkg/lock pour empêcher que plusieurs dpkg ( apt-get et Ubuntu Software Center soient des frontaux) de se remplacer mauvaises choses mauvaises.

Que se passe-t-il lorsque vous installez un logiciel? Qu'est-ce qui se passe, c'est qu'il commence sudo apt-get install chromium-browser (pour utiliser le chrome comme exemple).

Et lorsque cela se produit, un verrou se déclenche. Une fois que vous avez ajouté plus d’un paquet à installer, ce qui se passe ensuite, c’est qu’il attend que le premier soit terminé avant de lancer la prochaine commande apt .

    
réponse donnée jrg 16.09.2011 - 21:26
la source
4

Certaines actions, telles que l'actualisation des menus, l'indexation des polices et la reconfiguration des bibliothèques, ne doivent se produire qu'une seule fois si tous les packages sont installés en même temps. Un deuxième avantage, espérons-le, ne devrait pas arriver souvent, mais si vous voulez installer des paquets qui excluent chacun d’autres, vous le savez avant de les télécharger tous.

Un dernier avantage est surtout important lorsque vous installez ou mettez à niveau plusieurs packages à la fois: si vous devez répondre à des questions, ils se succéderont tout au long de la procédure d’installation. Vous pouvez donc continuer à travailler au lieu d’être puni toutes les 5 minutes par une question différente.

    
réponse donnée johanvdw 16.09.2011 - 21:25
la source
2

La raison pour laquelle deux instances d'apt-get ne peuvent pas fonctionner simultanément est que l'application lit / écrit plusieurs fichiers critiques pour le fonctionnement du système. La lecture ou l'écriture d'un fichier par une opération apt-get, tandis qu'un autre exécute les mêmes opérations, entraînera des problèmes de mauvaise configuration et / ou d'endommagement des fichiers. Ainsi, lorsqu'une opération apt-get se produit, elle "verrouille" les fichiers dont elle a besoin pour qu'une autre opération ne puisse pas être exécutée simultanément, a.k.a. elle déclenche un indicateur indiquant aux autres opérations que les fichiers sont actuellement utilisés.

Cependant, les téléchargements simultanés des fichiers nécessaires à apt (ou plutôt au téléchargement depuis plusieurs sources) sont possibles avec la commande apt-fast

lien

    
réponse donnée The Messie 26.05.2012 - 14:22
la source
0

moyen simple d’installer plusieurs fichiers en une fois, suivez ces étapes

  1. copier tout le dossier d’installation, par exemple: / home / user / apps
  2. Ouvrez le terminal et tapez:

      

    CD / home / user / apps

  3. puis tapez à nouveau

      

    sudo dpkg -i * .deb

Attendez que l'installation soit terminée.

    
réponse donnée hardianto 26.05.2012 - 14:28
la source
-1

vous recevez le paquet pendant que l’autre installe par exemple le terminal1

sudo apt-get install vlc

puis téléchargez également un autre package dans un autre terminal2

sudo apt-get download openssh-server

pour voir les autres options disponibles avec apt-get, référez-vous à son type man simple

apt-get <press tab on your keyboard>
    
réponse donnée marengz 06.03.2015 - 15:32
la source

Lire d'autres questions sur les étiquettes