Apt-get installiert mehrere Pakete ohne anzuhalten


25

Ich mache ein Bash-Skript, das verschiedene Pakete mit apt-get install installiert. Ich stelle jedoch fest, dass in einer Zeile Folgendes steht:

sudo apt-get install package1 package2 package3

Wird eines der Pakete nicht gefunden, wird keines der anderen installiert. Wie mache ich es weiter, auch wenn es eines der Pakete nicht findet?

Danke im Voraus.

Antworten:


18

Ich schlage eine apt-getOption vor

sudo apt-get --ignore-missing install $list_of_packages

Beachten Sie jedoch, dass fehlende Abhängigkeiten nicht ignoriert werden können, und selbst wenn Sie sie verwenden --force, kann dies zu einem Systemausfall führen.


1
Beachten Sie, dass --ignore-missingnur Problemumgehungen für ein Problem beim Herunterladen angezeigt werden. Siehe superuser.com/a/844627/106974
Isaacs

3
Das geht eigentlich nicht.
Leoheck

9
for i in package1 package2 package3; do
  sudo apt-get install $i
done

5
In Bezug auf die Leistung etwas brutal (Paketabhängigkeitsbaum wird für jede Iteration von Grund auf neu erstellt), sollte aber gut funktionieren.
Serge Broslavsky

Wie @blueskin angedeutet hat, wäre die Verwendung der -yOption gut, wenn Sie nicht damit interagieren möchten, insbesondere wenn Sie eine umfangreiche Liste von Paketen installieren.
pd12

0

Installieren Sie jedes Paket als separaten Befehl und nicht als einzelnen Befehl. Wenn einer aufgrund eines nicht gefundenen Fehlers oder eines anderen Fehlers nicht installiert werden kann, werden die anderen nicht an der Installation gehindert. Für die Sie die 'for'-Schleife wie folgt verwenden können. Denken Sie auch daran, das -yFlag zu verwenden, wenn Sie viele Pakete installieren, um das Chaos des Tippens yesfür jedes einzelne zu vermeiden .

INSTALL_PKGS="pk1 pk2 pk3 pk4 pk5 ... and so ... on ..pk_gogol"
for i in $INSTALL_PKGS; do
  sudo apt-get install -y $i
done

@ Fabby Ich habe den Text bearbeitet, um ihn zu Ihrer Zufriedenheit
deutlich

1
Das sieht eher nach einer Bearbeitung der vorhandenen Antwort als nach einer neuen Antwort aus. ¯ \ _ (ツ) _ / ¯ Entschuldigung! -1 ...
Fabby
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.