<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mundo Geek &#187; gcc</title>
	<atom:link href="http://mundogeek.net/etiqueta/gcc/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Fri, 25 May 2012 14:51:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>apt-build, optimizando los paquetes para nuestra máquina</title>
		<link>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</link>
		<comments>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/#comments</comments>
		<pubDate>Sat, 12 May 2007 06:00:19 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</guid>
		<description><![CDATA[Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento. Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema: sudo aptitude install apt-build Se nos preguntará por el nivel de optimización que queramos [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento.</p>
<p>Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema:</p>
<p class="code">sudo aptitude install apt-build</p>
<p>Se nos preguntará por el nivel de optimización que queramos conseguir; cuanto más trabajo haga el compilador para optimizar la aplicación que instalemos, mejor rendimiento obtendremos con ella, pero evidentemente, más tardaremos en compilar. Recomendado dejarlo en Medio.</p>
<p>También nos preguntará por la arquitectura de nuestro procesador. Si dudais os puede ser de utilidad la sección de <a href="http://gentoo-wiki.com/Safe_Cflags" title="Flag arquitectura compilador gcc">flags seguros de Gentoo-wiki</a>; fijaros en el flag -march. Yo tengo un Intel Core 2 Duo T7200 pero el flag -march=core2 que sería el correspondiente a las arquitecturas Core 2 Duo no está disponible más que a partir de la versión 4.3 de gcc (la de Ubuntu Feisty Fawn es la 4.1.2), así que utilizo Prescott. <span id="more-1077"></span></p>
<p>Antes de empezar a usarlo hay que comprobar que los repositorios con las fuentes de las aplicaciones no estén comentadas en el archivo de fuentes:</p>
<p class="code">sudo gedit /etc/apt/sources.list</p>
<p>y comprobad que para cada uno de los repositorios que nos interesen haya no sólo una línea que comience con deb, si no otra que comience con deb-src y que no haya un símbolo de almohadilla (#) al comienzo de la línea (si ese es el caso, borrad la almohadilla para descomentarlo).</p>
<p>Vereis que durante la instalación de apt-build se ha añadido una nueva fuente a sources.list que será parecido a esto:</p>
<p class="code">deb file:/var/cache/apt-build/repository apt-build main</p>
<p>Esto es porque apt-build funciona haciendo un apt-get source para descargar el código fuente, compilándolo con dpkg-buildpackage y poniendo el paquete resultante en este nuevo repositorio local para que apt-get lo encuentre.</p>
<p>Primero vamos a modificar el archivo /etc/apt/preferences para que los paquetes de este nuevo repositorio local tengan prioridad sobre los del resto de repositorios:</p>
<p class="code">sudo gedit /etc/apt/preferences</p>
<p>y añadimos las líneas:</p>
<p class="code">Package: *<br />
Pin: release o=apt-build<br />
Pin-Priority: 990</p>
<p>Esto especifica que todos los paquetes (*) del release apt-build tienen una prioridad de 990 (apt-get instalará los paquetes de mayor prioridad).</p>
<p>El uso de apt-build es muy similar a apt-get o aptitude; tenemos todos los comandos típicos: update para actualizar la lista de paquetes, upgrade para actualizar los paquetes a las últimas versiones o install para instalar un paquete (en este caso compila, crea un paquete e instala).</p>
<p>Vamos a actualizar primero la lista de los paquetes disponibles:</p>
<p class="code">sudo apt-build update</p>
<p>y ahora instalemos una aplicación cualquiera para comprobar que todo funciona correctamente, por ejemplo vamos a reinstalar gzip:</p>
<p class="code">sudo apt-build install gzip</p>
<p>apt-build descargará las fuentes, compilará e intentará instalar el nuevo paquete, pero como ya está instalado y es la misma versión nos informará de que la versión instalada ya está en su versión más reciente. Si hacemos</p>
<p class="code">sudo apt-build &#8211;reinstall install gzip</p>
<p>para reinstalar el paquete se quejará de que el tamaño de la versión de los repositorios es distinto de la versión de nuestro repositorio local. Si indicamos a apt-get que instale el paquete sin preocuparse por autentificarlo:</p>
<p class="code">sudo apt-get &#8211;reinstall &#8211;allow-unauthenticated install gzip</p>
<p>ahora si, habremos sustituido la versión de gzip original por una optimizada para nuestra máquina.</p>
<p>Una última opción (bastante peligrosa) es world, que compila y reinstala todos los paquetes del sistema para adaptarlos a la máquina en la que se ejecuta. Si quereis más información sobre su uso (que no aconsejo) podeis echarle un vistazo a <a href="http://www.ubuntu-es.org/index.php?q=node/1265" title="Tutorial apt-build">Primera experiencia con apt-build</a> o <a href="http://cronopios.net/Traducciones/apt-build.es.html" title="Manual apt-build, Optimice los paquetes Debian para su sistema">apt-build &#8211; Optimice los paquetes Debian para su sistema</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

