Ubuntu – Telling aptitude I’ve already installed something


Hi, I know this might be a non-sense question, but I have to ask. I installed TeXLive 2009 on Ubuntu 10.04 (x64), but I did it manually with the "install-tl" perl script following the directions on http://tug.org/texlive/doc.html. All the other software I've previously installed was through

sudo aptitude install package-name

The reason why I did a manual installation was because tlmgr doesn't install with the aptitude repositories version, and I wanted a quick way to install/uninstall TeXLive-latex related packages. Moreover, I read that, as a general rule, TeXLive Ubuntu repositories' are generally outdated.

The problem I'm facing now is that I need to install other related software, for example, auctex and when I issue

sudo aptitude install auctex

I get that all these packages will be installed:

 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-recommended{a} texlive-latex-base{a} 
  texlive-latex-base-doc{a} texlive-latex-recommended{a} 
  texlive-latex-recommended-doc{a} texlive-luatex{a} texlive-pstricks{a} 

Even if I try something like

sudo aptitude install --without-recommends auctex

I still get

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

Which is way better than before, but I'm still getting tex-common that is normally installed when TeXLive full installation is performed (I think). tex-common in turn, is installed because of preview-latex-style, which in turn is needed because auctex requires so.

So, my question. Is there any way to tell aptitude "Hey I've already installed these so don't worry about dependencies, I have these under control despite you'd never seen them before?"? Will auctex even work despite the manual installation of TeXLive?

Any help or idea is greatly appreciated.

Best Answer

  • When you install a program that doesn't come through the packaging system, install it under /usr/local (or under /opt, or in your home directory, just not in /usr). Unless you're short of disk space, you can leave the packaged version if there is one.

    Occasionally it can be useful to pretend a package is installed. This can be done by installing a dummy package that does nothing but require and provide dependencies. Debian-based systems (including Ubuntu) provide the equivs-build command in the equivs package. Quoting from the package description:

    This package provides a tool to create Debian packages that only contain dependency information.

    One use for this is to create a metapackage: a package whose sole purpose is to declare dependencies and conflicts on other packages so that these will be automatically installed, upgraded, or removed.

    Another use is to circumvent dependency checking. If a package P is not installed on the system, packages that depend on P cannot normally be installed. However, if functionality equivalent to P is known to be installed, this tool can be used to trick the Debian package management system into believing that package P is actually installed. NOTE: this should be considered a crude hack to work around awkward situations, not a normal solution.