Как я могу установить пакет без установки некоторых зависимостей?

74

Я пытаюсь установить пакет LaTeXila, и вывод выглядит так:

$ sudo apt-get install latexila --no-install-recommends
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  latexila-data latexmk luatex tex-common texlive-base texlive-binaries
  texlive-common texlive-doc-base texlive-latex-base
Suggested packages:
  rubber texlive-latex-extra debhelper
Recommended packages:
  texlive texlive-latex-recommended texlive-luatex lmodern
  texlive-latex-base-doc
The following NEW packages will be installed:
  latexila latexila-data latexmk luatex tex-common texlive-base
  texlive-binaries texlive-common texlive-doc-base texlive-latex-base
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.3 MB of archives.
After this operation, 74.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Я не хочу устанавливать текстовые пакеты. Я установил texlive вручную с http://www.tug.org/texlive/ . Какие-либо предложения?

Alex
источник
добавьте программу, а затем удалите ненужные пакеты. Когда вы устанавливаете такую ​​программу, вы просто скачиваете / устанавливаете набор пакетов. Вам нужно изменить то, что входит в пакет, и вы не можете сделать это как пользователь.
Альвар
8
Здесь действительно должны быть некоторые возможности для опытных пользователей. Он должен либо позволить мне устанавливать вещи без определенных зависимостей, либо позволить мне утверждать, что что-то установлено, даже если оно на самом деле не установлено. Если бы я хотел, чтобы ко мне относились так, как будто я не знаю, что я делаю, я бы использовал Windows.
Алекс
хорошо, если вы действительно не хотите весь пакет, тогда просто установите конкретные файлы и надеюсь, что он работает.
Альвар
2
Алекс - Я думаю, что я мог непреднамеренно снизить голос. У меня давняя привычка прокручивать веб-страницы вниз по левой стороне на сенсорной панели. На этом сайте я встречался несколько раз, возможно, я не замечал, что это происходило на вашем сайте. (желание голосования было подтверждение). Еще одно решение вашей проблемы - создать пакет equs. Не самое простое для чего-то вроде texlive, хотя выполнимо. Некоторая информация здесь и связанный пример - tug.org/texlive/debian.html
doug

Ответы:

74

apt-get этого не сделает, но dpkg сделает.

apt-get download latexila latexila-data

Это загрузит двоичные файлы .deb, но не будет пытаться их установить.

Теперь вы можете использовать dpkg для принудительной установки.

dpkg --force-all -i <name of the .deb files you downloaded>

Я повторю предупреждение на странице руководства dpkg здесь:

Предупреждение. Эти параметры в основном предназначены только для экспертов. Использование их без полного понимания их последствий может сломать всю вашу систему.

Если ваша система сломалась после попытки этого, вы можете просто попытаться удалить данные о латексиле и латексиле. Удачи.

achiang
источник
Это должно быть отмечено как ответ, очень простой и прямой к точечному методу.
Северо Раз
Отличный ответ. Я хотел установить asciidoc просто для написания документации в виде man-страницы и HTML. 382 мегабайта латексного мусора! Теперь у меня есть только Asciidoc, спасибо.
Каз
5
@WolterHellmund Это абсолютно не должен быть принятый ответ, потому что игнорирование зависимостей приводит к несогласованности базы данных, которая вызовет проблемы при обновлении пакетов или установке связанных пакетов. Правильное решение эквивалентно, как рекомендует Энрике .
Жиль "ТАК - перестань быть злым"
13

Вот инструкции, следующие за страницей TUG в TeX Live и Debian / Ubuntu :

  1. Установите vanilla TeX Live от имени пользователя root для всей системы.
  2. Убедитесь в том, что только Debian дистрибутиве TEX Live пакеты смонтированные tex-common, texinfoи , возможно lmodern.
  3. Добавить каталог бен дистрибутив TEX Live, чтобы ENV_PATHв /etc/login.defs.
  4. Расскажите APT о вашей установке TeX Live, собрав фиктивный пакет, используя equivs:


    $ aptitude install equivs # as root
    mkdir /tmp/tl-equivs && cd /tmp/tl-equivs
    equivs-control texlive-local
    # edit texlive-local (see below)
    $ equivs-build texlive-local
    $ sudo dpkg -i texlive-local_2011-1_all.deb

На шаге «edit texlive-local» отредактируйте поле Maintainer и список пакетов, предоставленных вашей локальной установкой TeX Live, в зависимости от ситуации. Если вы установили, scheme-fullза исключением collection-texinfoрекомендованного, файл должен выглядеть следующим образом

(По сути, нужно создать пустышку, чтобы обмануть apt-get)

Другие способы см. Также Как установить «ванильный» TeXLive в Debian или Ubuntu? на TeX.SX.

Henrique
источник
2
Я думаю, что это правильный ответ.
Марнен Лайбоу-Козер
6

после выполнения

aptitude install [packagename]

У вас есть вопрос, хотите ли вы установить все упомянутые пакеты ... если есть пакет, который вы не хотите устанавливать, например, mysql-сервер, потому что он выгружается на другой сервер, на котором нужно ответить y / n ответить с

:mysql-server
Даниэль ван ден Оорд
источник
3

Найдите список пакетов, которые не соответствуют зависимости.

Загрузите файл .deb с apt-get download. Тогда используйте

sudo dpkg -i --ignore-depends=<package(s) to ignore> package.deb

Архисман Паниграхи
источник