Installa l'elenco dei pacchetti usando apt-get


8

Ho una nuova installazione di Lubuntu e vorrei installare i pacchetti da un determinato elenco, senza dover digitare sudo apt-get install package_name. È possibile?

Non sto parlando degli script post-installazione, è qualcosa di completamente diverso.


Risposte:


5

Sì, basta elencare tutti i pacchetti in una riga separata da uno spazio. per esempio

sudo apt-get install package_name1 package_name2 package_name3 package_name4

Grazie, come posso impedire a apt-get di farmi domande S / N se voglio davvero installare il pacchetto?
syntagma,

2
Aggiungi l' -yopzione. È piuttosto lungo, ma puoi leggere man apt-getper ulteriori informazioni.
Sparhawk,

23

Se hai un file (diciamo pkglist) che contiene un elenco di pacchetti da installare come:

pkg1
pkg2
pkg3

o

pkg1 pkg2 pkg3

Quindi è possibile installare quei pacchetti aptusando il seguente comando:

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

Per ulteriori informazioni sulla sezione di installazione apt-get installvisita man apt-get.


2
Se vuoi che questo venga installato secondo tutti i requisiti, dovrai farloxargs sudo apt-get -y install < pkglist
Emanuel Ey,

+1 Se si elenca un pacchetto per riga, il file deve utilizzare i finali di riga Unix o apt-get fallirà.
rath,

È inoltre possibile passare il nome del file direttamente al xargs con l'-a o l'opzione --arg-file: xargs -a pkglist sudo apt install.
Ryan,

1

Inserisci tutti i nomi di pacchetto in un file (un nome di pacchetto per ogni riga). E quindi eseguire il comando seguente per installare automaticamente i pacchetti indicati.

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

Esempio:

$ 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^

Non sarebbe molto più lento del mettere i pacchetti su una riga, poiché deve leggere gli elenchi dei pacchetti e costruire alberi delle dipendenze, ecc. Per ogni pacchetto, piuttosto che farlo una volta?
Sparhawk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.