Je me demandais pourquoi le centre logiciel ne télécharge pas toutes les applications demandées et ne les installe pas 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
apt
software-center
package-management
JesusLives ii
la source
la source
sudo apt-get install
peut installer autant de packages que vous le souhaitez. Vous devez connaître le nom du package.Réponses:
Voilà une bonne question. C'est parce qu'il est basé sur les mêmes outils de package qu'apt-get et d'autres utilisent. Ceux-ci sont conçus d'une manière qui attend de vous 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 quelques problèmes. Vous devez soit sélectionner d'abord les packages que vous souhaitez installer, puis cliquer sur un bouton pour les télécharger et les installer, soit 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 application que d'avoir à utiliser ces clics supplémentaires, mais c'est aussi ennuyeux lorsque vous "magasinez".
Il est possible de résoudre ce problème, je m'attends donc à ce que cela soit corrigé à l'avenir, mais cela signifie qu'il faut recréer ou réécrire les outils existants, donc je ne pense pas que cela aura une priorité très élevée.
Permettez-moi d'expliquer:
Un package peut dépendre d'autres packages. Si ces packages ne sont pas disponibles, le package ne peut pas être installé. Ainsi, des outils comme apt-get téléchargeront d'abord tous les packages que vous demandez et tous les packages dont ils dépendent, etc., puis les installeront tous. Donc, vous fourniriez normalement tous les packages que vous vouliez en une seule fois, et ils seraient d'abord téléchargés puis installés.
Lorsque vous choisissez d'installer une application dans le centre logiciel, vous souhaiterez généralement qu'elle démarre immédiatement le téléchargement et l'installation. Mais afin de s'assurer que tout est 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 téléchargement et l'installation suivants puissent commencer.
Cela pourrait être résolu en n'utilisant pas apt-get pour installer les packages, mais en téléchargeant les packages manuellement puis en utilisant dpkg pour les installer une fois qu'ils sont prêts. Vous ne pourrez toujours pas installer deux packages simultanément, mais vous pourrez commencer à télécharger de nouveaux packages pendant que les installations précédemment démarrées se terminent. Dans certains cas, cela gagnerait pas mal de temps, c'est donc une bonne idée. Mais dans la plupart des cas, cela n'a pas vraiment d'importance, donc l'effort est mieux concentré ailleurs.
la source
vous ne pouvez installer qu'un seul package à la fois 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 à la fois
ubuntu-desktop
etlubuntu-desktop
et quelles que soient les dépendances dont ils ont besoin, dans le bon ordre.De plus, lorsque vous mettez à jour votre système avec
sudo apt-get upgrade
, vous téléchargez d'abord tous les logiciels, puis installez un package à la fois.La raison
pour laquelle vous ne pouvez pas installer plusieurs packages à la fois est qu'une seule instance peut utiliser les
apt-get
privilèges en même temps. En effet, lesapt-get
verrous sursoftware sources
et empêchent toute autre commande de les utiliser.Un exemple
Disons que vous démarrez en quelque sorte 2 apt-get séparés comme le dit @Rinzwind, alors vous pourriez en théorie au moins éditer la liste source en même temps que vous l'utilisez pour trouver et installer de nouveaux logiciels. Cela pourrait conduire à ce qu'un programme que vous avez installé modifie la liste source et ajoute un référentiel dangereux en même temps que vous mettez à niveau votre système. Cela pourrait être un problème de sécurité.
Un autre exemple
De plus, si vous modifiez la liste source à l'aide de 2 commandes distinctes, lorsque vous enregistrez, vous remplacez la version la plus récente, qui sera celle qui a été enregistrée en dernier. Ce qui signifie que la commande au milieu n'aurait aucun effet, car vous économiseriez sur une ancienne version.
Windows se comporte de manière similaire en utilisant le programme d'installation "officiel" (MSI)
Les packages qui utilisent le programme d'installation officiel de Windows (MSI) REFUSERONT d'exécuter plusieurs instances à la fois. En effet, la base de données du programme d'installation MSI est similaire aux
sources.list
fichiers d'informations dpkg, etc. - vous ne voulez pas que plus d'un programme d'installation les modifie / les verrouille à la fois.Mais de nombreux packages Windows utilisent des programmes d'installation tiers tels que Installshield, NSIS, etc. qui s'exécuteront côte à côte car ils n'ont pas besoin d'accéder à / modifier la base de données MSI. De même, sous Linux / Ubuntu, personne ne vous empêche d'exécuter un script d'installation an
apt-get
, atar -xzf
et perl / bash tout en même temps :)la source
sudo
en même temps, mais quand il vient à emballer la gestion, une seule application peut installer ou paquets remove à un moment donné, car en cours d' exécutionapt
obtient un verrou sursources.list
et donc le cas échéant une autre application de gestion de packages est tentée de s'exécuter, elle ne verrouille pas ce fichier et ne s'exécute donc pas.Tout d'abord, que l'on sache que cette réponse vient de ce que j'ai glané de mes expériences avec
dpkg
etapt
. Je n'ai pas regardé le code du centre logiciel réel pour le déterminer.C'est une limite de la conception du logiciel sous-jacent.
Une partie du
dpkg
système qu'Ubuntu utilise pour les packages comprend une fonctionnalité qui "verrouille" le/var/lib/dpkg/lock
fichier pour empêcher plusieursdpkg
(apt-get
et Ubuntu Software Center sont des frontaux) de se remplacer et d'autres choses mauvaises et mauvaises.Que se passe-t-il lorsque vous installez un logiciel? Ce qui se passe, c'est que ça 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é plusieurs packages à installer, ce qui se passe ensuite, c'est qu'il attend le premier avant de lancer la
apt
commande suivante .la source
Certaines actions, comme 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. Espérons qu'un deuxième avantage ne devrait pas se produire souvent, mais si vous souhaitez installer des packages qui s'excluent mutuellement, vous le savez avant de tous les télécharger.
Un dernier avantage est surtout important lorsque vous installez ou mettez à niveau plusieurs packages à la fois: si des questions doivent être répondues, elles se succéderont toutes au cours de la progression de l'installation. Vous pouvez donc continuer à travailler au lieu d'être buggé toutes les 5 minutes par une question différente.
la source
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 effectue les mêmes opérations sur celui-ci 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, c'est-à-dire qu'elle déclenche un indicateur qui indique aux autres opérations que les fichiers sont actuellement en cours d'utilisation.
Cependant, des téléchargements simultanés des fichiers nécessaires à apt (ou plutôt à partir d'un certain nombre de sources) sont possibles avec la commande apt-fast
https://github.com/ilikenwf/apt-fast
la source
moyen simple d'installer plusieurs fichiers en même temps, procédez comme suit
Terminal ouvert et type:
puis tapez à nouveau
attendre jusqu'à la fin de l'installation.
la source
vous obtenez télécharger le package pendant que l'autre installe par exemple dans terminal1
puis téléchargez également un autre package dans un autre terminal2
pour voir les autres options disponibles avec apt-get se référer à son type man simple
la source