8

Когда я запускаю следующее:

sudo apt-get install vim abcde php5-cli

Это терпит неудачу со следующим сообщением, которое является ожидаемым поведением:

E: Невозможно найти пакет abcde`.

Я хочу, чтобы он установил vim и даже если в abcde произошла ошибка, просто продолжайте устанавливать пакет php5-cli . Это означает, что я хочу, чтобы apt-get продолжал работу по списку, даже если он не может найти некоторые пакеты.

Я пробовал:

sudo apt-get install --ignore-missing vim abcde php5-cli

1 ответ1

7

Краткий ответ: вполне возможно, что вы на самом деле не хотите этого делать.

Это почему? Там было много дискуссий об этой конкретной функциональности. Один из них содержится в этом (дублирующемся) отчете об ошибке и связан с ним.

Обсуждение в отчете об ошибке также объясняет, что «--ignore-отсутствующий» применяется только в том случае, если существует проблема с загрузкой пакета, который в противном случае должен существовать в соответствии с информацией, имеющейся у вашего «apt-get». Это также объясняется здесь и в документации.

Есть ли обходной путь?

Если после прочтения предыдущих источников вы все еще уверены, что хотите это сделать, то, с другой стороны, есть (неоптимальные, но довольно безопасные) варианты, подобные той, которая указана пользователем "Александр Левчук" здесь:

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

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

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

Если пакетов много, вы можете добавить -y чтобы он не запрашивал подтверждения повторно:

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

Или же:

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

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .