Apt-get instala múltiples paquetes sin parar

25

Estoy haciendo un script bash que instala varios paquetes usando apt-get install. Sin embargo, noto que si hay una línea que dice:

sudo apt-get install package1 package2 package3

y ninguno de los paquetes se encuentra, ninguno de los otros se instalará. ¿Cómo hago que siga funcionando incluso si no puede encontrar uno de los paquetes?

Gracias por adelantado.

Hipercubo
fuente

Respuestas:

18

Sugiero una apt-getopción

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

pero tenga en cuenta que las dependencias faltantes no se pueden ignorar, e incluso si lo usa --force, puede obtener un sistema dañado.

enzotib
fuente
1
Tenga en cuenta que --ignore-missingsolo soluciones para un problema en la descarga. Ver superuser.com/a/844627/106974
Isaacs
3
Esto en realidad no funciona.
leoheck
9
for i in package1 package2 package3; do
  sudo apt-get install $i
done
Aleksandr Levchuk
fuente
55
Un poco de rendimiento brutal (el árbol de dependencia del paquete se está construyendo desde cero para cada iteración), pero debería funcionar bien.
Serge Broslavsky
Como aludió @blueskin, usar la -yopción sería bueno si no desea interactuar con él, especialmente al instalar una lista masiva de paquetes.
pd12
0

Instale cada paquete como un comando separado en lugar de en un solo comando, de esta manera si uno no se instala debido a que no se encontró o por algún otro error, entonces no detendrá la instalación de los demás. Para lo cual puede usar el bucle 'for' como se muestra a continuación. Además, recuerde usar la -ybandera si instala muchos paquetes, para evitar el caos de escribir yespara cada uno.

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
piel azul
fuente
@Fabby He editado el texto para hacerlo explícito para su satisfacción
blueskin
1
Parece más una edición de la respuesta existente aquí que una nueva respuesta. ¯ \ _ (ツ) _ / ¯ ¡Lo siento! -1 ...
Fabby