Мне очень удобно устанавливать пакеты на новую машину через файлы пакетов, такие как brewfiles, caskfiles, dockerfiles, package.json и т. Д.
Есть ли альтернатива этому для apt-get, так как я все еще просто использую его
через командную строку с
apt-get install pkg1 pkg2 pkg3…
?
xargs
:xargs -P1 apt-get install < list-of-packages
.<
это оболочка перенаправление. Для нескольких файлов используйте:cat file1 file2 .. | xargs -P1 apt-get install
Ответы:
Как указано в комментариях к вашему вопросу, вы можете создать простой текстовый файл, содержащий
packages.txt
список пакетов для установки:и затем выполните следующую команду:
xargs используется для передачи имен пакетов из
packages.txt
файла в командную строку. Со страницы руководства:источник
Немного улучшив ответ @ ortomala-lokni, вы можете указать файл непосредственно в качестве аргумента
xargs
:При желании вы можете дать
xargs
на-r
возможность предотвратитьapt-get
вызов от того , работает вообще , если вашpackages.txt
не содержит каких - либо не-пробельных символов.источник
-a
аргумент не был задокументирован и не похоже , чтобы работать там:xargs: unrecognized option: a
. Вывод моей версииBusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
для меня это работает в обоих направлениях, убедитесь, что у вас установлены последние xargs, или иначе проверьте, есть ли у него опция -a или нет с помощью справки (xargs --help)
источник
Помимо более общих скриптовых решений, вы можете создать пакет deb.
тебе понадобится
equivs-build
, чтобы построить деб. Деб может содержать только зависимости. Это упрощенный построитель деба.gdebi
установить деб.Это будет работать на всех системах, основанных на Debian (системах, которые используют apt / deb-файлы).
Преимущество работы с файлами deb, в отличие от сценария оболочки, состоит в том, что отменить гораздо проще, можно удалить deb или перенастроить deb и переустановить его (это приведет к тому, что файлы будут добавлено и удалено).
источник