<h1 class="posttitle"><a href="http://albertjh.cymaho.com/?p=130" rel="bookmark" title="Permanent Link: APT">APT</a></h1><br>Puedes ver este manual en: <span style="color: rgb(51, 102, 255); text-decoration: underline;"><a href="http://albertjh.cymaho.com/?p=130">http://albertjh.cymaho.com/?p=130</a></span><br>
<br>
                                        <small>
                                                Escrito por: <a href="http://albertjh.cymaho.com/?author=2" title="Entradas de albertjh ">albertjh</a> en <a href="http://albertjh.cymaho.com/?cat=5" title="Ver todas las entradas en Curiosidades" rel="category">Curiosidades</a>,  <a href="http://albertjh.cymaho.com/?cat=4" title="Ver todas las entradas en HowTo" rel="category">HowTo</a>                                        </small>
                                

                        
                                <p><img src="http://ubuntusur.files.wordpress.com/2007/07/apt_get.png" style="margin: 5pt 5pt 10px 10px; float: right;" height="300" width="229">Llevaba tiempo queriendo escribir sobre esto y como no encontraba cómo hacerlo, de casualidad vi que en <a href="http://ubuntusur.org/page/4/" target="_blank">Ubuntu Sur</a>
ya habían aportado multitud de cosas sobre el APT, porque, si no os
habéis dado cuenta, lo usamos para todo, yo por lo menos, apt-get
intall/remove, apt-cache, apt-show, apt-file update, …, y "pensé", algo
que se usa tanto se merece un post :-)</p>
<h3>¿Qué es APT?</h3>
<p><strong>Advanced Packaging Tool</strong>, (<a href="http://es.wikipedia.org/wiki/Tcc" title="Tcc">tcc</a> APT), es un <a href="http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_paquetes" title="Sistema de gestión de paquetes">sistema de gestión de paquetes</a> creado por el proyecto <a href="http://es.wikipedia.org/wiki/Debian" title="Debian">Debian</a>. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas <a href="http://es.wikipedia.org/wiki/GNU/Linux" title="GNU/Linux">GNU/Linux</a>.</p>

<p>No existe un programa <code>apt</code> en sí mismo, sino que APT es una librería de funciones <a href="http://es.wikipedia.org/wiki/C%2B%2B" title="C++">C++</a> que se emplea por varios programas de <a href="http://es.wikipedia.org/wiki/L%C3%ADnea_de_comandos" title="Línea de comandos">Línea de comandos</a> para distribuir paquetes. En especial, <code>apt-get</code> y <code>apt-cache</code>.</p>

<p>Existen también programas que proporcionan un frontispicio para APT, generalmente basados en apt-get, como <code><a href="http://es.wikipedia.org/wiki/Aptitude" title="Aptitude">aptitude</a></code> con una interfaz de texto <a href="http://es.wikipedia.org/wiki/Ncurses" title="Ncurses">ncurses</a>, <code><a href="http://es.wikipedia.org/wiki/Synaptic" title="Synaptic">Synaptic</a></code> con una interfaz gráfica <a href="http://es.wikipedia.org/wiki/GTK%2B" title="GTK+">GTK+</a>, o <code><a href="http://es.wikipedia.org/wiki/Adept" title="Adept">Adept</a></code> con una interfaz gráfica <a href="http://es.wikipedia.org/wiki/Qt_%28biblioteca%29" title="Qt (biblioteca)">Qt</a>.
Existe un repositorio central con más de 21 000 paquetes apt utilizados
por apt-get y programas derivados para descargar e instalar
aplicaciones directamente desde <a href="http://es.wikipedia.org/wiki/Internet" title="Internet">Internet</a>, conocida como una de las mejores cualidades de Debian.</p>
<p>APT fue diseñado originariamente para trabajar con paquetes <a href="http://es.wikipedia.org/wiki/Deb" title="Deb"><strong>.deb</strong></a>, en lo sistemas Debian (y derivados), pero desde entonces ha sido modificado para trabajar con paquetes <a href="http://es.wikipedia.org/wiki/RPM" title="RPM">RPM</a> (<a href="http://es.wikipedia.org/w/index.php?title=Apt-rpm&amp;action=edit" class="new" title="Apt-rpm">apt-rpm</a>), y para funcionar en otros <a href="http://es.wikipedia.org/wiki/Sistema_operativo" title="Sistema operativo">sistemas operativos</a>, como <a href="http://es.wikipedia.org/wiki/Mac_OS_X" title="Mac OS X">Mac OS X</a> (<a href="http://es.wikipedia.org/wiki/Fink" title="Fink">Fink</a>) y <a href="http://es.wikipedia.org/wiki/OpenSolaris" title="OpenSolaris">OpenSolaris</a> (distribución <a href="http://es.wikipedia.org/wiki/Nexenta_OS" title="Nexenta OS">Nexenta OS</a>).<br>

<span id="more-130"></span><br>
En el principio existían los .tar.gz. Los usuarios tenían que compilar
cada programa que quisieran usar en su sistema GNU/Linux. Cuando Debian
fue creado, fue imperante que el sistema incluyera un programa que se
encargara de manejar la paquetería instalada en la computadora. Este
programa se llamó <code>dpkg</code>.
Así fue como nació el primer "paquete" en el mundo GNU/Linux, aún antes
de que Red Hat decidiera crear su propio programa "rpm".</p>
<p>Como parte de su funcionamiento, APT utiliza un archivo que enlista
las "fuentes" en donde se encuentran los paquetes. Este archivo es: <samp>/etc/apt/sources.list</samp>.</p>
<p>El contenido de este archivo, normalmente sigue este formato:</p>
<blockquote>
<pre>     deb <a href="http://host/debian">http://host/debian</a> distribución sección1 sección2 sección3<br>     deb-src <a href="http://host/debian">http://host/debian</a> distribución sección1 sección2 sección3</pre>
</blockquote>
<p>El archivo <samp>/etc/apt/sources.list</samp> puede contener varios tipos de líneas.  APT sabe como interpretar líneas del tipo <samp>http</samp>, <samp>ftp</samp>, <samp>file</samp> (archivos locales, p.e., un directorio que contiene un CD-ROM) y <samp>ssh</samp>, según mis conocimientos</p>

<p style="text-align: center;"><img src="http://albertjh.cymaho.com/wp-content/uploads/2007/09/pantallazo-albertjhalbertjh-portatil.png" alt="APT"></p>
<p>Bueno voy a listar algunas y con una breve explicación:</p>
<blockquote>
<pre><strong><font color="#003300">$</font><font color="#003300"> sudo apt-get update</font>   ——&gt; Actualizar la lista de paquetes instalados.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get upgrade</font>  ——&gt; Bajar los paquetes que han sido actualizados y reemplazar.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-cdrom add</font>      ——&gt;   Agregar un CD-Rom a nuestro archivo"sources.list"</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-show-versions -u</font>    ——&gt; Saber que paquetes pueden actualizarse.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-cache show xxx</font>    ——&gt;  Nos muestra los nombre de los paquetes.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-cache showpkg xxx</font>    ——&gt; Nos da mayor información sobre el paquete.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-cache depends xxx</font>   ——&gt; Para saber de que otros paquetes depende.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-file search xxx</font>    ——&gt; Si no sabemos el nombre del paquete, pero si de una dependencia, utilizamos este comando.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-file list xxx</font>   ——&gt; Listar el contenido de un paquete.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-file update</font>   ——&gt; Actualiza la base de datos sobre que archivos tiene cada paquete.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get source xxx   </font>——&gt; Para descargar paquetes fuente.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get -b source xxx</font>   ——&gt; Compila el paquete al estar siendo descargado.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get build-dep xxx</font> ——&gt; Baja los paquetes necesarios para compilar el paquete que necesitamos.<br>                                (xxx es el nombre del paquete que se quiere compilar).</strong></pre>

<pre><strong><font color="#003300">$ sudo apt-get -f install</font>   ——&gt; Para solucionar problemas cuando una instalación no se logró con éxito.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get clean   </font>——&gt; Limpia el cache de paquetes instalados.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get autoclean</font>   ——&gt; Limpia el cache de paquetes que ya han sido actualizados.</strong></pre>
<pre><strong><font color="#003300">$ sudo apt-get -d paquete</font> ——&gt; Para bajar el paquete y sus dependencias sin instalar.</strong></pre>
</blockquote>
<p>Bueno, a pesar de todo esta lista tenemos un increíble manual en <a href="http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.es.html" target="_blank">debian</a>
que es impresionante, si tenéis ganas de descubrir más, adelante con
ello. Ahora, de la página de Ubuntu sur, también me pareció interesante
este artículo: Compilar aplicaciones utilizando APT. Si recordáis,
escribí hace tiempo como actualizar estando offline con <a href="http://albertjh.cymaho.com/?p=97" target="_blank">APTonCD</a>, bien, esta es otra manera de actualizar grabando paquetes .deb en un cd:</p>
<p>Tomaremos como ejemplo la compilación e instalación posterior de la aplicación Gimp.</p>
<ol><li>Te recomiendo que primero crees una carpeta dentro de tu /home,
para que no tengas los archivos que se irán formando todos desordenados</li></ol>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~$ mkdir source</strong></font><font color="#ff0000"><strong><br><br></strong></font><font color="#ff0000"><strong>kike@albedo039:~$ mkdir source/gimp</strong></font></pre>

</blockquote>
<p>Luego y siempre en consola vas a la carpeta recién creada</p>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~$ cd source/gimp</strong></font></pre>
</blockquote>
<ul><li>Bien, ahora y siempre utilizando APT, cargaremos las librerías necesarias para efectuar la compilación</li></ul>
<blockquote>
<pre><font><strong><font color="#ff0000"><strong>kike@albedo039:~/source/gimp$ sudo apt-get build-dep gimp</strong></font></strong></font></pre>
</blockquote>
<p><em>En Debian como usuario administrador</em></p>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~/source/gimp# apt-get build-dep gimp</strong></font></pre>
</blockquote>
<ul><li>Ahora que ya tenemos instaladas las dependencias necesarias para la compilación, procedemos a bajar el paquete y compilar</li></ul>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~/source/gimp$ sudo apt-get -b source gimp</strong></font></pre>
</blockquote>
<p><em>En Debian como usuario administrador</em></p>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~/source/gimp# apt-get -b source gimp</strong></font></pre>
</blockquote>
<ul><li><strong>  </strong> Ok., una vez finalizado el proceso de bajar el
paquete y compilarlo APT nos habrá creado varios archivos .deb, los
cuales procederemos a instalar utilizando dpkg</li></ul>
<p>por ejemplo:</p>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~/source/gimp$ sudo dpkg -i gimp_2.2.16-1_i386.deb</strong></font></pre>
</blockquote>
<p><em>En Debian</em></p>
<blockquote>
<pre><font color="#ff0000"><strong>kike@albedo039:~/source/gimp#</strong><strong> dpkg -i gimp_2.2.16-1_i386.deb</strong></font></pre>
</blockquote>
<p>Y bueno eso lo repites con todos los archivos .deb que te fueron
creados, con ello ya tendremos Gimp compilado e instalado en nuestra
máquina.<br>
¿Que os pareció?</p>