На самом деле я недавно написал скрипт на своей машине, который по своей сути делает именно это. Я делаю это, сначала подключая sed 's/\/.*//g'
чтобы удалить все после косой черты. Затем вывод направляется в xargs /usr/bin/sudo apt установить
.
Как @N0rbert упомянул о своем решении, главная слабость здесь заключается в том, что требуется только один случай ошибки (например, отсутствующий репо в источники.список
), чтобы остановить всю операцию. Поэтому, если вы используете исходный файл, отличный от системы, сгенерировавшей входные данные, решение, с которым вы работаете, должно сначала проверить, доступен ли pkg для вашей системы. В общем, ваш выбор будет зависеть от предполагаемого варианта использования.
Например, вы, вероятно, могли бы уйти, не проходя через сед
, но в моем случае скрипт использует tee для сохранения списка в файл, а затем выполняет дальнейшую обработку, используя файл в качестве входных данных.Фактически, сам список является центральной темой этого сценария и нескольких других, которые работают с ним в тандеме.
Пара замечаний: вам не нужно беспокоиться о том, установлен ли пакет уже на вашем компьютере. Если это так, apt просто пропустит его. Кроме того, поскольку вы, скорее всего, собираетесь установить довольно много пакетов во время работы, рекомендуется начать с обновление sudo apt && обновление sudo apt
команда. Это избавит вас от необходимости загружать кучу пакетов только для того, чтобы в конечном итоге загрузить несколько более новую версию для многих из них чуть позже.