aboutsummaryrefslogblamecommitdiff
path: root/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml
blob: 61cd1cd9c3956871539f17552622d988889433b4 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                      

                                                               
                     
 
              
                                                                                                             
   
 
 
                    
                                                                                   
 
                             
                           

                                                   
                                                      

                                                                       
                                                                            
                                                                                



                                                                               


                                                                               
 
                                                            
                          
 
                  
                

                                                                
                 
                
                                                                
                                           
                 
                
                                                              
                             
                 










                                                                         
                   

          
                             
                                                                          
 

                                                                            
                            


               

                                                                         


             

                                                                                   
                                               
             
 
            


                                                                         

                                                                               
 
            
                    

                                                                              





                                                                              
                                                                 
             
 



                                                   
 


                                                                             
                    

             



                                                                     
                                                                     

                                                               
                                                                           
                                                                         

                                                                          






                                                                            

                                                                        
 

                                                             
                                                              
 


                                                                            
                                                                           

                                                                   

                               



                                                                              
                   
 







                                                                           
                  
 



                                                                           
                                             
 
                  
                                             
      
                

                                                                        
                                      


                 
                                                             
                                                  

                                             
                                                                             
                                                      


                 
                                                                             
                                                
                 
                   
 
                  
                                          
      
                




                                                                              
                                      
                 
 
                
                                                                           
                                            


                                                                   
                                                                    
 
                                                                      

                                                                       
                      




                                                                            
                                                          


                 

                                                                        
                                                              


                 

                                                                              
                                                   


                 
                                                                         
                                              


                 

                                                                            
                                                                         

                   
 

                                                                            

             


                                                                      

                    






                                                                               
              
 

                                                                          
                  
          
 
                                         
                                                     
 

                                                                          
                               
 
                                                                           
                                                                             
 
                  
                


                                                                        
                                                                                            

                                                                          
                                                        

                 
                                                          

                
                                                 
                                                             
                    
                                                                              
                                                                      
                                                                    




                                                                              
                                   

                 
                                                         

                




                                                                            
                         
                 

                





                                                                              
                             



                                                               

                                                                      


                                                                        







                                                                            
                                       










                                                                
                    
                                                                   
                                                                
                                                                             




                                                                             

                                                    
                                                                  
                            
                                                                   
                                                                          


                                                                 
                                                                 
                                 
 





                                                                          
                                                                          
                                                                        
                                                   

                                 

                 
                   
 
          
 





                                      
                                      



                        
 
                                              
 
           
                                        
                 

                                         




                                                     

                                                       
                                               

               
                                                                         
                                 

























                                                                                                       

                                                                 
                                                                      

                                                                   
                                                                    




                                                                                                      
                    


                                                                    
                                                                        










                                                                            
















                                                                            
                                         
                                                               
                                                              
                                                                   
                                                                    
 
            





                                                                           


                                            

                                                                  

                                                                           


                                                                   
                                                               
                                               




                                                                    

                                                                                 
                       
               
 
            
 
           
                                        



                                                        

                                       
                  
                                                                    



                                                                                                             
 
           
                                      


                                                                        
                          



                          
                                                      
 

                                                                   
                                                     

                           
                                                                     
 

                                                                             
                                                                     
                                                        

                                               

                                                                       

                                                                      

                 
                                     
 




                                                                            
 






                                                                                 
 




                                                                                       

              














































                                                                                                                                                                 


               




                                                                           
               
                  
 

















                                                                                 

              












                                                                                


               





                                                                                


               











                                                                                 
               
 

                  
 

                 
                                          
 


                                                       

              





                                                                             


               


                                                      


               


                                                  


               

                                                                            


               


                                                                         
 



                                                  


               

                                                         

                  
 
            
 
                               
                                                
 

                                
                                         
                  





                                                                         

                                                                         
                                                                  
                                                         
            

                                                                     
 

                    


                                                                           
                                            


                   
                    


                                                                         
                                                                           
                                                                          






                                                                           
                                                                     


                   










                                                                            




                                                                            

                                                               
                                                        

                                                     

                                

                                                                        
                           


                   
                                                                  
                                                                   
                                                                   


                   
                                                                           
                                                              
                                                                            
                                                                          

                     
 
                    












                                                                                                                                 
                                                             
                                                             
















                                                                                                                                 
                                             
 
            
                                                                
                                
             
 
               
                                                                           
                                                                        
                                                                            

                                                                  


                                                                     
                                                 





                                                                          
                                                                           

                                                      

                
 




                                                                               
                          


                                                                                         




                                                                      


                                                                                  
                                                                                  

                                 
                                                      





                                                   
                                                      


                               
                                                    


                      






                                                                     
 


                                                                 
                                                    



                                                
                       



                                                                       















                                                                             
 
              






                                                                          


               












                                                                        
               
 







                                                                                 
 








                                                                          
 































                                                                                  
 
























                                                                                                       
 


                                                                            
 





                                                                           
 
                                                                                                               
 


                                                                              
 
                                                                                                         


                                                                         
                                                              
 
                                    
 
                                                                                                                
 







                                                                            

             

                                                      






                                                                          
                           
              

























                                                                               
            
 
                               
                                                  


                                
                                       
                  




















































































































































































































































                                                                                                                                




























































































































































                                                                                                                                
                                                                            




















































































                                                                                                                               
            
            
 
                                 
                                                    




                                         



                                                                         

                                                             


                                                                   
 
                                                                           
 





                                                                          
 





                                                                               

            

                                                                            

             





                                                                            
            
 
          
 
                              
                                                     
 
                    




                                                                              
 


                                                                             












                                                                              
                    
 
                  
                











                                                                                                 
                           
 

                                                                       
 
                                                                                                                      
 



                                                                     


                 
                                                                      
                                                                          


                                                                     


                 
                                                                        

                                                                            
                                                                 
                                   
 
                                                                                                                  
        

                                                                           
                                   
                 
                
                                                                   
                                                            






                                                                        
                                                                    
                                                                       
                                                                        
            
                
                                                                        

                                                                       

                 

                   
                           
                                         
 
                                                                 
                               
 
                   
                  




                                                                       


                    












                                                                            
                                                            
                                                                








                                                                            
            


                                      
                                                                       
                             

                                                                                                                                    

                                                                           
                                                                          

                                                    








                                                                          
                                                                 
                                      




                                                                          
            


                                  

                                                                     











                                                                                                                                                    
                  


                                                                   

                                                                  





                                                                   
                        

                   

                  



                                                                   
                                                                   

                                                                   

                                          
                                                                              
                                  
                   

                                                                
                                                                  
                                                                 

                                                              

                    
          


          

                     
               
                                        


                                    
                                                            

         
<!--
     The FreeBSD Documentation Project

     The FreeBSD Spanish Documentation Project
     %SOURCE% en_US.ISO8859-1/books/handbook/ports/chapter.sgml
     %SRCID%    1.284

     $FreeBSD$
     $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.2 2004/10/08 21:26:03 jesusr Exp $
-->


<chapter id="ports">
  <title>Instalaci&oacute;n de aplicaciones: &laquo;packages&raquo; y ports</title>

  <sect1 id="ports-synopsis">
    <title>Sinopsis</title>

    <indexterm><primary>ports</primary></indexterm>
    <indexterm><primary>packages</primary></indexterm>

    <para>&os; viene con una excelente colecci&oacute;n de herramientas
      de sistema como parte del sistema base.  A pesar de esto, existe gran 
      cantidad de cosas que uno requiere hacer para poner las cosas realmente en
      marcha, para lo cual se necesita instalar software adicional de 
      terceros. 
      &os; ofrece dos tecnolog&iacute;as complementarias para instalar 
      software de terceros en nuestro sistema: la Colecci&oacute;n de Ports de 
      &os; y &laquo;packages&raquo;(paquetes)  binarios.  Cualquiera de los dos
      sistemas puede usarse para instalar las versiones m&aacute;s recientes,
      de forma local o directamente desde la red.</para>

    <para>Despu&eacute;s de leer este cap&iacute;tulo usted 
      sabr&aacute;:</para>

    <itemizedlist>
      <listitem>
	<para>C&oacute;mo instalar packages binarios de software
	de terceros.</para>
      </listitem>
      <listitem>
	<para>C&oacute;mo compilar software de terceros desde la
	  Colecci&oacute;n de Ports.</para>
      </listitem>
      <listitem>
	<para>C&oacute;mo eliminar packages o ports instalados
	  previamente.</para>
      </listitem>
      <listitem>
        <para>C&oacute;mo sobreescribir los valores por omisi&oacute;n
	  que utiliza la colecci&oacute;n de ports.</para>
      </listitem>
      <listitem>
        <para>C&oacute;mo encontrar la aplicaci&oacute;n adecuada.</para>
      </listitem>
      <listitem>
        <para>C&oacute;mo actualizar aplicaciones.</para>
      </listitem>

    </itemizedlist>
  </sect1>

  <sect1 id="ports-overview">
    <title>Aproximaci&oacute;n a la instalaci&oacute;n de software</title>

    <para>Si ha usado un sistema &unix; con anterioridad sabr&aacute; que el
      procedimiento t&iacute;pico para instalar software de terceros es algo
      similar a esto:</para>

    <procedure>
      <step>
	<para>Descargar el software, que puede distribuirse en formato de
	  c&oacute;digo fuente o binario.</para>
      </step>

      <step>
	<para>Desempaquetar el software de su formato de distribuci&oacute;n
	  (normalmente en un &laquo;tarball&raquo; comprimido con &man.compress.1;,
	  &man.gzip.1; o &man.bzip2.1;).</para>
      </step>

      <step>
	<para>Consultar la documentaci&oacute;n (quiz&aacute;s un fichero
	  <filename>INSTALL</filename> o
	  <filename>README</filename>, o los ficheros del subdirectorio
	  <filename>doc/</filename>) para ver como instalar el software.</para>
      </step>

      <step>
<<<<<<< chapter.sgml
	<para>Si el software se distribuye como fuente, compilarlo.  Esto
	  puede requerir que editemos el fichero <filename>Makefile</filename>
	  o que ejecutemos el &laquo;script&raquo;
=======
	<para>Si el software se distribuye como fuente, compilarlo.  Esto
	  puede requerir que editemos el fichero <filename>Makefile</filename>
	  o que ejecutemos el &laquo;script&raquo;
>>>>>>> 1.12
	  <command>configure</command>, entre otras cosas.</para>
      </step>

      <step>
	<para>Instalar y probar el software.</para>
      </step>
    </procedure>

    <para>Y esto solamente si todo marcha bien.  Si est&aacute; instalando un
      software que no ha sido portado espec&iacute;ficamente para &os;, puede
      que sea necesario editar el c&oacute;digo para que funcione
      correctamente.
      </para>

<<<<<<< chapter.sgml
    <para>Si lo desea puede continuar instalando software de la forma
      &laquo;tradicional&raquo; en &os;, aunque &os; dispone de
=======
    <para>Si lo desea puede continuar instalando software de la forma
      &laquo;tradicional&raquo; en &os;, aunque &os; dispone de
>>>>>>> 1.12
      dos tecnolog&iacute;s que le pueden ahorrar gran cantidad de tiempo y
      esfuerzo: los packages y los ports.  En el momento de escribir esto
      existen m&aacute;s de &os.numports; aplicaciones de terceros.</para>

    <para>En cualquier aplicaci&oacute;n el paquete de &os;
      es un solo fichero que tiene que descargar.  Los paquetes contienen
      copia de los programas binarios precompilados de la aplicaci&oacute;n,
      as&iacute; como cualquier fichero de configuraci&oacute;n o
      documentaci&oacute;n.  Los paquetes descargados se pueden
      manipular con las herramientas de gesti&oacute;n de paquetes de &os;:
      &man.pkg.add.1;, &man.pkg.delete.1;,
      &man.pkg.info.1;, etc.  Instalar una aplicaci&oacute;n nueva puede
      realizarse con una sola orden.</para>

    <para>Un port de &os; es una colecci&oacute;n de ficheros
      dise&ntilde;ada para automatizar el proceso de
      compilaci&oacute;n desde el c&oacute;digo fuente.</para>

    <para>Recuerde que existen ciertos pasos que deber&aacute; llevar a cabo
      para compilar un programa por usted mismo (descargar,
      desempaquetar, parchear, compilar e instalar).  Los ficheros que
      conforman un port permiten que el sistema se encargue de todo esto.  
      Usted ejecuta un conjunto simple de &oacute;rdenes
      y el c&oacute;digo fuente se descarga, desempaqueta, parchea,
      compila e instala.</para>

    <para>De hecho el sistema de ports tambi&eacute;n se puede usar para crear
      paquetes que posteriormente se pueden manipular con
      <command>pkg_add</command> y las
      dem&aacute;s utilidades de gesti&oacute;n de packages que veremos en
      breve.</para>

    <para>Tanto el sistema de ports como el de paquetes entienden las
      <emphasis>dependencias</emphasis>.  Suponga que desea instalar una
      aplicaci&oacute;n que depende de que una biblioteca
      espec&iacute;fica est&eacute; instalada.  Tanto la biblioteca como la
      aplicaci&oacute;n existen en &os; como paquete o port.  Si utiliza
      <command>pkg_add</command> o el sistema de ports para instalar
      la aplicaci&oacute;n ambos notar&aacute;n que la biblioteca no
      est&aacute; instalada y proceder&aacute;n a instalarla antes que
      nada.</para>

    <para>Dado que ambas tecnolog&iacute;s son similares quiz&aacute;s se
      pregunte por qu&eacute; &os; se toma la molest&iacute;a de contar con
      ambas.  Los Packages y los Ports tienen sus propias ventajas,
      as&iacute; que cu&aacute;l utilizar depender&aacute; de su
      elecci&oacute;n en cada momento.</para>

    <itemizedlist>
      <title>Ventajas de los Paquetes</title>
      
      <listitem>
	<para>El fichero tarball de un package es normalmente m&aacute;s
	  peque&ntilde;o que el tarball con el c&oacute;digo fuente de
	  la aplicaci&oacute;n.</para>
      </listitem>

      <listitem>
	<para>Los paquetes no requieren compilaci&oacute;n.  
	  En el caso de aplicaciones grandes, como
	  <application>Mozilla</application>,
	  <application>KDE</application>, o
	  <application>GNOME</application> este detalle puede ser importante,
	  especialmente si usa un equipo lento.</para>
      </listitem>

      <listitem>
	<para>Los paquetes no requieren que comprenda el proceso que envuelve
	  el compilar software bajo &os;.</para>
      </listitem>
    </itemizedlist>

    <itemizedlist>
      <title>Ventajas de los Ports</title>
      
      <listitem>
	<para>Normalmente los paquetes se compilan con opciones conservadoras,
	  en virtud del gran n&uacute;mero de equipos donde se
	  instalar&aacute;n.  Al instalar como port puede usted editar las
	  preferencias para (por ejemplo) generar c&oacute;digo
	  espec&iacute;fico para un procesador
	  Pentium IV o Athlon.</para> 
      </listitem>

      <listitem>
	<para>Algunas aplicaciones tienen opciones sobre lo que pueden y lo
	  que no pueden hacer.  Por ejemplo 
	  <application>Apache</application> se puede configurar con
	  una gran variedad de opciones.  Al compilarlo desde los
	  ports usted no tiene por que aceptar las opciones
	  predefinidas, puede seleccionar que opciones desea.</para>

	<para>En algunos casos existen varios paquetes para la misma  
	  aplicaci&oacute;n con diferentes opciones.  Por ejemplo,
	  <application>Ghostscript</application> est&aacute; disponible
	  como paquete
	  <filename>ghostscript</filename> y como paquete
	  <filename>ghostscript-nox11</filename>, dependiendo de si usted
	  cuenta o no con servidor X11.  En este caso decidir puede ser
	  sencillo e incluso pueden facilitarse packages con ambas opciones,
	  pero elegir se puede volver un problema si hay m&aacute;s de
	  una o dos opciones de compilaci&oacute;n.</para>
      </listitem>

      <listitem>
	<para>Las condiciones de la licencia de algunas aplicaciones
	  prohiben la distribuci&oacute;n de binarios.  Solo permiten la
	  distribuci&oacute;n del c&oacute;digo fuente.</para>
      </listitem>

      <listitem>
	<para>Existe gente que no conf&iacute;a en los binarios.  Al
	  menos puede usted (en teor&iacute;a) revisar el c&oacute;digo fuente
	  y localizar problemas potenciales.</para>
      </listitem>

      <listitem>
	<para>Si tiene parches locales necesitar&aacute; el c&oacute;digo
	  fuente para poder aplicarlos.</para>
      </listitem>

      <listitem>
	<para>Hay gente a la que le gusta tener el c&oacute;digo fuente para
	  poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas
	  (cuando la licencia lo permite, claro est&aacute;), etc.</para>
      </listitem>
    </itemizedlist>

    <para>Para tener constancia de los ports actualizados, suscr&iacute;base
      a la &a.ports; y a la &a.ports-bugs;.</para>

    <warning>
      <para>&nbsp;Antes de instalar cualquier aplicaci&oacute;n
        consulte <ulink url="http://vuxml.freebsd.org"></ulink> para
        comprobar los posibles problemas de seguridad relacionados con
	ella.</para>

      <para>Tambi&eacute;n puede instalar <filename
        role="package">security/portaudit</filename> que autom&aacute;ticamente
        comprobar&aacute; las vulnerabilidades conocidas de todas las
        aplicaciones instaladas; tambi&eacute;n lo comprobar&aacute; antes de
        compilar cualquier port.  Mientras tanto, puede usar
        <command>portaudit -F -a</command> despu&eacute;s de instalar
        algunos packages.</para>
    </warning>

    <para>El resto de este cap&iacute;tulo le explicar&aacute; c&oacute;mo
      usar los ports y los packages para instalar software de terceros en
      &os;.</para>
  </sect1>

  <sect1 id="ports-finding-applications">
    <title>C&oacute;mo encontrar aplicaciones</title>

    <para>Antes de poder instalar cualquier software debe saber qu&eacute;
      es lo que quiere instalar y c&oacute;mo se llama la
      aplicaci&oacute;n.</para>

    <para>La lista de software disponible para &os; crece constantemente.  
      Afortunadamente existen varias formas de localizar lo que busca:</para>

    <itemizedlist>
      <listitem>
	<para>El sitio web de &os; mantiene una lista (actualizada y que
	  admite b&uacute;squedas) de todas las
	  aplicaciones disponibles para &os; en la direcci&oacute;n
	  <ulink url="http://www.freebsd.org/ports/index.html">http://www.FreeBSD.org/ports/
	  </ulink>.  Esta base esta dividida en categor&iacute;as, y puede
	  buscar por nombre (si lo sabe) o bien listar las aplicaciones
	  disponibles en cierta categor&iacute;a.</para>
      </listitem>

      <indexterm><primary>FreshPorts</primary></indexterm>

      <listitem>
	<para>Dan Langille mantiene FreshPorts en
	  <ulink url="http://www.FreshPorts.org/"></ulink>.  
<<<<<<< chapter.sgml
	  FreshPorts verifica los cambios en las aplicaciones del &aacute;rbol
	  de ports, y le permite &laquo;seguir&raquo; uno o m&aacute;s
	  ports, sobre los que le enviar&aacute;n un correo cada vez
=======
	  FreshPorts verifica los cambios en las aplicaciones del &aacute;rbol
	  de ports, y le permite &laquo;seguir&raquo; uno o m&aacute;s
	  ports, sobre los que le enviar&aacute;n un correo cada vez
>>>>>>> 1.12
	  que se actualicen.</para>
      </listitem>

      <indexterm><primary>FreshMeat</primary></indexterm>

      <listitem>
	<para>Si no conoce el nombre de la aplicaci&oacute;n que desea
	  pruebe a usar un sitio como FreshMeat (<ulink 
	  url="http://www.freshmeat.net/">http://www.freshmeat.net/</ulink>)
	  para encontrar una aplicaci&oacute;n; despu&eacute;s consulte
	  el sitio web de &os; para ver si la aplicaci&oacute;n ha sido
	  portada.</para>
      </listitem>

      <listitem>
	<para>Si sabe el nombre exacto del port y solo necesita saber
          en qu&eacute; categoria est&aacute; puede usar
          &man.whereis.1;.  Simplemente escriba <command>whereis
          <replaceable>fichero</replaceable></command>, donde
          <replaceable>fichero</replaceable> es el programa que quiera
          instalar.  Si est&aacute; en su sistema, le dir&aacute; d&oacute;nde
          est&aacute;:</para>

      <screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>

      <para>Esto nos dice que <command>lsof</command> (una utilidad de
	sistema) est&aacute; en el directorio
	<filename>/usr/ports/sysutils/lsof</filename>.</para></listitem>

      <listitem>
	<para>Otra forma de encontrar un port en particular es usando
        el mecanismo de b&uacute;squeda integrado en la colecci&oacute;n de
        ports.  Para poder usar esta opci&oacute;n de b&uacute;squeda
        debe estar en el directorio <filename>/usr/ports</filename>.  Una
        vez en ese directorio ejecute <command>make search
        name=<replaceable>nombre-del-programa</replaceable></command>, donde
        <replaceable>nombre-del-programa</replaceable> es el nombre
        del programa que desea encontrar.  Por ejemplo, si busca
        <command>lsof</command>:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
Port:   lsof-4.56.4
Path:   /usr/ports/sysutils/lsof
Info:   Lists information about open files (similar to fstat(1))
Maint:  obrien@FreeBSD.org
Index:  sysutils
B-deps: 
R-deps: </screen>

<<<<<<< chapter.sgml
      <para>Debe prestar especial atenci&oacute;n a la l&iacute;nea
        &laquo;Path:&raquo;de la salida, porque es la que indica
        d&oacute;nde puede encontrar el port.  El resto de informaci&oacute;n
=======
      <para>Debe prestar especial atenci&oacute;n a la l&iacute;nea
        &laquo;Path:&raquo;de la salida, porque es la que indica
        d&oacute;nde puede encontrar el port.  El resto de informaci&oacute;n
>>>>>>> 1.12
        no se necesita para instalar el port.</para>

      <para>Si quiere hacer una b&uacute,squeda m&aacute;s a fondo
       utilice <command>make
       search key=<replaceable>cadena</replaceable></command> donde
       <replaceable>cadena</replaceable> es el t&eacute;rmino que busca.  
       Podr&aacute; buscar nombres de ports, comentarios,
       descripciones y dependencias; tambi&eacute;n se puede usar
       para encontrar ports que tengan relaci&oacute;n con
       alg&uacute;n tema en particular si no conoce el nombre del
       programa que busca.</para>

<<<<<<< chapter.sgml
      <para>En ambos casos la cadena de b&uacute;squeda no distingue entre
       may&uacute;sculas y min&uacute;sculas.  Buscar &laquo;LSOF&raquo;
       dar&aacute; los mismos resultados que buscar
       &laquo;lsof&raquo;.</para>
=======
      <para>En ambos casos la cadena de b&uacute;squeda no distingue entre
       may&uacute;sculas y min&uacute;sculas.  Buscar &laquo;LSOF&raquo;
       dar&aacute; los mismos resultados que buscar
       &laquo;lsof&raquo;.</para>
>>>>>>> 1.12
      </listitem>

    </itemizedlist>

  </sect1>

  <sect1 id="packages-using">
    <sect1info>    
      <authorgroup>
        <author>
          <firstname>Chern</firstname>
	  <surname>Lee</surname>
	  <contrib>Texto de </contrib>
        </author>
      </authorgroup>
    <!-- 30 Mar 2001 -->
    </sect1info>

    <title>Uso del sistema de packages</title>

    <sect2>
      <title>Instalar un package</title>
      <indexterm>
        <primary>packages</primary>
        <secondary>installing</secondary>
      </indexterm>
    
      <indexterm>
        <primary><command>pkg_add</command></primary>
      </indexterm>
      <para>Puede usar &man.pkg.add.1; para instalar un
      package de &os; desde un fichero local o desde
      un servidor remoto v&iacute;a red.</para>

      <example>
        <title>Descarga de un paquete manualmente e instalaci&oacute;n en
	  nuestro sistema</title>

        <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
250 CWD command successful.
<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput>
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
<prompt>ftp></prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
      </example>

      <para>Si no tiene una fuente local de packages (por ejemplo
        un CDROM de &os;) probablemente la mejor
        opci&oacute;n sea utilizar el argumento <option>-r</option> de
        &man.pkg.add.1;, que har&aacute; que determine
        autom&aacute;ticamente el formato del objeto correcto, para
        posteriormente descargarlo e instalarlo desde un FTP.</para>

      <indexterm>
        <primary><command>pkg_add</command></primary></indexterm>
      <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>

<<<<<<< chapter.sgml
      <para>En el ejemplo anterior el package correspondiente se
        descargar&aacute; e instalar&aacute; sin intervenci&oacute;n
        del usuario.  Si desea utilizar una r&eacute;plica
	(&laquo;mirror&raquo;) de packages que no sea el sitio principal
        de &os; solo tiene configurar la variable de entorno
        <envar>PACKAGESITE</envar> correctamente para
        sobreescribir el sitio predefinido.  &man.pkg.add.1; utiliza
        &man.fetch.1; para descargar los ficheros, tomando como
        referencia varias variables de entorno, como
        <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> y
        <envar>FTP_PASSWORD</envar>.  Quiz&aacute;s deba modificar alguna de
        estas si se encuentra detr&aacute;s de un cortafuegos, o usa un
        proxy FTP/HTTP.  Consulte &man.fetch.3; si quiere ver una lista
        completa.  Observe tambi&eacute;n que en el ejemplo anterior
        usamos <literal>lsof</literal> en vez de
=======
      <para>En el ejemplo anterior el package correspondiente se
        descargar&aacute; e instalar&aacute; sin intervenci&oacute;n
        del usuario.  Si desea utilizar una r&eacute;plica
	(&laquo;mirror&raquo;) de packages que no sea el sitio principal
        de &os; solo tiene configurar la variable de entorno
        <envar>PACKAGESITE</envar> correctamente para
        sobreescribir el sitio predefinido.  &man.pkg.add.1; utiliza
        &man.fetch.1; para descargar los ficheros, tomando como
        referencia varias variables de entorno, como
        <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> y
        <envar>FTP_PASSWORD</envar>.  Quiz&aacute;s deba modificar alguna de
        estas si se encuentra detr&aacute;s de un cortafuegos, o usa un
        proxy FTP/HTTP.  Consulte &man.fetch.3; si quiere ver una lista
        completa.  Observe tambi&eacute;n que en el ejemplo anterior
        usamos <literal>lsof</literal> en vez de
>>>>>>> 1.12
	<literal>lsof-4.56.4</literal>.  
        Cuando usamos la opci&oacute;n de descarga remota no es
        necesario especificar la versi&oacute;n del paquete.  
        &man.pkg.add.1; descargar&aacute; autom&aacute;ticamente la
        &uacute;ltima versi&oacute;n de la aplicaci&oacute;n.</para>

      <note>
	<para>&man.pkg.add.1; descargar&aacute; la &uacute;ltima
	  versi&oacute;n de su aplicaci&oacute;n si usa &os.current; o
	  &os.stable;, pero si usa una versi&oacute;n -RELEASE,
	  descargar&aacute; la versi&oacute;n del package que se
	  construy&oacute; con dicha versi&oacute;n.  Es posible configurar
	  esto sobreescribiendo la variable de entorno
	  <envar>PACKAGESITE</envar>.</para>
      </note>

      <para>Los packages se destribuyen en formatos
          <filename>.tgz</filename> y <filename>.tbz</filename>.  
          Puede encontrarlos en <ulink
          url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>,
          o en la distribuci&oacute;n de &os; en CD-ROM.  Todos los
          CDs en el set de 4 CDs de &os; (y en el PowerPak, etc.)
          contienen packages en el directorio
          <filename>/packages</filename>.  La estructura de los
          packages es similar a la del arbol de
          <filename>/usr/ports</filename>.  Cada categor&iacute;a
          tiene su propio directorio, y todos los paquetes se pueden
          encontrar dentro del directorio <filename>All</filename>.
      </para>

      <para>La estructura del directorio de packageckages es id&eacute;ntica a la
        de los ports, y funcionan como un todo para conformar el sistema de
        paquetes/ports.
        </para>

    </sect2>

    <sect2>
      <title>Eliminar un package</title>
      <indexterm>
        <primary><command>pkg_delete</command></primary>
      </indexterm>
      <indexterm>
        <primary>packages</primary>
        <secondary>deleting</secondary>
      </indexterm>
      <para>Para eliminar un package instalado en el sistema utilice
	    &man.pkg.delete.1;.</para>

      <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
    </sect2>

    <sect2>
      <title>Miscel&aacute;nea</title>
      <para>Toda la informaci&oacute;n de los packages se guarda en
        <filename>/var/db/pkg</filename>.  Ah&iacute;l encontrar&aacute;
        la lista completa de paquetes instalados y las descripciones de
	los mismos.</para>
    </sect2>
  </sect1>
  
  <sect1 id="ports-using">
    <title>Uso de la colecci&oacute;n de ports</title>

    <para>La siguiente secci&oacute;n incluye las instrucciones
      b&aacute;sicas para instalar o eliminar programas mediante la
      Colecci&oacute;n de Ports de su sistema.</para>

    <sect2 id="ports-tree">
      <title>C&oacute;mo obtener la Colecci&oacute;n de Ports</title>

      <para>Para poder instalar ports primero debe hacerse, obviamente, con
        la Colecci&oacute;n de Ports&mdash;; en esencia est&aacute; compuesta
        por <filename>Makefiles</filename>, parches y ficheros con la
        descripci&oacute;n de los ports y est&aacute; en
        <filename>/usr/ports</filename>.</para>

      <para>Cuando instal&oacute; su sistema &os; el programa
	    <application>sysinstall</application> le pregunt&oacute; si
	    quer&iacute; instalar la Colecci&oacute;n de Ports.  
	    Si contest&oacute; que no siga estas instrucciones:</para>

      <procedure>
	<title>Mediante CVSup</title>

	<para>Este es un m&eacute;todo r&aacute;pido de conseguir y
	  mantener una copia de la Colecci&oacute;n de Ports al dia mediante
	  el protocolo <application>CVSup</application>.  Si quiere saber
	  m&aacute;s sobre <application>CVSup</application> consulte <link
	    linkend="cvsup">Uso de CVSup</link>.</para>

	<note>
	  <para>La implementaci&oacute;n del protocolo
	    <application>CVSup</application> que se incluye en &os; se llama
	    <application>csup</application>.  Apareci&oacute; en &os;&nbsp;6.2.  
	    Los usuarios de releases anteriores de &os; puden instalar <filename
	      role="package">net/csup</filename> como port o package.</para>
	</note>

	<para>Aseg&uacute;rese de que <filename class="directory">/usr/ports</filename>
	  est&aacute; vac&iacute;o antes de ejecutar <application>csup</application>
	  por primera vez.  Si ya tiene la Colecci&oacute;n de Ports porque la
	  ha instalado por otros medios  <application>csup</application>
	  no purgar&aacute; los parches de ports eliminados.</para>

	<step>
	  <para>Ejecute <command>csup</command>:</para>

	  <screen>&prompt.root; <userinput>csup -L 2 -h <replaceable>cvsup.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen>

	  <para>Cambie
	    <replaceable>cvsup.FreeBSD.org</replaceable> por alg&uacute;n
	    otro servidor <application>CVSup</application> que tenga cerca.  
	    Consulte <link linkend="cvsup-mirrors">R&eacute;plicas CVSup</link> (<xref
	    linkend="cvsup-mirrors">), donde encontrar&aacute; una lista
	    completa de las r&eacute;plicas CVSup.</para>

	  <note>
	    <para>Puede usar una versi&oacute;n de
	      <filename>ports-supfile</filename> confeccionada a su gusto,
	      por ejemplo para evitar tener que indicarle el nombre del
	      servidor <application>CVSup</application> a mano.</para>

	    <procedure>
	      <step>
		<para>Haga lo siguiente: como <username>root</username> copie
		  <filename>/usr/share/examples/cvsup/ports-supfile</filename>
		  en otro sitio, por ejemplo
		  <filename>/root</filename> o su directorio /home.</para>
	      </step>

	      <step>
		<para>Edite <filename>ports-supfile</filename>.</para>
	      </step>

	      <step>
		<para>Reemplace
		  <replaceable>CHANGE_THIS.FreeBSD.org</replaceable>
		  por un servidor <application>CVSup</application> que
		  est&eacute; cerca de donde est&eacute; usted.  Consulte
		  <link linkend="cvsup-mirrors">R&eacute;plicas
		  CVSup</link> (<xref linkend="cvsup-mirrors">) si necesita
		  ver una lista completa de las mismas.</para>
	      </step>

	      <step>
		<para>Ejecute <command>csup</command>del siguiente
		  modo:</para>

		<screen>&prompt.root; <userinput>csup -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen>
	      </step>
	    </procedure>
	  </note>
	</step>

	<step>
	  <para>Al ejecutar &man.csup.1; descargar&aacute; y
	    aplicar&aacute; todos los cambios recientes que haya sufrido
	    la Colecci&oacute;n de Ports, pero tenga en cuenta que no
	    actualizar&aacute; ninguno de los ports que ya tenga instalados
	    en su sistema.</para>
	</step>
      </procedure>

      <procedure>
	<title>Mediante portsnap</title>

	<para><application>Portsnap</application> es un m&eacute;todo
	   alternativo de distribuir la Colecci&oacute;n de Ports.  Se
	   incluy&oacute; por primera vez en &os;&nbsp;6.0.  Puede
	   instalar &man.portsnap.8; en versiones anteriores de &os;
	   como port (<filename
	    role="package">ports-mgmt/portsnap</filename>) o como
	    package:</para>

	<screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>

	<para>En
	  <link linkend="updating-portsnap">uso de portsnap</link>
	  encontrar&aacute; detallado el funcionamiento de
	  <application>Portsnap</application>
	  features.</para>

	<step>
	  <para>Puede saltarse esta paso a partir de &os;&nbsp;6.1-RELEASE
	    y en versiones recientes de
	    <application>Portsnap</application> (port o package).  
	    <filename
	    class="directory">/usr/ports</filename> se crear&aacute;
	    autom&aacute;ticamente la primera vez que ejecute 
	    &man.portsnap.8;.  En versiones anteriores de
	    <application>portsnap</application> hab&iacute;a que crear
	    un <filename
	      class="directory">/usr/ports</filename> vac&iacute;o si
	    no exist&iacute;a previamente:</para>

	  <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput></screen>
	</step>

	<step>
	  <para>Descargue una instant&aacute;nea comprimida de la
	    Colecci&oacute;n de Ports en
	    <filename class="directory">/var/db/portsnap</filename>.  Hecho esto
	    puede desconectar de Internet si quiere.</para>

	  <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
	</step>

	<step>
	  <para>Si est&aacute; ejecutando <application>Portsnap</application> por
	    vez primera debe extraer la instant&aacute;nea en <filename
	    class="directory">/usr/ports</filename>:
	  </para>

	  <screen>&prompt.root; <userinput>portsnap extract</userinput></screen>

	  <para>Si ya tiene un <filename
	    class="directory">/usr/ports</filename> y solamente est&aacute;
	    actualizando su &aacute;rbol de ports ejecute lo siguiente:</para>

	  <screen>&prompt.root; <userinput>portsnap update</userinput></screen>
	</step>

      </procedure>



      <procedure>
	<title>Mediante Sysinstall</title>

	<para>Este m&eacute;todo implica el uso de
	  <application>sysinstall</application> para
	  instalar la Colecci&oacute;n de Ports.</para>

	<step>
	  <para>Como usuario <username>root</username> ejecute
	    <command>sysinstall</command>
	    (<command>/stand/sysinstall</command> en cualquier versi&oacute;n
	    previa a &os;&nbsp;5.2); del siguiente modo:</para>

	  <screen>&prompt.root; <userinput>sysinstall</userinput></screen>
	</step>

	<step>
	  <para>Posici&oacute;nese en la opci&oacute;n
	    <guimenuitem>Configure</guimenuitem>
	    y pulse <keycap>Intro</keycap>.</para>
	</step>

	<step>
	  <para>Seleccione la opci&oacute;n
	  <guimenuitem>Distributions</guimenuitem>
	  y pulse <keycap>Intro</keycap>.</para>
	</step>

	<step>
	  <para>Seleccione la opci&oacute;n <guimenuitem>ports</guimenuitem>
	    y pulse la <keycap>barra espaciadora</keycap>.</para>
	</step>

	<step>
	  <para>Seleccione el medio de instalaci&oacute;n deseado (CDROM,
	    FTP, etc.)</para>
	</step>

	<step>
	  <para>Dir&iacute;jase a la opci&oacute;n
	    <guimenuitem>Exit</guimenuitem> y
	    pulse <keycap>Intro</keycap>.</para>
	</step>

	<step>
	  <para>Pulse <keycap>X</keycap> para salir de
            <application>sysinstall</application>.</para>
	</step>
      </procedure>

    </sect2>

    <sect2 id="ports-skeleton">
      <title>Instalaci&oacute;n de ports</title>

      <indexterm>
        <primary>ports</primary>
        <secondary>installing</secondary>
      </indexterm>
<<<<<<< chapter.sgml
      <para>Al hablar de la Colecci&oacute;n de Ports lo primero que
        hay que explicar es a qu&eacute; nos referimos cuando hablamos de
        un &laquo;esqueleto&raquo; (skeleton).  El esqueleto de un
	port es un conjunto m&iacute;nimo de ficheros que
=======
      <para>Al hablar de la Colecci&oacute;n de Ports lo primero que
        hay que explicar es a qu&eacute; nos referimos cuando hablamos de
        un &laquo;esqueleto&raquo; (skeleton).  El esqueleto de un
	port es un conjunto m&iacute;nimo de ficheros que
>>>>>>> 1.12
	indican a &os; c&oacute;mo compilar e instalar un programa.  
        Cada esqueleto incluye:</para>

      <itemizedlist>
	<listitem>
	  <para>Un <filename>Makefile</filename>.  Este
	    <filename>Makefile</filename> contiene diversas sentencias
	    que le indican al sistema c&oacute;mo compilarlo y d&oacute;nde
	    instalarlo en su sistema.</para>
	</listitem>

	<listitem>
<<<<<<< chapter.sgml
	  <para>Un fichero <filename>distinfo</filename>.  Este fichero
	    contiene informaci&oacute;n sobre los ficheros que se debe 
	    descargar para poder compilar el programa, as&iacute; como el
	    identificador &laquo;checksum&raquo;, que se usa para comprobar
	    mediante &man.md5.1; que la descarga ha sido correcta y que el
=======
	  <para>Un fichero <filename>distinfo</filename>.  Este fichero
	    contiene informaci&oacute;n sobre los ficheros que se debe 
	    descargar para poder compilar el programa, as&iacute; como el
	    identificador &laquo;checksum&raquo;, que se usa para comprobar
	    mediante &man.md5.1; que la descarga ha sido correcta y que el
>>>>>>> 1.12
	    la integridad del fichero est&aacute; garantizada.</para>
	</listitem>
	
	<listitem>
<<<<<<< chapter.sgml
	  <para>Un directorio <filename>files</filename>.  Este directorio
	    contiene  los parches necesarios para compilar e instalar
	    el programa en su sistema &os;.  B&aacute;sicamente los parches
	    son peque&ntilde;os ficheros que especifican cambios en ficheros
	    concretos.  Su formato es en texto plano y suelen decir cosas
	    como &laquo;borra la l&iacute;nea 10&raquo; o
	    &laquo;Cambia la l&iacute;nea 26 por esto&raquo;.  
	    Estos parches tambi&eacute;n se conocen como
	    &laquo;diffs&raquo; ya que se generan con
=======
	  <para>Un directorio <filename>files</filename>.  Este directorio
	    contiene  los parches necesarios para compilar e instalar
	    el programa en su sistema &os;.  B&aacute;sicamente los parches
	    son peque&ntilde;os ficheros que especifican cambios en ficheros
	    concretos.  Su formato es en texto plano y suelen decir cosas
	    como &laquo;borra la l&iacute;nea 10&raquo; o
	    &laquo;Cambia la l&iacute;nea 26 por esto&raquo;.  
	    Estos parches tambi&eacute;n se conocen como
	    &laquo;diffs&raquo; ya que se generan con
>>>>>>> 1.12
	    &man.diff.1;.</para>

	  <para>Es posible que este directorio tambi&eacute; contenga
	    alg&uacute;n otro fichero necesario para compilar e instalar
	    el port.</para>
	</listitem>

	<listitem>
	  <para>Un fichero <filename>pkg-descr</filename>.  Es una
	    descripci&oacute;n m&aacute;s detallada del programa.  
	    En algunas ocasiones ocupa varias l&iacute;neas.</para>
	</listitem>
	
	<listitem>
	  <para>Un fichero <filename>pkg-plist</filename>.  Es una lista de
	    todos los ficheros que instalar&aacute; el port.  
	    Tambi&eacute;n le indica al sistema de ports qu&eacute; ficheros
	    eliminar durante la desinstalaci&oacute;n del programa.</para>
	</listitem>
      </itemizedlist>

<<<<<<< chapter.sgml
      <para>Algunos ports tienen otros ficheros, como
        <filename>pkg-message</filename>.  El sistema de ports los usa para
        gestionar situaciones especiales.  Si desea conocer los detalles,
        incluso sobre los ports en general, consulte el libro <ulink
	url="http://www.FreeBSD.org/doc/en_EN.ISO8859-1/books/porters-handbook/index.html">&os; Porter's Handbook</ulink>.</para>

      <para>El port incluye las instrucciones necesarias para obtener
        software a partir del c&oacute;digo fuente, pero no incluye el
        c&oacute;digo.  Puede obtener el c&oacute;digo desde un CDROM
        o desde Internet.  El c&oacute;digo se distribuye del modo
        que el autor estime oportuno.  Normalmente es un fichero tar
        comprimido con gzip, pero puede comprimirse con otra herramienta o
        incluso no estar comprimido.  El c&oacute;digo del programa,
        venga como venga, se llama &laquo;distfile&raquo;.  A
	continuaci&oacute;n veremos los dos m&eacute;todos de
=======
      <para>Algunos ports tienen otros ficheros, como
        <filename>pkg-message</filename>.  El sistema de ports los usa para
        gestionar situaciones especiales.  Si desea conocer los detalles,
        incluso sobre los ports en general, consulte el libro <ulink
	url="http://www.FreeBSD.org/doc/en_EN.ISO8859-1/books/porters-handbook/index.html">&os; Porter's Handbook</ulink>.</para>

      <para>El port incluye las instrucciones necesarias para obtener
        software a partir del c&oacute;digo fuente, pero no incluye el
        c&oacute;digo.  Puede obtener el c&oacute;digo desde un CDROM
        o desde Internet.  El c&oacute;digo se distribuye del modo
        que el autor estime oportuno.  Normalmente es un fichero tar
        comprimido con gzip, pero puede comprimirse con otra herramienta o
        incluso no estar comprimido.  El c&oacute;digo del programa,
        venga como venga, se llama &laquo;distfile&raquo;.  A
	continuaci&oacute;n veremos los dos m&eacute;todos de
>>>>>>> 1.12
	instalaci&oacute;n de un port.</para>

      <note>
        <para>Debe ser el usuario <username>root</username> para
          instalar ports.</para>
      </note>

      <warning>
	<para>Antes de instalar cualquier port aseg&uacute;rese de tener la
	  Colecci&oacute;n de Ports actualizada y de comprobar en <ulink
	  url="http://vuxml.freebsd.org/"></ulink> la existencia de posibles
	  problemas de seguridad que pudiera tener el port.</para>

	<para>Puede realizar la comprobaci&oacute;n de seguridad
	  con <application>portaudit</application> antes de instalar
	  cualquier  aplicaci&oacute;n.  Esta herramienta est&aacute;
	  la Colecci&oacute;n de Ports (<filename
	  role="package">security/portaudit</filename>).  Le rogamos
	  que al menos considere ejecutar
	  <command>portaudit -F</command> antes de instalar un port nuevo
	  para que descargue la nueva base de datos de vulnerabilidades.  
	  Durante la comprobaci&oacute;n diaria de seguridad
	  actualizar&aacute; la base de datos y har&aacute; una
	  auditor&iacute;a del sistema.  Para m&aacute;s informaci&oacute;n
	  lea las p&aacute;ginas de man&uacute;al de
	  &man.portaudit.1; y &man.periodic.8;.</para>
      </warning>


      <para>La Colecci&oacute;n de  Ports asume que tiene usted conexi&oacute;n
        con Internet.  Si no es as&iacute; tendr&aacute; que disponer de una
	copia del distfile en <filename>/usr/ports/distfiles</filename>.</para>

	<para>El primer paso es ubicarse en el directorio del port que desea
	  instalar:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>

        <para>Una vez en el directorio <filename>lsof</filename> puede
	  ver el esqueleto del port.  El siguiente paso es compilar el
	  port.  Solamente tiene que teclear
	  typing <command>make</command> en el prompt.  Una vez hecho
	  ver&aacute; algo como esto:</para>

        <screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===&gt;  Extracting for lsof-4.57
...
[La salida de la descompresi&oacute;n se ha eliminado]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt;  Patching for lsof-4.57
===&gt;  Applying FreeBSD patches for lsof-4.57
===&gt;  Configuring for lsof-4.57
...
[La salida de la configuraci&oacute;n se ha eliminado]
...
===&gt;  Building for lsof-4.57
...
[La salida de la compilaci&oacute;n se ha eliminado]
...
&prompt.root;</screen>

        <para>Una vez que acabe la compilaci&oacute;n
	  se le devolver&aacute; el control del prompt.  El siguiente
	  paso es instalar el port.  Para ello bastar&aacute; con que
	  a&ntilde;ada una palabra aa la orden
	  onto the <command>make</command>: esa palabra es
	  <maketarget>install</maketarget>:</para>


        <screen>&prompt.root; <userinput>make install</userinput>
===&gt;  Installing for lsof-4.57
...
[La salida de la instalaci&oacute;n se ha eliminado]
...
===&gt;   Generating temporary packing list
===&gt;   Compressing manual pages for lsof-4.57
===&gt;   Registering installation for lsof-4.57
===&gt;  SECURITY NOTE:
      This port has installed the following binaries which execute with
      increased privileges.
&prompt.root;</screen>

	<para>Una vez que vuelva usted al prompt podr&aacute; ejecutar la
	  aplicaci&oacute;n que acaba de instalar.  Dado que
	  <command>lsof</command> es un programa que se ejecuta con
	  privilegios altos se le ha mostrado una advertencia de
	  seguridad.  Durante la compilaci&oacute;n e instalaci&oacute;n
	  es posible que hayan aparecido otros.</para>

	<para>Le recomendamos que borre el directorio que contiene todos
	  los ficheros temporales necesarios durante la compilaci&oacute;n.  
	  No solo consume valioso espacio en disco sino que puede dar
	  problemas cuando vaya a actualizar el port a una versi&oacute;n
          m&aacute;s reciente.</para>

	<screen>&prompt.root; <userinput>make clean</userinput>
===&gt;  Cleaning for lsof-4.57
&prompt.root;</screen>

        <note>
          <para>Puede ahorrarse teclear dos pasos si para instalar un port
	    teclea <command>make
	    <maketarget>install clean</maketarget></command> en lugar de
	    <command>make</command>,
	    <command>make <maketarget>install</maketarget></command> y
	    <command>make <maketarget>clean</maketarget></command>
	    as three separate steps.</para>
	</note>

	<note>
	  <para>Algunas shells mantienen una cach&eacute; de
	    &oacute;rdenes disponibles en los directorios que aparecen
	    en la variable de entorno
	    <envar>PATH</envar> con el fin de acelerar las operaciones
	    de b&uacute;squeda de ejecutables de esas &oacute;rdenes.  
	    Si usa una de esas shells tendr&aacute; que utilizar la
	    orden <command>rehash</command> tras instalar un port o
	    no podr&aacute; ejecutar aplicaciones reci&eacute;n
	    instaladas.  Esta orden funciona en shells como
	    <command>tcsh</command>.  Utilice <command>hash -r</command>
	    en shells <command>sh</command>.  Para m&aacute;s
	    informaci&oacute;n consulte la documentaci&oacute;n de
	    su shell.</para>
	</note>

	<para>Algunos DVD-ROM de terceros, como el &os; Toolkit
	  de <ulink url="http://www.freebsdmall.com/">&os;
	  Mall</ulink> contienen distfiles. Puede usarlos con la Colecci&oacute;n
	  de Ports.  Monte el DVD-ROM en <filename>/cdrom</filename>.  Si
	  utiliza un punto de montaje diferente asigne a
	  <makevar>CD_MOUNTPTS</makevar> el valor adecuado.  Los
	  distfiles se ir&aacute;n copiando autom&aacute;ticamente
	  a medida que vayan siendo necesarios.</para>

	<note>
	  <para>Por favor, tenga en cuenta que la licencia de unos
	    cuantos ports muy concretos no permite su distribuci&oacute;n
	    en CD-ROM.  Puede deberse a que es necesario rellenar un
	    formulario de registro antes de descargarlo, porque la
	    redistribuci&oacute;n no est&eacute; permitida o por otra
	    raz&oacute;n.  Si quiere instalar un port que no est&aacute;
	    en el CD-ROM tendr&aacute; que tener salida a Internet.</para>
	</note>

	<para>El sistema de ports utiliza &man.fetch.1; para descargar
	  ficheros; en este proceso intervienen varias variables de
	  entorno, como <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>,
	  y <envar>FTP_PASSWORD</envar>.  Si est&aacute; detr&aacute;s de
	  un cortafuegos tendr&aacute; que asignar valores a una o
	  m&aacute;s de estas variables, as&iacute; como si necesita
	  utilizar un proxy FTP/HTTP.  Consulte &man.fetch.3;, donde
	  econtrar&aacute; una lista detallada.</para>

	<para>La opci&oacute;n <command>make
	  <maketarget>fetch</maketarget></command> se cre&oacute; para
	  los usuarios que no disponen de conexi&oacute;n cont&iacute;nua.  
	  Ejecute esta orden en el directorio ra&iacute;z
	  (<filename>/usr/ports</filename>) y se descargar&aacute;n todos
	  los ficheros necesarios.  Esta orden tambi&eacute;n funciona en
	  directorios situados m&aacute;s abajo, por ejemplo
	  <filename>/usr/ports/net</filename>.  Tenga en cuenta que si un
	  port depende de librer&iacute;as u otros ports &eacute;stos
	  distfiles <emphasis>no</emphasis> no se descargar&aacute;n, a
	  menos que reemplace <maketarget>fetch</maketarget> por
	  <maketarget>fetch-recursive</maketarget>, que se encargar&aacute;
	  de descargar todas las dependencias de cada port.</para>

	<note><para>Si quiere compilar todos los ports de una
	  categor&iacute;a y de una sola vez ejecutando la orden
	  <command>make</command> en el directorio ra&iacute;z, de muy
	  similar manera que lo que se acaba de ver con
	  <command>make<maketarget>fetch</maketarget></command>.  Tenga en
	  cuenta que esto es bastante peligroso porque algunos ports no
	  pueden coexistir.  Tambi&eacute;n se dan casos de ports que
	  instalan instalan dos ficheros diferentes con el mismo
	  nombre.</para></note>

	<para>En algunos casos (raros) el usuario tendr&aacute; que
	  descargar los tarball de un sitio que no es el que se guarda
	  en la variable de entorno <makevar>MASTER_SITES</makevar>
	  (el sitio desde el que se descargan todos los dem&aacute;s
	  normalmente).  Puede sobreescribir la opci&oacute;n
	  <makevar>MASTER_SITES</makevar> con la siguiente
	  orden:</para>

	<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>

	<para>In this example we change the
	  <makevar>MASTER_SITES</makevar> option to <hostid
	  role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para>

	<note><para>Algunos ports permiten (o incluso exigen) que se le
	  faciliten opciones de compilaci&oacute;n para activar o desactivar
	  partes de la aplicaci&oacute;n que no se necesiten, determinadas
	  opciones de seguridad, etc.  Casos t&iacute;picos de esto son 
	  <filename role="package">www/mozilla</filename>, <filename
	  role="package">security/gpgme</filename>, and <filename
	  role="package">mail/sylpheed-claws</filename>.  Cuando debe
	  usted tomar este tipo de decisiones se le muestra un mensaje
	  con las opciones disponibles.</para></note>

      
      <sect3>
        <title>Sobreescribir directorios por omisi&oacute;n de ports</title>

	<para>Algunas veces es &uacute;til (u obligatorio) utilizar un
	  directorio de trabajo o un &laquo;target&raquo; distinto al
	  que tenemos por omisi&oacute;n.  Las variables de entorno
	  <makevar>WRKDIRPREFIX</makevar> y <makevar>PREFIX</makevar>
	  pueden sobreescribirse seg&uacute;n nuestra conveniencia.  Veamos
	  un ejemplo:</para>

	<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/ejemplo/ports install</userinput></screen>

	<para>compilar&aacute; el port en 
	    <filename>/usr/home/ejemplo/ports</filename> y lo instalar&aacute;
	    en <filename>/usr/local</filename>.</para>

	<screen>&prompt.root; <userinput>make PREFIX=/usr/home/ejemplo/local install</userinput></screen>

	<para>lo compilar&aacute; en <filename>/usr/ports</filename> y lo
	  instalar&aacute; en
	  <filename>/usr/home/ejemplo/local</filename>.</para>

	<para>Y por supuesto,</para>

	<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>

	<para>combinar&aacute; ambas; (ocupa demasiado para mostrarlo en una
	  p&aacute;gina, pero la idea general queda clara).</para>

	<para>Puede asignar valores a estas variables del mismo modo
	  que a cualquier otra de su entorno.  Consulte la
	  documentaci&oacute;n de su shell para m&aacute;s
	  informaci&oacute;n.</para>
      </sect3>

      <sect3>
	<title>Uso de <command>imake</command></title>

	<para>Algunos ports que usan <command>imake</command>
	  (un componente del Sistema X Window) no funcionan correctamente
	  con <makevar>PREFIX</makevar> e  insistir&aacute;n en instalarse
	  en <filename>/usr/X11R6</filename>.  Del mismo modo
	  algunos ports de Perl ignoran <makevar>PREFIX</makevar> y se
	  instalan en el &aacute;rbol de Perl.  Hacer que estos ports
	  respeten <makevar>PREFIX</makevar> es dif&iacute;cil y a veces
	  imposible.</para>
      </sect3>

      <sect3>
	<title>Reconfigurar ports</title>

	<para>Al compilar ciertos ports se le presentar&aacute; un
	  men&uacute; basado en ncurses en el cual podr&aacute; elegir
	  entre m&aacute;s o menos opciones de compilaci&oacute;n.  No es
	  raro que los usuarios quieran volver a usar ese men&uacute; para
	  a&ntilde;adir, quitar o cambiar opciones una vez que el port ya
	  est&aacute; compilado.  Hay bastantes formas de hacerlo.  Una
	  manera es entrar al directorio que contiene el port y teclear
	  containing the port and type <command>make
	  <maketarget>config</maketarget></command>, que har&aacute; que se
	  le presente de nuevo el men&uacute; con las opciones que estuvieran
	  seleccionadas previamente.  Otra opci&oacute;n es usar la orden
	  <command>make <maketarget>showconfig</maketarget></command>, que
	  le mostrar&aacute; todas las opciones de configuraci&oacute;n del
	  port.  Hay otra opci&oacute;n m&aacute;s, <command>make
	  <maketarget>rmconfig</maketarget></command>, que borrar&aacute;
	  todas las opciones que estuvieran seleccionadas y le permitir&aacute;
	  por tanto empezar desde cero.  Todas estas opciones y muchas
	  m&aacute;s las encontrar&aacute; descritas con gran detalle en
	  &man.ports.7;.</para>
      </sect3>


    </sect2>

    <sect2 id="ports-removing">
      <title>C&oacute;mo desinstalar ports</title>

      <indexterm>
        <primary>ports</primary>
        <secondary>removing</secondary>
      </indexterm>
<<<<<<< chapter.sgml
      <para>Ahora que sabe instalar ports probablemente quiera saber
        c&oacute;mo eliminarlos; puede que haya instalado alguno y
        posteriormente se haya dado cuenta de que ha instalado el port
	incorrecto.  Vamos a desinstalar el port del ejemplo anterior
        (que, para todos aquellos que no estaban atentos,  era
	<command>lsof</command>).  Igual que al instalar ports, lo primero
	que debemos hacer es ubicarnos en el directorio del port que
	deseamos eliminar del sistema, en nuestro caso
	<filename>/usr/ports/sysutils/lsof</filename>.   Los ports se
	desinstalan exactamente igual que los packages; esto se
	explica en la <link
	linkend="packages-using">secci&oacute;N de packages</link>) utilizando
	la orden &man.pkg.delete.1;:</para>

      <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>


    <sect2 id="ports-upgrading">
      <title>Actualizaci&oacute;n de ports</title>

      <indexterm>
	<primary>ports</primary>
	<secondary>upgrading</secondary>
      </indexterm>
      <para>Antes de nada necesita ver una lista de ports instalados de
        los cuales exista una nueva versi&oacute;n en la Colecci&oacute;n
	de Ports.  Utilice &man.pkg.version.1;:</para>

      <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>

      <sect3 id="ports-file-updating">
	<title><filename>/usr/ports/UPDATING</filename></title>

	<para>Una vez actualizada la Colecci&oacute;n de Ports (y
	  <emphasis>antes</emphasis> de intentar actualizar ning&uacute;n
	  port) debe consultar
	  <filename>/usr/ports/UPDATING</filename>.  Este fichero describe
	  todas las novedades, problemas que pueden encontrarse y pasos que
	  deben seguir los usuarios al actualizar un port; hay cambios de
	  formato, cambios de ubicaci&oacute;n de ficheros de
	  configuraci&oacute;n o incompatibilidades con versiones
	  anteriores.</para>

	<para>Si <filename>UPDATING</filename> se contradice de cualquier modo
	  con lo que lea aqu&iacute; tenga muy encuenta que lo que aparezca en
	  <filename>UPDATING</filename> tiene prioridad absoluta.</para>
      </sect3>

      <sect3 id="portupgrade">
	<title>Actualizaci&oacute;n de ports con portupgrade</title>

	<indexterm>
	  <primary>portupgrade</primary>
	</indexterm>

      <para>La aplicaci&oacute;n <application>portupgrade</application>
        se dise&ntilde;&oacute; para actualizar f&aacute;cilmente los ports
	instalados en un sistema.  Puede instalarla desde el port <filename
	role="package">ports-mgmt/portupgrade</filename>.  La
	instalaci&oacute;n es como al de cualquier otro port, use la orden
	<command>make <maketarget>install
	clean</maketarget></command> command:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Compruebe la lista de ports instalados con <command>pkgdb
	-F</command> y arregle todas las inconsistencias que aparezcan.  Le
	recomendamos que haga esta comprobaci&oacute;n de forma regular y
	siempre antes de una actualizaci&oacute;n.</para>

      <para>Si ejecuta <command>portupgrade -a</command>
	<application>portupgrade</application> intentar&aacute; actualizar
	todos y cada uno de los ports instalados en su sistema.  Utilice el
	par&aacute;metro <option>-i</option> si quiere que le pida
	confirmaci&oacute;n antes de actualizar cada uno de los ports.</para>

      <screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>

      <para>Si solamente quiere actualizar una sola aplicaci&oacute;n (y no
        absolutamente todos los ports) utilice la orden <<command>portupgrade
	<replaceable>nombre-de-aplicaci&oacute;n</replaceable></command>.  
	A&ntilde;ada el modificador <option>-R</option> si quiere que
	<application>portupgrade</application> actualice antes todos los
	ports de los que depende la aplicaci&oacute;n en cuesti&oacute;n.</para>

      <screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>

      <para>Si quiere usar packages en lugar de ports use el modificador
	<option>-P</option> flag.  Con esta opci&oacute;n
	<application>portupgrade</application> busca en los directorios
	locales que aparezcan en <envar>PKG_PATH</envar> o descarga los
	packages desde un sitio remoto si es que no los encuentra en
	local.  Si es imposible encontrar los packages ni en local ni en
	remoto<application>portupgrade</application> utilizar&aacute;
	ports.  Si no quiere usar ports pase lo que pase utilice el
	modificador <option>-PP</option>.</para>

      <screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>

      <para>Si quiere solamente descargar los distfiles (o los packages,
	usando <option>-P</option>) sin compilar ni instalar nada,
	use <option>-F</option>.  Para m&aacute;s informaci&oacute;n
	consulte &man.portupgrade.1;.</para>
      </sect3>

      <sect3 id="portmanager">
	<title>Actualizaci&oacute;n de ports con portmanager</title>

	<indexterm>
	  <primary>portmanager</primary>
	</indexterm>

	<para><application>Portmanager</application> es otra aplicaci&oacute;n
	  pensada para la actualizaci&oacute;n sencilla de ports instalados
	  en el sistema.  Puede encontrarla en
	  <filename role="package">ports-mgmt/portmanager</filename>:</para>

	<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmanager</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

	<para>Puede actualizar todos los ports que tenga instalados con
	  una sola orden:</para>

	<screen>&prompt.root; <userinput>portmanager -u</userinput></screen>

	<para>Si usa el modificador <option>-ui</option> se le pedir&aacute;
	  confirmaci&oacute;n a cada paso que <application>Portmanager</application>
	  vaya a dar.  <application>Portmanager</application> tambi&eacute;n
	  puede usarse para instalar nuevos ports.  A diferencia del habitual
	  <command>make <maketarget>install clean</maketarget></command>
	  actualizar&aacute; todos los ports que dependan antes de compilar e 
	  instalar ese port que queramos instalar.</para>

	<screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen>

	<para>Si aparecen problemas con las dependencias del port que quiere
	  instalar puede usar <application>Portmanager</application> para
	  recompilar todos ello en el orden correcto.  Una vez que acabe el
	  port que estaba dando problemas ser&aacute; tambi&eacute;n
	  recompilado.</para>

	<screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen>

	<para>Para m&aacute;s informaci&oacute;n consulte &man.portmanager.1;.</para>
      </sect3>

      <sect3 id="portmaster">
	<title>Actualizaci&oacute;n de ports con portmaster</title>

	<indexterm>
	  <primary>portmaster</primary>
	</indexterm>

	<para><application>Portmaster</application> es otra aplicaci&oacute;n
	  para actualizar ports.  <application>Portmaster</application> se
	  dise&ntilde;&oacute; para que utilizara las herramientas del sistema
	  &laquo;base&raquo; (es decir, no depende de otros ports) y utiliza
	  la informaci&oacute;n que se almacena en el directorio
	  <filename class="directory">/var/db/pkg/</filename> para determinar
	  qu&eacute; port es el que hay que actualizar.  Puede encontrarlo en
	  <filename role="package">ports-mgmt/portmaster</filename>:</para>

	<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmaster</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

	<para><application>Portmaster</application> agrupa los ports en cuatro
	  categor&iacute;as:</para>

	<itemizedlist>
	  <listitem>
	    <para>&laquo;Root ports&raquo; (no tienen dependencias, ning&uacute;n port depende de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Trunk ports&raquo; (no tienen dependencias, otros ports dependen de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Branch ports&raquo; (tienen dependencias, otros ports dependen de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Leaf ports&raquo; (tienen dependencias, ning&uacute;n port depende de ellos)</para>
	    </listitem>
	</itemizedlist>

	<para>Puede ver una lista de los ports instalados y
	  buscar actualizaciones para ellos usando el modificador
	  <option>-L</option> :</para>

<screen>&prompt.root; <userinput>portmaster -L</userinput>
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available
</screen>

	<para>Con la siguiente orden puede actualizar todos los ports
	  del sistema:</para>

	<screen>&prompt.root; <userinput>portmaster -a</userinput></screen>

	<note><para>Por omisi&oacute;n <application>Portmaster</application>
	  guardar&aacute; una copia de seguridad (un package) de cada port
	  antes de borrarlo.  Si la instalaci&oacute;N de la nueva versi&oacute;n
	  funciona <application>Portmaster</application> borrar&aacute; el package.  
	  Si utiliza <option>-b</option> le dir&aacute; a
	  <application>Portmaster</application> que no borre autom&aacute;ticamente
	  el package.  Si usa el modificador <option>-i</option> arrancar&aacute;
	  <application>Portmaster</application> en modo interactivo, lo que significa
	  que le pedir&aacute; confirmaci&oacute;n antes de actualizar cada
	  port.</para></note>

	<para>Si se encuentra con errores durante el proceso de
	  actualizaci&oacute;n puede utilizar el modificador
	  <option>-f</option> para actualizar o recompilar todos
	  los ports:</para>

	<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>

	<para>Tambi&eacute;n puede usar <application>Portmaster</application>para
	  instalar nuevos ports en el sistema, actualizando todas sus dependencias
	  antes de compilar e instalar el nuevo port:</para>

	<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>

	<para>Por favor, consulte &man.portmaster.8; para m&aacute;s
	  informaci&oacute;n.</para>
      </sect3>
=======
      <para>Ahora que sabe instalar ports probablemente quiera saber
        c&oacute;mo eliminarlos; puede que haya instalado alguno y
        posteriormente se haya dado cuenta de que ha instalado el port
	incorrecto.  Vamos a desinstalar el port del ejemplo anterior
        (que, para todos aquellos que no estaban atentos,  era
	<command>lsof</command>).  Igual que al instalar ports, lo primero
	que debemos hacer es ubicarnos en el directorio del port que
	deseamos eliminar del sistema, en nuestro caso
	<filename>/usr/ports/sysutils/lsof</filename>.   Los ports se
	desinstalan exactamente igual que los packages; esto se
	explica en la <link
	linkend="packages-using">secci&oacute;N de packages</link>) utilizando
	la orden &man.pkg.delete.1;:</para>

      <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>


    <sect2 id="ports-upgrading">
      <title>Actualizaci&oacute;n de ports</title>

      <indexterm>
	<primary>ports</primary>
	<secondary>upgrading</secondary>
      </indexterm>
      <para>Antes de nada necesita ver una lista de ports instalados de
        los cuales exista una nueva versi&oacute;n en la Colecci&oacute;n
	de Ports.  Utilice &man.pkg.version.1;:</para>

      <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>

      <sect3 id="ports-file-updating">
	<title><filename>/usr/ports/UPDATING</filename></title>

	<para>Una vez actualizada la Colecci&oacute;n de Ports (y
	  <emphasis>antes</emphasis> de intentar actualizar ning&uacute;n
	  port) debe consultar
	  <filename>/usr/ports/UPDATING</filename>.  Este fichero describe
	  todas las novedades, problemas que pueden encontrarse y pasos que
	  deben seguir los usuarios al actualizar un port; hay cambios de
	  formato, cambios de ubicaci&oacute;n de ficheros de
	  configuraci&oacute;n o incompatibilidades con versiones
	  anteriores.</para>

	<para>Si <filename>UPDATING</filename> se contradice de cualquier modo
	  con lo que lea aqu&iacute; tenga muy encuenta que lo que aparezca en
	  <filename>UPDATING</filename> tiene prioridad absoluta.</para>
      </sect3>

      <sect3 id="portupgrade">
	<title>Actualizaci&oacute;n de ports con portupgrade</title>

	<indexterm>
	  <primary>portupgrade</primary>
	</indexterm>

      <para>La aplicaci&oacute;n <application>portupgrade</application>
        se dise&ntilde;&oacute; para actualizar f&aacute;cilmente los ports
	instalados en un sistema.  Puede instalarla desde el port <filename
	role="package">ports-mgmt/portupgrade</filename>.  La
	instalaci&oacute;n es como al de cualquier otro port, use la orden
	<command>make <maketarget>install
	clean</maketarget></command> command:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Compruebe la lista de ports instalados con <command>pkgdb
	-F</command> y arregle todas las inconsistencias que aparezcan.  Le
	recomendamos que haga esta comprobaci&oacute;n de forma regular y
	siempre antes de una actualizaci&oacute;n.</para>

      <para>Si ejecuta <command>portupgrade -a</command>
	<application>portupgrade</application> intentar&aacute; actualizar
	todos y cada uno de los ports instalados en su sistema.  Utilice el
	par&aacute;metro <option>-i</option> si quiere que le pida
	confirmaci&oacute;n antes de actualizar cada uno de los ports.</para>

      <screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>

      <para>Si solamente quiere actualizar una sola aplicaci&oacute;n (y no
        absolutamente todos los ports) utilice la orden <<command>portupgrade
	<replaceable>nombre-de-aplicaci&oacute;n</replaceable></command>.  
	A&ntilde;ada el modificador <option>-R</option> si quiere que
	<application>portupgrade</application> actualice antes todos los
	ports de los que depende la aplicaci&oacute;n en cuesti&oacute;n.</para>

      <screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>

      <para>Si quiere usar packages en lugar de ports use el modificador
	<option>-P</option> flag.  Con esta opci&oacute;n
	<application>portupgrade</application> busca en los directorios
	locales que aparezcan en <envar>PKG_PATH</envar> o descarga los
	packages desde un sitio remoto si es que no los encuentra en
	local.  Si es imposible encontrar los packages ni en local ni en
	remoto<application>portupgrade</application> utilizar&aacute;
	ports.  Si no quiere usar ports pase lo que pase utilice el
	modificador <option>-PP</option>.</para>

      <screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>

      <para>Si quiere solamente descargar los distfiles (o los packages,
	usando <option>-P</option>) sin compilar ni instalar nada,
	use <option>-F</option>.  Para m&aacute;s informaci&oacute;n
	consulte &man.portupgrade.1;.</para>
      </sect3>

      <sect3 id="portmanager">
	<title>Actualizaci&oacute;n de ports con portmanager</title>

	<indexterm>
	  <primary>portmanager</primary>
	</indexterm>

	<para><application>Portmanager</application> es otra aplicaci&oacute;n
	  pensada para la actualizaci&oacute;n sencilla de ports instalados
	  en el sistema.  Puede encontrarla en
	  <filename role="package">ports-mgmt/portmanager</filename>:</para>

	<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmanager</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

	<para>Puede actualizar todos los ports que tenga instalados con
	  una sola orden:</para>

	<screen>&prompt.root; <userinput>portmanager -u</userinput></screen>

	<para>Si usa el modificador <option>-ui</option> se le pedir&aacute;
	  confirmaci&oacute;n a cada paso que <application>Portmanager</application>
	  vaya a dar.  <application>Portmanager</application> tambi&eacute;n
	  puede usarse para instalar nuevos ports.  A diferencia del habitual
	  <command>make <maketarget>install clean</maketarget></command>
	  actualizar&aacute; todos los ports que dependan antes de compilar e 
	  instalar ese port que queramos instalar.</para>

	<screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen>

	<para>Si aparecen problemas con las dependencias del port que quiere
	  instalar puede usar <application>Portmanager</application> para
	  recompilar todos ello en el orden correcto.  Una vez que acabe el
	  port que estaba dando problemas ser&aacute; tambi&eacute;n
	  recompilado.</para>

	<screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen>

	<para>Para m&aacute;s informaci&oacute;n consulte &man.portmanager.1;.</para>
      </sect3>

      <sect3 id="portmaster">
	<title>Actualizaci&oacute;n de ports con portmaster</title>

	<indexterm>
	  <primary>portmaster</primary>
	</indexterm>

	<para><application>Portmaster</application> es otra aplicaci&oacute;n
	  para actualizar ports.  <application>Portmaster</application> se
	  dise&ntilde;&oacute; para que utilizara las herramientas del sistema
	  &laquo;base&raquo; (es decir, no depende de otros ports) y utiliza
	  la informaci&oacute;n que se almacena en el directorio
	  <filename class="directory">/var/db/pkg/</filename> para determinar
	  qu&eacute; port es el que hay que actualizar.  Puede encontrarlo en
	  <filename role="package">ports-mgmt/portmaster</filename>:</para>

	<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmaster</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

	<para><application>Portmaster</application> agrupa los ports en cuatro
	  categor&iacute;as:</para>

	<itemizedlist>
	  <listitem>
	    <para>&laquo;Root ports&raquo; (no tienen dependencias, ning&uacute;n port depende de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Trunk ports&raquo; (no tienen dependencias, otros ports dependen de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Branch ports&raquo; (tienen dependencias, otros ports dependen de ellos)</para>
	    </listitem>
	  <listitem>
	    <para>&laquo;Leaf ports&raquo; (tienen dependencias, ning&uacute;n port depende de ellos)</para>
	    </listitem>
	</itemizedlist>

	<para>Puede ver una lista de los ports instalados y
	  buscar actualizaciones para ellos usando el modificador
	  <option>-L</option> :</para>

<screen>&prompt.root; <userinput>portmaster -L</userinput>
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available
</screen>

	<para>Con la siguiente orden puede actualizar todos los ports
	  del sistema:</para>

	<screen>&prompt.root; <userinput>portmaster -a</userinput></screen>

	<note><para>Por omisi&oacute;n <application>Portmaster</application>
	  guardar&aacute; una copia de seguridad (un package) de cada port
	  antes de borrarlo.  Si la instalaci&oacute;N de la nueva versi&oacute;n
	  funciona <application>Portmaster</application> borrar&aacute; el package.  
	  Si utiliza <option>-b</option> le dir&aacute; a
	  <application>Portmaster</application> que no borre autom&aacute;ticamente
	  el package.  Si usa el modificador <option>-i</option> arrancar&aacute;
	  <application>Portmaster</application> en modo interactivo, lo que significa
	  que le pedir&aacute; confirmaci&oacute;n antes de actualizar cada
	  port.</para></note>

	<para>Si se encuentra con errores durante el proceso de
	  actualizaci&oacute;n puede utilizar el modificador
	  <option>-f</option> para actualizar o recompilar todos
	  los ports:</para>

	<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>

	<para>Tambi&eacute;n puede usar <application>Portmaster</application>para
	  instalar nuevos ports en el sistema, actualizando todas sus dependencias
	  antes de compilar e instalar el nuevo port:</para>

	<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>

	<para>Por favor, consulte &man.portmaster.8; para m&aacute;s
	  informaci&oacute;n.</para>
      </sect3>
>>>>>>> 1.12
    </sect2>

    <sect2 id="ports-disk-space">
      <title>Los ports y el espacio en disco</title>

      <indexterm>
        <primary>ports</primary>
        <secondary>disk-space</secondary>
      </indexterm>
      <para>Usar la Colecci&oacute;n de Ports consume mucho espacio de
        disco seg&uacute;n pasa el tiempo.  Por culpa de la tendencia del
        &aacute;rbol de ports a crecer sin parar le recomendamos
	que despu&eacute;s de compilar e instalar sofware desde los ports
        recuerde limpiar los directorios temporales <filename
        class="directory">work</filename> mediante la orden
        <command>make <makevar>clean</makevar></command>.  Puede
	limpiar de un plumazo los directorios temporales de toda la
	Colecci&oacute;n de Ports con la siguiente orden:</para>

	<screen>&prompt.root; <userinput>portsclean -C</userinput></screen>

      <para>R&aacute;pidamente acumular&aacute; gran cantidad de viejas
        distribuciones de c&oacute;digo en
	<filename class="directory">distfiles</filename>.  Puede borrarlos
	a mano, pero tambi&eacute;n puede usar la siguiente orden para
	borrar todos los distfiles que no tengan relaci&oacute;n con
	ning&uacute;n port:</para>

      <screen>&prompt.root; <userinput>portsclean -D</userinput></screen>

      <para>Tambi&eacute;n puede borrar todos los distfiles sin relaci&oacute;n
      con ning&uacute;n port instalado en el sistema:</para>

      <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>

      <note>
	<para><command>portsclean</command> forma parte de la
	  &laquo;suite&raquo; <application>portupgrade</application>.</para>
      </note>

      <para>No olvide borrar los ports instalados una vez que deja de
         necesitarlos.  Hay una herramienta muy &uacute;til para ayudar
	 a automatizar esta tarea:
	<filename role="package">ports-mgmt/pkg_cutleaves</filename>.</para>


    </sect2>

  </sect1>

  <sect1 id="ports-nextsteps">
    <title>Despu&eacute;s de instalar un port</title>

<<<<<<< chapter.sgml
    <para>Una vez que ha instalado una nueva aplicaci&oacute;n normalmente
      deber&aacute;a leer toda la documentaci&oacute;n que incluya, editar los
      ficheros de configuraci&oacute;n necesarios, asegurarse de que la
      aplicaci&oacute;n se ejecute al arrancar el sistema (si es un
      d&aelig;mon)etc.</para>

    <para>Obviamente los pasos exactos para configurar cada aplicaci&oacute;n
      son distintos de una a otra.  De cualquier forma, si acaba de instalar
      aplicaci&oacute;n y se pregunta
      &laquo;&iquest;Y ahora qu&eacute;?&raquo; estos consejos puede que le
=======
    <para>Una vez que ha instalado una nueva aplicaci&oacute;n normalmente
      deber&aacute;a leer toda la documentaci&oacute;n que incluya, editar los
      ficheros de configuraci&oacute;n necesarios, asegurarse de que la
      aplicaci&oacute;n se ejecute al arrancar el sistema (si es un
      d&aelig;mon)etc.</para>

    <para>Obviamente los pasos exactos para configurar cada aplicaci&oacute;n
      son distintos de una a otra.  De cualquier forma, si acaba de instalar
      aplicaci&oacute;n y se pregunta
      &laquo;&iquest;Y ahora qu&eacute;?&raquo; estos consejos puede que le
>>>>>>> 1.12
      ayuden:</para>

    <itemizedlist>
      <listitem>
	<para>Use &man.pkg.info.1; para ver qu&eacute; ficheros se instalaron
	  y d&oacute;nde.  Por ejemplo, si instal&oacute;n
	  el paquete Un-Package 1.0.0, lo siguiente:</para>

	<screen>&prompt.root; <userinput>pkg_info -L un-package-1.0.0 | less</userinput></screen>

	<para>mostrar&aacute; los ficheros instalados por el paquete.  Preste
	  especial atenci&oacute;n a los ficheros en el directorio
	  <filename>man/</filename>, que son las p&aacute;ginas de ayuda y los
	  del directorio <filename>etc/</filename>, que contiene los ficheros
	  de configuraci&oacute;n; bajo el directorio <filename>doc/</filename>
	  podr&aacute; encontrar informaci&oacute;n m&aacute;s
	  detallada.</para>

	<para>Si no est&aacute; seguro de qu&eacute; versi&oacute;n del
	  paquete ha instalado, tecl&eacute;e:</para>

	<screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>un-package</replaceable></userinput></screen>

	<para>y ver&aacute; todos los paquetes que se llaman
	  <replaceable>un-package</replaceable>.  Reemplace
	  <replaceable>un-package</replaceable> en la l&iacute;nea de
	  &oacute;rdenes que tenga que usar en su caso.</para>
      </listitem>

      <listitem>
	<para>Una vez que ha identificado las p&aacute;ginas de manual
	  de la aplicaci&oacute;n rev&iacute;selas mediante &man.man.1;.  
	  Revise tambi&eacute;n los ficheros de configuraci&oacute;n,
	  as&iacute; como cualquier otro tipo de documentaci&oacute;n
	  que venga con el software.</para>
      </listitem>

      <listitem>
	<para>Si la aplicaci&oacute;n tiene sitio web vis&iacute;telo.  
	  Es muy posible que encuentre m&aacute;s documentaci&oacute;n,
	  listas de preguntas frecuentes (FAQ), etc.  Si no sabe cu&aacute;l
	  puede ser la direcci&oacute;n del sitio web examine la 
	  salida de la orden</para>

	<screen>&prompt.root; <userinput>pkg_info <replaceable>un-package-1.0.0</replaceable></userinput></screen>
	
	<para>a veces incluye una l&iacute;nea <literal>WWW:</literal>, que
	  contiene la direcci&oacute;n del sitio web de la
	  aplicaci&oacute;n.</para>
      </listitem>
      <listitem>
	<para>Los ports que deben arrancar con el sistema (como los
	  servidores de Internet) normalmente instalaran un 
<<<<<<< chapter.sgml
	  &laquo;script&raquo; de
	  ejemplo en <filename>/usr/local/etc/rc.d</filename>.  Debe
	  revisar este &laquo;script&raquo; para comprobar que todo sea
	  correcto, editarlo o renombrarlo si fuera necesario.  Consulte
=======
	  &laquo;script&raquo; de
	  ejemplo en <filename>/usr/local/etc/rc.d</filename>.  Debe
	  revisar este &laquo;script&raquo; para comprobar que todo sea
	  correcto, editarlo o renombrarlo si fuera necesario.  Consulte
>>>>>>> 1.12
	   <link
	   linkend="configtuning-starting-services">C&oacute;mo arrancar
	    servicios</link> para m&aacute;s informaci&oacute;n.</para>

      </listitem>

    </itemizedlist>
  </sect1>
  <sect1 id="ports-broken">
    <title>Ports que no funcionan</title>

      <para>Si encuentra un port que no funciona hay varias cosas
        que puede hacer:</para>

      <orderedlist>
	<listitem>
	  <para>Consulte en la
	    <ulink url="http://www.freebsd.org/support.html#gnats">Base
	    de datos de informes de error</ulink> si ya se ha publicado
	    un parche que lo solucione.  Si es el caso puede aplicar
	    aplicar el parche en su sistema.</para>
         </listitem>

	 <listitem>
<<<<<<< chapter.sgml
	   <para>Pida ayuda al responsable del mantenimiento
	     (conocido como &laquo;mantainer&raquo;) del port.  
	     Tecl&eacute;e <command>make maintainer</command> o
	     consulte el
	     <filename>Makefile</filename> del port si no sabe cu&aacute;l
	     es la direcci&oacute;n de correo del &laquo;mantainer&raquo;.  
	     Recuerde que debe incluir el nombre y la versi&oacute;n del
	     port.   Env&iacute;e la l&iacute;nea que contiene
	     <literal>&dollar;&os;:</literal> al principio del
	     <filename>Makefile</filename> del port y salida
	     con el error que obtiene al intentar usar la
=======
	   <para>Pida ayuda al responsable del mantenimiento
	     (conocido como &laquo;mantainer&raquo;) del port.  
	     Tecl&eacute;e <command>make maintainer</command> o
	     consulte el
	     <filename>Makefile</filename> del port si no sabe cu&aacute;l
	     es la direcci&oacute;n de correo del &laquo;mantainer&raquo;.  
	     Recuerde que debe incluir el nombre y la versi&oacute;n del
	     port.   Env&iacute;e la l&iacute;nea que contiene
	     <literal>&dollar;&os;:</literal> al principio del
	     <filename>Makefile</filename> del port y salida
	     con el error que obtiene al intentar usar la
>>>>>>> 1.12
	     aplicaci&oacute;n.</para>

          <note>
	     <para>Algunos ports no son responsabilidad de un individuo
	       sino de <ulink
	       url="http://www.freebsd.org/doc/en_US.ISO-8859-1/articles/mailing-list-faq/article.html">una lista de correo.</ulink>
	       Muchas, aunque no todas, tienen un aspecto parecido a
	       <email 
	       role="nolink">freebsd-nombredelalista@FreeBSD.org</email>.  
	       Por favor, t&eacute;ngalo en cuenta cuando envie ese correo
	       sobre el port que no funciona.</para>

<<<<<<< chapter.sgml
            <para>Hay un caso especial: Los ports que tienen como
	       &laquo;mantainer&raquo;
               <email role="nolink">freebsd-ports@FreeBSD.org</email> en
	       realidad no son responsabilidad de nadie.  Los parches
	       y el soporte, en caso de existir, vienen de la comunidad de
	       usuarios y desarrolladores que est&aacute;n suscritos
	       a la lista.  Por cierto, siempre hacen falta m&aacute;s
=======
            <para>Hay un caso especial: Los ports que tienen como
	       &laquo;mantainer&raquo;
               <email role="nolink">freebsd-ports@FreeBSD.org</email> en
	       realidad no son responsabilidad de nadie.  Los parches
	       y el soporte, en caso de existir, vienen de la comunidad de
	       usuarios y desarrolladores que est&aacute;n suscritos
	       a la lista.  Por cierto, siempre hacen falta m&aacute;s
>>>>>>> 1.12
	       voluntarios.</para>
	  </note>

            <para>Si no recibe respuesta utilice &man.send-pr.1; para
	      enviar un informe de errores.  Consulte
	      <ulink
	      url="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/problem-reports/article.html">C&oacute;mo escribir informes de error</ulink>)
	      <footnote><para>
	        Hay traducci&oacute;n al castellano de este art&iacute;culo.  
		Est&aacute; aqu&iacute;: <ulink
		 url="http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/problem-reports/article"></ulink>
	      </para></footnote>
	      </para>
	 </listitem>



        <listitem>
<<<<<<< chapter.sgml
	  <para><emphasis>Arreglarlo</emphasis>. El &laquo;Porter's
	    Handbook&raquo; incluye informaci&oacute;n detallada
	    sobre la infraestructura de los ports, as&iacute; que
	    puede arreglar un port roto o incluso enviar su propio
=======
	  <para><emphasis>Arreglarlo</emphasis>. El &laquo;Porter's
	    Handbook&raquo; incluye informaci&oacute;n detallada
	    sobre la infraestructura de los ports, as&iacute; que
	    puede arreglar un port roto o incluso enviar su propio
>>>>>>> 1.12
	    port.</para>
	</listitem>


	<listitem>
<<<<<<< chapter.sgml
	  <para>Descargue el paquete de alg&uacute;n sitio FTP.  El
	    servidor &laquo;principal&raquo; de la colecci&oacute;n
=======
	  <para>Descargue el paquete de alg&uacute;n sitio FTP.  El
	    servidor &laquo;principal&raquo; de la colecci&oacute;n
>>>>>>> 1.12
	    de paquetes est&aacute; en el 
	    <ulink
	    url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directorio
	    de paquetes</ulink> de
	    <hostid
	    role="fqdn">ftp.FreeBSD.org</hostid>
	    <emphasis>pero aseg&uacute;rese de mirar antes en la
	    r&eacute;plica m&aacute;s pr&oacute;xima</emphasis>.  
	    Esta es una forma de instalar aplicaciones m&aacute;s
	    f&aacute;cil y m&aacute;s r&aacute;pida.  
	    Instale el paquete mediante &man.pkg.add.1;.</para
	</listitem>
      </orderedlist>
  </sect1>

</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->