Назад | Перейти на главную страницу

Предотвратить установку зависимостей с APT

У меня есть эта строка сценария для установки всех пакетов для нового сервера.

apt-get install mysql-server openjdk-7-jre-headless tomcat7 tomcat7-admin jsvc apache2 ntp subversion

Как видите, он устанавливает Java 7, но также устанавливается Java 6, потому что tomcat7 (косвенно) зависит от этого. Я почти уверен, что могу запустить Tomcat 7 с Java 7, поэтому я не хочу устанавливать две JRE. Как я могу предотвратить установку Java 6?

Обновить: Более внимательное рассмотрение показывает, что

Почему так случилось? Потому что я их все сразу устанавливаю. Должен ли я разделить его на 2 вызова?

(Сервер Ubuntu 12.04, 64-разрядная версия)

На самом деле в приведенной выше строке не устанавливается Java 6. На каком-то этапе разработки скрипта у меня openjdk-7-jre-lib там вместо openjdk-7-jre-headless, и это зависит от openjdk-6-jre-lib, по какой-то причине.

Использовать --nodeps вариант с apt-get игнорировать устанавливаемые зависимости.

Есть еще один способ - загрузить пакет и установить его с помощью dpkg с участием --ignore-depends=пакет, ...

Менеджер пакетов с графическим интерфейсом пользователя, такой как Synaptic, позволит вам выбрать или отменить выбор зависимостей перед установкой выбранных пакетов.

Создайте пакет debian, который «Предоставляет:» зависимость, которую вы не хотите устанавливать. Установите его.