Instale la lista de paquetes usando apt-get

8

Tengo una nueva instalación de Lubuntu y me gustaría instalar paquetes de una lista dada, sin tener que escribir sudo apt-get install package_name. ¿Es posible?

No estoy hablando de los scripts posteriores a la instalación, eso es algo completamente diferente.

sintagma
fuente

Respuestas:

5

Sí, solo enumere todos los paquetes en una línea separada por un espacio. p.ej

sudo apt-get install package_name1 package_name2 package_name3 package_name4
Gavilán
fuente
Gracias, ¿cómo puedo evitar que apt-get me haga preguntas S / n si realmente quiero instalar el paquete?
sintagma
2
Agrega la -yopción. Es bastante largo, pero puedes leer man apt-getpara obtener más información.
Sparhawk
23

Si tiene un archivo (digamos pkglist) que contiene una lista de paquetes para instalar como:

pkg1
pkg2
pkg3

o

pkg1 pkg2 pkg3

Luego puede instalar esos paquetes aptusando el siguiente comando:

  1. sudo apt-get install $(cat pkglist)
  2. xargs sudo apt-get install < pkglist

Para más información sobre la apt-get installvisita, visite la man apt-getsección de instalación.

Pandya
fuente
2
Si desea que esto se instale junto con los requisitos que tendrá que hacerxargs sudo apt-get -y install < pkglist
Emanuel Ey
+1 Si enumera un paquete por línea, el archivo debe usar terminaciones de línea Unix o apt-get fallará.
rath
También puede pasar el nombre del archivo directamente a xargs con la opción -a o --arg-file: xargs -a pkglist sudo apt install.
Ryan
1

Coloque todos los nombres de paquete en un archivo (un nombre de paquete para cada línea). Y luego ejecute el siguiente comando para instalar los paquetes dados automáticamente.

while read -r line; do sudo apt-get -y install "$line"; done < /path/to/the/packages/file

Ejemplo:

$ cat file
vlc
firefox
$ while read -r line; do sudo apt-get install "$line"; done < file
[sudo] password for avinash: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
vlc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 499 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  ttf-lyx
The following packages will be upgraded:
  firefox
1 upgraded, 0 newly installed, 0 to remove and 498 not upgraded.
Need to get 35.8 MB of archives.
After this operation, 24.3 MB of additional disk space will be used.
Get:1 http://ftp.cuhk.edu.hk/pub/Linux/ubuntu/ trusty-updates/main firefox amd64 33.0+build2-0ubuntu0.14.04.1 [35.8 MB]
0% [1 firefox 67.0 kB/35.8 MB 0%]                           10.4 kB/s 57min 16s^
Avinash Raj
fuente
¿No sería esto mucho más lento que simplemente poner los paquetes en una línea, ya que tiene que leer listas de paquetes y construir árboles de dependencia, etc. para cada paquete, en lugar de hacerlo una vez?
Sparhawk