Говоря aptitude, я уже что-то установил

Привет, я знаю, что это может быть бессмысленным вопросом, но я должен спросить. Я установил TeXLive 2009 на Ubuntu 10.04 (x64), но сделал это вручную с помощью perl-скрипта " install-tl ", следуя указаниям на http://tug.org/texlive/doc.html. Все остальное программное обеспечение, которое я ранее установил, было

 sudo aptitude установить имя пакета 

Причина, по которой я выполнил установку вручную, заключалась в том, что tlmgr не устанавливается с версией репозиториев aptitude, и я хотел получить быстрый способ установки / удаления пакетов, связанных с TeXLive-latex. Более того, я читал, что, как правило, репозитории TeXLive Ubuntu, как правило, устарели.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что мне нужно установить другое программное обеспечение, например, auctex и когда я выпускаю

sudo aptitude устанавливает auctex 

Я получаю, что все эти пакеты будут установлены:

 auctex emacs23 {a} emacs23-bin-common {a} emacs23-common {a} 
  emacsen-common {a} lacheck {a} latex-beamer {a} latex-xcolor {a} lmodern {a} 
  luatex {a} pgf {a} preview-latex-style {a} prosper {a} ps2eps {a} 
  tex-common {a} texlive-base {a} texlive-binaries {a} texlive-common {a} 
  texlive-doc-base {a} texlive-extra-utils {a} texlive-font-utils {a} 
  texlive-generic-рекомендуемый {a} texlive-latex-base {a} 
  texlive-latex-base-doc {a} texlive-latex-рекомендуемый {a} 
  texlive-latex-Recommended-doc{a} texlive-luatex{a} texlive-pstricks{a} 
  texlive-PSTricks-док {а} 

Даже если я попробую что-то вроде

 sudo aptitude install --without-рекомендует auctex 

Я все еще получаю

 auctex emacs23{a} emacs23-bin-common{a} emacs23-common{a} 
  emacsen-common{a} preview-latex-style{a} tex-common{a} 

Что лучше, чем раньше, но я все еще получаю tex-common который обычно устанавливается при полной установке TeXLive (я думаю). tex-common в свою очередь, устанавливается из-за preview-latex-style что в свою очередь необходимо, потому что auctex требует так.

Итак, мой вопрос. Есть ли способ сказать aptitude: " Эй, я уже установил их, так что не беспокойтесь о зависимостях, у меня они под контролем, несмотря на то, что вы никогда не видели их раньше? "? Будет auctex даже работать, несмотря на ручную установку TeXLive?

Любая помощь или идея очень ценится.

3 ответа

Решение

Когда вы устанавливаете программу, которая не проходит через систему упаковки, установите ее в /usr/local (или под /optили в вашем домашнем каталоге, просто не в /usr). Если вам не хватает места на диске, вы можете оставить упакованную версию, если она есть.

Иногда бывает полезно сделать вид, что пакет установлен. Это можно сделать, установив фиктивный пакет, который ничего не делает, но требует и предоставляет зависимости. Системы на основе Debian (включая Ubuntu) обеспечивают equivs-build команда в equivs пакет. Цитирование из описания пакета:

Этот пакет предоставляет инструмент для создания пакетов Debian, которые содержат только информацию о зависимостях.

Одним из применений для этого является создание метапакета: пакета, единственная цель которого состоит в том, чтобы объявлять зависимости и конфликты с другими пакетами, чтобы они автоматически устанавливались, обновлялись или удалялись.

Другое использование - обойти проверку зависимостей. Если пакет P не установлен в системе, пакеты, которые зависят от P, обычно не могут быть установлены. Однако, если известно, что функциональность, эквивалентная P, установлена, этот инструмент можно использовать, чтобы обмануть систему управления пакетами Debian, заставив ее поверить, что пакет P фактически установлен. ПРИМЕЧАНИЕ: это должно считаться грубым взломом для обхода неловких ситуаций, а не нормальным решением.

Я не могу принять весь беспорядок aptitude делать бананы только ради самого современного дистрибутива LaTeX. Я попробовал совет DaveParillo, установленный с

 aptitude install --without-рекомендует --prompt --safe-resolver auctex 

Установлено auctex а также emacs, Это не сработало. По-видимому, auctex Конфигурация должна быть сделана из источника, поэтому единственным решением моего вышеупомянутого вопроса было бы забыть о aptitude (так что еще раз, DaveParillo был прав, я испортил aptitude) и построить auctex из источника. И, как вы, наверное, уже поняли, это огромный мяч, так как каждый раз, когда мне может понадобиться что-то, связанное с LaTeX, мне нужно будет собирать из исходников каждую программу, так что... Отвечая на мой второй вопрос: нет, это не будет работать, если auctex построен из источника с ./configure --funky-options-about-where-your-tex-installation-may-reside, Более того, auctex Расширение исчезло из Emacs, когда я перезапустил.

Я удалил auctex с

 sudo aptitude purge auctex 

и я удалил TeXLive 2009 с " tlmgr ", я установлю один из репозиториев Ubuntu. И я справлюсь с этим в то же время. я люблю aptitude способ обработки установок, но иногда это просто... Argh. Отвечая на главный вопрос "Есть ли способ сказать aptitude вы уже что-то сделали вручную?": нет, в этом моем конкретном эксперименте, но я не знаю, возможно ли это с каким-нибудь опытным решением.

Простите за неудобства, ребята. Если бы это была среда тестирования, я бы попробовал все сделать вручную, даже если это означает переустановку ОС много раз. Но мне просто нужно было это работать, и я не могу пойти с этим вариантом. Спасибо всем за ваше время и внимание.

Вы обошли нормальную систему зависимостей способностей, поэтому я думаю, что у вас могут быть проблемы. Самый простой, но, возможно, утомительный ответ заключается в том, чтобы --prompt опция - он будет спрашивать вас перед каждой установкой (или удалением), и вы сможете выбрать, какие пакеты устанавливать.

Поскольку этот вопрос касается взлома латекса, вы можете опубликовать его на бирже стека Tex - LaTex

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