Apt-get zainstaluj wiele pakietów bez zatrzymywania się


25

Tworzę skrypt bash, który instaluje różne pakiety za pomocą apt-get install. Zauważam jednak, że jeśli istnieje linia, która mówi:

sudo apt-get install package1 package2 package3

i żaden z pakietów nie zostanie znaleziony, żaden z pozostałych nie zostanie zainstalowany. Jak sprawić, by działał, nawet jeśli nie może znaleźć jednego z pakietów?

Z góry dziękuję.

Odpowiedzi:


18

Proponuję apt-getopcję

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

ale pamiętaj, że brakujących zależności nie można zignorować, a nawet jeśli użyjesz --force, możesz dostać zepsuty system.


1
Pamiętaj, że --ignore-missingtylko obejścia problemu dotyczącego pobierania. Zobacz superuser.com/a/844627/106974
Izaak

3
To faktycznie nie działa.
leoheck

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

5
Trochę brutalna pod względem wydajności (drzewo zależności pakietu jest budowane od podstaw dla każdej iteracji), ale powinno działać dobrze.
Serge Broslavsky

Jak wspominał @blueskin, użycie tej -yopcji byłoby dobre, gdybyś nie chciał z nią wchodzić w interakcje, szczególnie podczas instalowania ogromnej listy pakietów.
pd12

0

Zainstaluj każdy pakiet jako osobną komendę zamiast w pojedynczej komendzie, w ten sposób, jeśli nie uda się zainstalować z powodu nie znalezienia lub innego błędu, nie powstrzyma to innych instalacji. Do którego możesz użyć pętli „for” jak poniżej. Pamiętaj również, aby użyć -yflagi, jeśli instalujesz wiele pakietów, aby uniknąć chaosu pisania yesdla każdego z nich.

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 Zredagowałem tekst, aby był wyraźny dla twojej satysfakcji
blueskin

1
To bardziej przypomina edycję istniejącej odpowiedzi tutaj niż nową odpowiedź. ¯ \ _ (ツ) _ / ¯ Przepraszamy! -1 ...
Fabby
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.