apt install <список пакетов из файла> [дубликат]

На этот вопрос уже есть ответ здесь:

Выглядит хорошо :

for i in package1 package2 package3; do
  sudo apt-get install -y $i
done

но с пакетами, перечисленными в файле:

package1
package2
..

каждый в отдельной строке. Ищете простейший сценарий для чтения, производительность на самом деле не проблема. Конечно, странный пакет потребует некоторого вмешательства человека во время установки для согласования или настройки.

Кстати, каков «настоящий» способ работы с большими списками пакетов, которые нужно установить? Я просто ищу обезьяну-видеть-обезьяну- делать .

3
задан 2 January 2019 в 16:46

2 ответа

Существует xargs программа, которая преобразовывает файл к параметрам командной строки. Просто предварительно ожидайте xargs к команде (со всеми аргументами), для которого требуется предоставить дополнительные аргументы из файла (позволяют нам назвать его list.txt) и позвольте xargs считать Ваш файл с помощью стандартного перенаправления ввода.

< list.txt xargs sudo apt-get install -y

Можно протестировать его путем помещения echo прежде (или вместо) sudo или удаление -y опция.

6
ответ дан 1 December 2019 в 13:08

Что-то вроде этого?

# check that the filename was supplied (keeping it simple for the example)
set -o nounset

packagefile=$1

# initialize the package variable
packages=''

# read the lines of the package file
while IFS= read -r line; do
    packs+=" $line"
done < $packagefile

# apt install all of the packages
apt install -y $packs
4
ответ дан 1 December 2019 в 13:08

Другие вопросы по тегам:

Похожие вопросы: