\section{Basic Usage}

Starting from release 0.9.x, \aptget{} is able to use external solvers
via the EDSP protocol. In order to use \aptget{} with an external
solver you need to have installed , besides \texttt{apt} itself, the
package \aptcudf{} and at least one solver package. Currently
available solver packages in debian are \texttt{aspcud},
\texttt{mccs}, and \texttt{packup}.

The integration of CUDF solvers in \aptget{} is transparent from the
user's perspective. To invoke an external solver you just have to
pass the option \texttt{--solver} to \aptget{}, followed by the name of the
CUDF solver to use.
These solvers use different technologies and can provide
slightly different solutions.

Using an external CUDF solver does not require any other particular
action from the user. The \texttt{--simulate} (or \texttt{-s}) option is
used here to make \aptget{} just display the action it would perform, without
actually performing it:

\begin{verbatim}
  $apt-get --simulate --solver aspcud install gnome
  NOTE: This is only a simulation!
        apt-get needs root privileges for real execution.
        Keep also in mind that locking is deactivated,
        so don't depend on the relevance to the real current situation!
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  Execute external solver... Done
  The following extra packages will be installed:
  [...]
\end{verbatim}

Depending on the solver, the invocation of an external solver can take
longer then the \aptget{} internal solver. This difference is to due
to the additional conversion step from EDSP to CUDF and back, plus
the effective solving time.

\aptget{} itself ships two EDSP-compatible tools:
\begin{enumerate}
\item \texttt{internal} (since release 0.8.x) refers to the internal
  \aptget{} dependency solver;
\item \texttt{dump} is not a real solver but just dumps the EDSP document
  into the text file \texttt{/tmp/dump.edsp}.
\end{enumerate}

For example, the following invocation is equivalent to invoking
\aptget{} without the \texttt{--solver} argument:

\begin{verbatim}
  apt-get install --solver internal <package-to-be-installed>
\end{verbatim}
