Устанавливать сразу несколько ppas через терминал без использования скрипта

Я хочу добавить эти четыре ppa на свою машину.

sudo add-apt-repository ppa:noobslab/malys-themes
sudo add-apt-repository ppa:alecive/antigone
sudo add-apt-repository ppa:nitrux/nitrux-artwork
sudo add-apt-repository ppa:upubuntu-com/themes

Вместо того, чтобы добавлять их по одному, я думал, что перечислил их один за другим - как мы делаем, когда Установка

sudo add-apt-repository ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes

Но она вернула ошибку: Error: need a repository as argument

Я искал и видел этот вопрос Как установить сразу несколько PPA и приложений? но он предлагает сценарий bash как решение.

Есть ли способ добавить сразу несколько ppa без использования скрипта?

EDIT Am просто любопытно , почему не работает

sudo add-apt-repository ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes

, но

sudo apt-get install moka-icon-theme moka-icon-theme-blue moka-icon-theme-dark malys-deda awoken-icon-theme nitrux-icon-theme nouvegnomegray

работает?

EDIT [!d9 ] Есть ли способ обхода, где

sudo add-apt-repository ppa:noobslab/malys-themes ppa:alecive/antigone ppa:nitrux/nitrux-artwork ppa:upubuntu-com/themes

можно заставить работать? И я полностью понимаю риски здесь.

1
задан 13 April 2017 в 15:24

2 ответа

Я уже обсуждал это, когда говорил о том, как создавать резервные копии установленных PPA. Ниже приведен файл, в котором перечислены все ваши PPA и установлены:

<~/ppa-backup.txt xargs -I % sudo add-apt-repository %

. Это довольно тривиально, чтобы настроить этот список:

xargs -I % sudo add-apt-repository % <<EOF
  ppa:noobslab/malys-themes
  ppa:alecive/antigone
  ppa:nitrux/nitrux-artwork
  ppa:upubuntu-com/themes
EOF
Почему принимать несколько аргументов и add-apt-repository нет?

Просто потому, что они разные команды, написанные для разных целей разными людьми. Почему less и rm не принимают те же аргументы? Это разные вещи.

Добавление связки репозиториев действительно является краевым случаем. Это не значит, что вы хотите установить более одного пакета за раз. Это также усложняет синтаксис. add-apt-repository уже принимает несколько различных форматов, некоторые из которых включают пробелы.

Почему apt-get install ... принимает несколько аргументов и add-apt-repository не?

Есть ли какое-либо обходное решение для сделать свою работу?

Конечно. Вы либо пишете обертку для add-apt-repository, либо устанавливаете приоритет или редактируете оригинал ... Это разумная вещь? Нет, совсем нет. Вы будете нарушать существующие add-apt-repository (см. Выше) нестандартным образом, для чего? Чтобы сохранить нажатия клавиш на то, что вы запускаете один раз?

4
ответ дан 24 May 2018 в 11:17

Попробуйте поставить что-то вроде этого:

 sudo add-apt-repository ppa:noobslab/malys-themes & sudo add-apt-repository ppa:alecive/antigone & ...

Итак, в этом формате:

command & next_command & next_command

Это может сработать.

1
ответ дан 24 May 2018 в 11:17
  • 1
    Разделение с помощью && или ; может быть лучшим вариантом, чем разделение на & – Wilf 28 February 2014 в 20:09
  • 2
    @Wilf --- намного лучше. Как предполагалось, не будет (надежно) работать; первый & запускает первый add-apt... в фоновом режиме, он будет сканировать блокировку в файле репозитория, а остальные будут терпеть неудачу (в зависимости от скорости машины, планировщика и фазы луны) – Rmano 28 February 2014 в 21:24
  • 3
    Пожалуйста, не повышайте этот ответ до тех пор, пока OP не исправит его. Это просто неправильно, см. Мой комментарий раньше. & запустить процесс в фоновом режиме; ; или && являются единственными допустимыми разделителями команд здесь. – Rmano 7 March 2014 в 22:03

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

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