Installer la liste des packages en utilisant apt-get


8

J'ai une nouvelle installation de Lubuntu et je voudrais installer des packages à partir d'une liste donnée, sans avoir à taper sudo apt-get install package_name. C'est possible?

Je ne parle pas des scripts post-installation, c'est quelque chose de complètement différent.


Réponses:


5

Oui, il suffit de lister tous les packages sur une ligne séparée par un espace. par exemple

sudo apt-get install package_name1 package_name2 package_name3 package_name4

Merci, comment puis-je empêcher apt-get de me poser des questions O / n si je veux vraiment installer le paquet?
syntagma

2
Ajoutez l' -yoption. C'est assez long, mais vous pouvez lire man apt-getpour plus d'informations.
Sparhawk

23

Si vous avez un fichier (disons pkglist) qui contient la liste des packages à installer comme:

pkg1
pkg2
pkg3

ou

pkg1 pkg2 pkg3

Ensuite, vous pouvez installer ces packages à l' aptaide de la commande suivante:

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

Pour plus d'informations sur la section d'installation, apt-get installvisitez man apt-get.


2
Si vous voulez que cela s'installe avec toutes les exigences, vous devrez le fairexargs sudo apt-get -y install < pkglist
Emanuel Ey

+1 Si vous répertoriez un package par ligne, le fichier doit utiliser les fins de ligne Unix ou apt-get échouera.
Rath

Vous pouvez également passer le nom de fichier directement à xargs avec l'option -a ou --arg fichier: xargs -a pkglist sudo apt install.
Ryan

1

Mettez tous les noms de packages dans un fichier (un nom de package pour chaque ligne). Et puis exécutez la commande ci-dessous pour installer automatiquement les packages donnés.

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

Exemple:

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

Cela ne serait-il pas beaucoup plus lent que de simplement mettre les packages sur une seule ligne, car il doit lire les listes de packages et créer des arbres de dépendance, etc. pour chaque package, plutôt que de le faire une fois?
Sparhawk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.