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.

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.


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

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

@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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.