Ich habe mich gefragt, warum das Software-Center nicht alle angeforderten Apps herunterlädt und nacheinander installiert, wenn der Download abgeschlossen ist. Oder warum das Software-Center eine App nicht herunterlädt, während die andere installiert wird
apt
software-center
package-management
Jesus lebt ii
quelle
quelle
sudo apt-get install
kann beliebig viele Pakete installieren. Sie müssen den Paketnamen kennen.Antworten:
Das ist eine gute Frage. Dies liegt daran, dass es auf denselben Pakettools basiert, die auch apt-get und andere verwenden. Diese sind so konzipiert, dass Sie alle zu installierenden Pakete bereitstellen müssen, und der Rest erfolgt automatisch. Dies ist in den meisten Fällen sehr gut, führt jedoch beim Software Center zu Problemen. Sie müssen entweder zuerst die Pakete auswählen, die Sie installieren möchten, und dann auf eine Schaltfläche klicken, um sie tatsächlich herunterzuladen und zu installieren, oder Sie müssen Anwendungen in die Warteschlange stellen und dann einzeln herunterladen und installieren. Dies bietet eine viel bessere Benutzererfahrung, wenn Sie eine Anwendung installieren, als diese zusätzlichen Klicks verwenden zu müssen, aber es ist auch ärgerlich, wenn Sie "einkaufen".
Es ist möglich, dies zu beheben, daher erwarte ich, dass dies in Zukunft behoben wird, aber es bedeutet, vorhandene Tools neu zu erstellen oder neu zu schreiben, sodass ich nicht der Meinung bin, dass es eine sehr hohe Priorität haben wird.
Lassen Sie mich näher darauf eingehen:
Ein Paket kann von anderen Paketen abhängen. Wenn diese Pakete nicht verfügbar sind, kann das Paket nicht installiert werden. Tools wie apt-get laden also zuerst alle Pakete herunter, nach denen Sie fragen, und alle Pakete, von denen sie abhängen, usw., und installieren dann alle. Normalerweise würden Sie dann alle gewünschten Pakete auf einmal bereitstellen, und sie würden zuerst heruntergeladen und dann installiert.
Wenn Sie eine Anwendung im Software Center installieren, möchten Sie normalerweise, dass sie sofort heruntergeladen und installiert wird. Damit aber alles in Ordnung ist, kann immer nur eine Installation durchgeführt werden. Wenn Sie eine Anwendung installieren, müssen Sie daher warten, bis diese Anwendung vollständig heruntergeladen und installiert ist, bevor Sie mit dem nächsten Download und der nächsten Installation beginnen können.
Dies könnte behoben werden, indem nicht apt-get zum Installieren der Pakete verwendet wird, sondern die Pakete manuell heruntergeladen und dann mit dpkg installiert werden, sobald sie fertig sind. Sie könnten immer noch nicht zwei Pakete gleichzeitig installieren, aber Sie könnten neue Pakete herunterladen, während die zuvor gestarteten Installationen abgeschlossen sind. In einigen Fällen würde dies einige Zeit sparen, daher ist dies eine gute Idee. In den meisten Fällen spielt es jedoch keine Rolle, da sich die Anstrengungen auf andere Bereiche konzentrieren.
quelle
Sie können jeweils nur ein Paket mit
sudo apt-get install
installieren, aber Sie können mehrere Pakete mit einem Befehl installieren. So was:sudo apt-get install ubuntu-desktop lubuntu-desktop
Dies installiert beide
ubuntu-desktop
undlubuntu-desktop
und was Abhängigkeiten sie benötigen, in der richtigen Reihenfolge.Wenn Sie Ihr System mit aktualisieren
sudo apt-get upgrade
, laden Sie zunächst die gesamte Software herunter und installieren dann jeweils ein Paket.Der Grund,
warum Sie nicht mehrere Pakete gleichzeitig installieren können, ist, dass nur eine Instanz gleichzeitig die
apt-get
Berechtigungen verwenden kann . Dies liegt daran, dass dasapt-get
gesperrt istsoftware sources
und andere Befehle daran gehindert werden, sie zu verwenden.Ein Beispiel
Nehmen wir an, Sie starten irgendwie 2 separate apt-get, wie @Rinzwind sagt, und könnten dann theoretisch mindestens die Quellliste bearbeiten, während Sie sie zum Suchen und Installieren neuer Software verwenden. Dies kann dazu führen, dass ein von Ihnen installiertes Programm die Quellliste bearbeitet und gleichzeitig mit dem Upgrade Ihres Systems ein unsicheres Repository hinzufügt. Dies könnte ein Sicherheitsproblem sein.
Ein weiteres Beispiel
Auch wenn Sie die Quellliste mit zwei separaten Befehlen bearbeiten, ersetzen Sie beim Speichern die neueste Version, die zuletzt gespeichert wurde. Dies bedeutet, dass der Befehl in der Mitte keine Auswirkung hat, da Sie über eine alte Version speichern würden.
Windows verhält sich mit dem "offiziellen" (MSI) Installationsprogramm ähnlich
Pakete, die das offizielle Windows-Installationsprogramm (MSI) verwenden, VERWEIGERN die gleichzeitige Ausführung mehrerer Instanzen. Das liegt daran, dass die MSI-Installationsdatenbank ähnlich ist wie
sources.list
dpkg-Infodateien usw. - Sie möchten nicht, dass mehr als ein Installationsprogramm sie gleichzeitig ändert / sperrt.Viele Windows-Pakete verwenden jedoch Installationsprogramme von Drittanbietern wie Installshield, NSIS usw., die nebeneinander ausgeführt werden, da sie nicht auf die MSI-Datenbank zugreifen oder diese ändern müssen. Ebenso hindert Sie unter Linux / Ubuntu niemand daran, gleichzeitig ein
apt-get
, eintar -xzf
und ein Perl / Bash-Installationsskript auszuführen :)quelle
sudo
gleichzeitig ausgeführt werden, aber wenn es um die Paketverwaltung geht, kann nur eine solche Anwendung Pakete zu einem bestimmten Zeitpunkt installieren oder entfernen, da das Ausführenapt
eine Sperre bewirktsources.list
und daher gegebenenfalls Wenn versucht wird, eine andere Paketverwaltungs-App auszuführen, wird diese Datei nicht gesperrt und daher nicht ausgeführt.Lassen Sie uns zunächst wissen, dass diese Antwort von dem stammt, was ich aus meinen Erfahrungen mit
dpkg
und gelernt habeapt
. Ich habe mir den tatsächlichen Software-Center-Code nicht angesehen, um dies festzustellen.Das Design der zugrunde liegenden Software ist begrenzt.
Ein Teil des
dpkg
Systems, das Ubuntu für Pakete verwendet, enthält eine Funktion, die die/var/lib/dpkg/lock
Datei "sperrt" , um zu verhindern, dass sich mehreredpkg
(apt-get
und Ubuntu Software Center sind Frontends) selbst und andere böse Dinge überschreiben.Was passiert, wenn Sie Software installieren? Was passiert, ist, dass es beginnt
sudo apt-get install chromium-browser
(um Chrom als Beispiel zu verwenden).In diesem Fall wird eine Sperre aktiviert. Wenn Sie mehr als ein zu installierendes Paket hinzugefügt haben, wird als Nächstes gewartet, bis das erste fertig ist, bevor der nächste
apt
Befehl gestartet wird.quelle
Einige Aktionen, wie das Aktualisieren der Menüs, das Indizieren von Schriftarten und das Neukonfigurieren der Bibliotheken, müssen nur einmal ausgeführt werden, wenn alle Pakete gleichzeitig installiert sind. Ein zweiter Vorteil sollte hoffentlich nicht oft auftreten, aber wenn Sie Pakete installieren möchten, die sich gegenseitig ausschließen, kennen Sie ihn, bevor Sie alle herunterladen.
Ein letzter Vorteil ist vor allem dann wichtig, wenn Sie viele Pakete auf einmal installieren oder aktualisieren: Wenn Fragen beantwortet werden müssen, werden sie während des Installationsvorgangs alle nacheinander angezeigt. So können Sie weiterarbeiten, anstatt alle 5 Minuten von einer anderen Frage gestört zu werden.
quelle
Der Grund dafür, dass zwei Instanzen von apt-get nicht gleichzeitig ausgeführt werden können, besteht darin, dass die Anwendung mehrere für den Systembetrieb wichtige Dateien liest / schreibt. Das Lesen oder Schreiben einer Datei durch einen apt-get-Vorgang, während ein anderer dieselben Vorgänge ausführt, führt zu Problemen mit falscher Konfiguration und / oder Beschädigung der Dateien. Wenn also eine apt-get-Operation ausgeführt wird, werden die benötigten Dateien "gesperrt", sodass keine andere Operation gleichzeitig ausgeführt werden kann.
Mit dem Befehl apt-fast ist jedoch ein gleichzeitiges Herunterladen der von apt benötigten Dateien (bzw. das Herunterladen von mehreren Quellen) möglich
https://github.com/ilikenwf/apt-fast
quelle
Führen Sie die folgenden Schritte aus, um mehrere Dateien gleichzeitig zu installieren
Offenes Terminal und Typ:
und dann erneut eingeben
Warten Sie, bis die Installation abgeschlossen ist.
quelle
Sie erhalten das Paket heruntergeladen, während das andere z. B. in Terminal1 installiert wird
Laden Sie dann auch ein anderes Paket in ein anderes Terminal2 herunter
Um zu sehen, welche anderen Optionen mit apt-get verfügbar sind, beziehen Sie sich auf den man simple-Typ
quelle