Apt-get установить несколько пакетов без остановки

21

Я создаю скрипт bash, который устанавливает различные пакеты, используя apt-get install. Однако я замечаю, что если есть строка, в которой говорится:

sudo apt-get install package1 package2 package3

и ни один из пакетов не найден, ни один из остальных не будет установлен. Как мне заставить его продолжать работу, даже если он не может найти один из пакетов?

Спасибо заранее.

    
задан Hypercube 03.05.2011 в 03:39
источник

3 ответа

17

Я предлагаю вариант apt-get

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

, но имейте в виду, что недостающие зависимости нельзя игнорировать, и даже если вы используете --force , вы можете получить сломанную систему.

    
ответ дан enzotib 03.05.2011 в 09:18
источник
6
for i in package1 package2 package3; do
  sudo apt-get install $i
done
    
ответ дан Aleksandr Levchuk 03.05.2011 в 07:09
0

Установите каждый пакет как отдельную команду, а не в одну команду, таким образом, если не удается установить либо из-за не найденной, либо какой-либо другой ошибки, это не остановит других. Для чего вы можете использовать цикл «для», как показано ниже. Кроме того, не забудьте использовать флаг -y при установке большого количества пакетов, чтобы избежать хаоса ввода yes для каждого из них.

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
    
ответ дан blueskin 22.01.2017 в 22:21