diff options
author | J. Vicente Carrasco <carvay@FreeBSD.org> | 2008-11-07 01:50:34 +0000 |
---|---|---|
committer | J. Vicente Carrasco <carvay@FreeBSD.org> | 2008-11-07 01:50:34 +0000 |
commit | 5ccdeffd7ccdb4ac37dcdb2d336c445b91a64ce3 (patch) | |
tree | 0543d0cc5b5fb366cbecd923746e8db8a4495c69 /es_ES.ISO8859-1/books | |
parent | 8523ece2d8c1cce61bcccc3c36fd98c14fec67d6 (diff) | |
download | doc-5ccdeffd7ccdb4ac37dcdb2d336c445b91a64ce3.tar.gz doc-5ccdeffd7ccdb4ac37dcdb2d336c445b91a64ce3.zip |
Update the 'Ports' chapter. The new content added
has a link to 'Updating', so being on that we have
a new chapter translated.
With contributions from:
FreeBSD Spanish Documentation Project
Notes
Notes:
svn path=/head/; revision=33181
Diffstat (limited to 'es_ES.ISO8859-1/books')
-rwxr-xr-x | es_ES.ISO8859-1/books/handbook/Makefile | 1 | ||||
-rwxr-xr-x | es_ES.ISO8859-1/books/handbook/book.sgml | 5 | ||||
-rwxr-xr-x | es_ES.ISO8859-1/books/handbook/chapters.ent | 1 | ||||
-rwxr-xr-x | es_ES.ISO8859-1/books/handbook/ports/chapter.sgml | 1722 | ||||
-rw-r--r-- | es_ES.ISO8859-1/books/handbook/updating/chapter.sgml | 676 |
5 files changed, 1644 insertions, 761 deletions
diff --git a/es_ES.ISO8859-1/books/handbook/Makefile b/es_ES.ISO8859-1/books/handbook/Makefile index 25ddceb138..49d1a22c95 100755 --- a/es_ES.ISO8859-1/books/handbook/Makefile +++ b/es_ES.ISO8859-1/books/handbook/Makefile @@ -190,6 +190,7 @@ SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml +SRCS+= updating/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= virtualization/chapter.sgml diff --git a/es_ES.ISO8859-1/books/handbook/book.sgml b/es_ES.ISO8859-1/books/handbook/book.sgml index 8d26c054f5..b8b879571b 100755 --- a/es_ES.ISO8859-1/books/handbook/book.sgml +++ b/es_ES.ISO8859-1/books/handbook/book.sgml @@ -58,8 +58,9 @@ <!ENTITY % chap.freebsd-glossary "IGNORE"> <!ENTITY % chap.mac "IGNORE"> <!ENTITY % chap.audit "IGNORE"> - <!ENTITY % pgpkeys SYSTEM "pgpkeys/pgpkeys.ent"> %pgpkeys; +<!ENTITY % chap.updating "IGNORE"> + ]> @@ -341,6 +342,8 @@ <![ %chap.eresources; [ &chap.eresources; ]]> <![ %chap.pgpkeys; [ &chap.pgpkeys; ]]> <![ %chap.index; [ &chap.index; ]]> + <![ %chap.updating; [ &chap.updating; ]]> + </part> &chap.colophon; </book> diff --git a/es_ES.ISO8859-1/books/handbook/chapters.ent b/es_ES.ISO8859-1/books/handbook/chapters.ent index 333f9195a3..d1969e7524 100755 --- a/es_ES.ISO8859-1/books/handbook/chapters.ent +++ b/es_ES.ISO8859-1/books/handbook/chapters.ent @@ -52,6 +52,7 @@ <!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> <!-- Part four --> +<!ENTITY chap.updating SYSTEM "updating/chapter.sgml"> <!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml"> <!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml"> <!ENTITY chap.mail SYSTEM "mail/chapter.sgml"> diff --git a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml index ad3bd4ee58..4a2cae6fdd 100755 --- a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml @@ -3,16 +3,15 @@ The FreeBSD Spanish Documentation Project %SOURCE% en_US.ISO8859-1/books/handbook/ports/chapter.sgml - %SRCID% 1.24 + %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 $ --> -<!-- version del ingles traducida: 1.240 --> <chapter id="ports"> - <title>Instalación de aplicaciones: Paquetes y Ports</title> + <title>Instalación de aplicaciones: «packages» y ports</title> <sect1 id="ports-synopsis"> <title>Sinopsis</title> @@ -27,58 +26,70 @@ terceros. &os; ofrece dos tecnologías complementarias para instalar software de terceros en nuestro sistema: la Colección de Ports de - &os; y Paquetes binarios. Cualquiera de los dos sistemas puede - usarse para instalar las versiones más recientes, de forma local o - directamente desde la red.</para> + &os; y «packages»(paquetes) binarios. Cualquiera de los dos + sistemas puede usarse para instalar las versiones más recientes, + de forma local o directamente desde la red.</para> - <para>Después de leer este capítulo, usted + <para>Después de leer este capítulo usted sabrá:</para> <itemizedlist> <listitem> - <para>Cómo instalar paquetes binarios de software de terceros.</para> + <para>Cómo instalar packages binarios de software + de terceros.</para> </listitem> <listitem> - <para>Cómo compilar software de terceros desde la + <para>Cómo compilar software de terceros desde la Colección de Ports.</para> </listitem> <listitem> - <para>Cómo eliminar paquetes o ports instalados + <para>Cómo eliminar packages o ports instalados previamente.</para> </listitem> + <listitem> + <para>Cómo sobreescribir los valores por omisión + que utiliza la colección de ports.</para> + </listitem> + <listitem> + <para>Cómo encontrar la aplicación adecuada.</para> + </listitem> + <listitem> + <para>Cómo actualizar aplicaciones.</para> + </listitem> + </itemizedlist> </sect1> <sect1 id="ports-overview"> <title>Aproximación a la instalación de software</title> - <para>Si ha usado un sistema &unix; con anterioridad sabrá que el - procedimiento típico para instalar software de terceros es algo + <para>Si ha usado un sistema &unix; con anterioridad sabrá que el + procedimiento tí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ódigo fuente, o binario.</para> + <para>Descargar el software, que puede distribuirse en formato de + código fuente o binario.</para> </step> <step> - <para>Desempaquetar el software de su formato de distribución - (normalmente en un tarball comprimido con &man.compress.1;, + <para>Desempaquetar el software de su formato de distribución + (normalmente en un «tarball» comprimido con &man.compress.1;, &man.gzip.1; o &man.bzip2.1;).</para> </step> <step> - <para>Consultar la documentación (quizás un fichero - <filename>INSTALL</filename> o - <filename>README</filename>, o los ficheros del subdirectorio + <para>Consultar la documentación (quizá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> - <para>Si el software es distribuido como fuente, compilarlo. Esto - puede requerir que editemos el fichero <filename>Makefile</filename> - o que ejecutemos el <quote>script</quote> + <para>Si el software se distribuye como fuente, compilarlo. Esto + puede requerir que editemos el fichero <filename>Makefile</filename> + o que ejecutemos el <quote>script</quote> <command>configure</command>, entre otras cosas.</para> </step> @@ -87,169 +98,170 @@ </step> </procedure> - <para>Y esto solamente si todo marcha bien. Si está instalando un - software que no ha sido portado específicamente para &os;, puede - que sea necesario editar el código para que funcione + <para>Y esto solamente si todo marcha bien. Si está instalando un + software que no ha sido portado específicamente para &os;, puede + que sea necesario editar el código para que funcione correctamente. </para> - <para>Si lo desea puede continuar instalando software de la forma - <quote>tradicional</quote> en &os;, aunque &os; dispone de + <para>Si lo desea puede continuar instalando software de la forma + <quote>tradicional</quote> en &os;, aunque &os; dispone de dos tecnologís que le pueden ahorrar gran cantidad de tiempo y - esfuerzo: los paquetes y los ports. En el momento de escribir esto + esfuerzo: los packages y los ports. En el momento de escribir esto existen más de &os.numports; aplicaciones de terceros.</para> - <para>En cualquier aplicación el paquete de &os; - es un solo fichero que tiene que descargar. Los paquetes contienen - copia de los programas binarios pre-compilados de la aplicación, - así como cualquier fichero de configuración o - documentación. Los paquetes descargados se pueden - manipular con las herramientas de gestión de paquetes de &os;: - &man.pkg.add.1;, &man.pkg.delete.1;, + <para>En cualquier aplicació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ón, + así como cualquier fichero de configuración o + documentación. Los paquetes descargados se pueden + manipular con las herramientas de gestión de paquetes de &os;: + &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;, etc. Instalar una aplicación nueva puede realizarse con una sola orden.</para> - <para>Un port de &os; es una colección de ficheros - diseñada para automatizar el proceso de + <para>Un port de &os; es una colección de ficheros + diseñada para automatizar el proceso de compilación desde el código fuente.</para> - <para>Recuerde que existen ciertos pasos que deberá llevar a cabo - para compilar un programa por usted mismo (descargar, - desempaquetar, parchear, compilar e instalar). Los ficheros que + <para>Recuerde que existen ciertos pasos que deberá 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 órdenes - y el código fuente se descarga, desempaqueta, parchea, + Usted ejecuta un conjunto simple de órdenes + y el código fuente se descarga, desempaqueta, parchea, compila e instala.</para> - <para>De hecho el sistema de ports también se puede usar para crear - paquetes que posteriormente se pueden manipular con - <command>pkg_add</command> y las - demás utilidades de gestión de paquetes que veremos en + <para>De hecho el sistema de ports también se puede usar para crear + paquetes que posteriormente se pueden manipular con + <command>pkg_add</command> y las + demás utilidades de gestió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ón que depende de que una biblioteca - específica esté instalada. Tanto la biblioteca como la - aplicación existen en &os; como paquete o port. Si utiliza - <command>pkg_add</command> o el sistema de ports para instalar - la aplicación ambos notará que la biblioteca no - está instalada, y procederán a instalarla antes que + <para>Tanto el sistema de ports como el de paquetes entienden las + <emphasis>dependencias</emphasis>. Suponga que desea instalar una + aplicación que depende de que una biblioteca + específica esté instalada. Tanto la biblioteca como la + aplicación existen en &os; como paquete o port. Si utiliza + <command>pkg_add</command> o el sistema de ports para instalar + la aplicación ambos notarán que la biblioteca no + está instalada y procederán a instalarla antes que nada.</para> - <para>Dado que ambas tecnologís son similares, quizás se - pregunte por qué &os; se toma la molestía de contar con - ambas. Los Paquetes y los Ports tienen sus propias ventajas, - así que cuál utilizar dependerá de su + <para>Dado que ambas tecnologís son similares quizás se + pregunte por qué &os; se toma la molestía de contar con + ambas. Los Packages y los Ports tienen sus propias ventajas, + así que cuál utilizar dependerá de su elección en cada momento.</para> <itemizedlist> - <title>Ventajas de los paquetes</title> + <title>Ventajas de los Paquetes</title> <listitem> - <para>El fichero tarball de un paquete es normalmente más - pequeño que el tarball con el código fuente de + <para>El fichero tarball de un package es normalmente más + pequeño que el tarball con el código fuente de la aplicación.</para> </listitem> <listitem> <para>Los paquetes no requieren compilación. - En el caso de aplicaciones grandes, como + En el caso de aplicaciones grandes, como <application>Mozilla</application>, <application>KDE</application>, o - <application>GNOME</application> este detalle puede ser importante, + <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 + <para>Los paquetes no requieren que comprenda el proceso que envuelve el compilar software bajo &os;.</para> </listitem> </itemizedlist> <itemizedlist> - <title>Ventajas del sistema de Ports</title> + <title>Ventajas de los Ports</title> <listitem> - <para>Normalmente los paquetes se compilan con opciones conservadoras, - en virtud del gran número de equipos donde se - instalarán. Al desde el port puede usted editar las - preferencias para (por ejemplo) generar código - específico para un procesador + <para>Normalmente los paquetes se compilan con opciones conservadoras, + en virtud del gran número de equipos donde se + instalarán. Al instalar como port puede usted editar las + preferencias para (por ejemplo) generar código + específico para un procesador Pentium IV o Athlon.</para> </listitem> <listitem> - <para>Algunas aplicaciones tienen opciones sobre lo que pueden y lo + <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 + <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ón con diferentes opciones. Por ejemplo, - <application>Ghostscript</application> está disponible + aplicación con diferentes opciones. Por ejemplo, + <application>Ghostscript</application> está 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, pero se puede volver un problema si hay más de + <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ás de una o dos opciones de compilación.</para> </listitem> <listitem> - <para>Las condiciones de la licencia de algunas aplicaciones - prohiben la distribución de binarios. Solo permiten la + <para>Las condiciones de la licencia de algunas aplicaciones + prohiben la distribución de binarios. Solo permiten la distribución del código fuente.</para> </listitem> <listitem> - <para>Existe gente que no confía en los binarios. Al - menos puede usted (en teoría) revisar el código fuente + <para>Existe gente que no confía en los binarios. Al + menos puede usted (en teoría) revisar el código fuente y localizar problemas potenciales.</para> </listitem> <listitem> - <para>Si tiene parches locales necesitará el código + <para>Si tiene parches locales necesitará el código fuente para poder aplicarlos.</para> </listitem> <listitem> - <para>Hay gente a la que le gusta tener el código fuente para - poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas + <para>Hay gente a la que le gusta tener el código fuente para + poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas (cuando la licencia lo permite, claro está), etc.</para> </listitem> </itemizedlist> - <para>Para tener constancia de los ports actualizados, suscríbase a - la &a.ports; y a la &a.ports-bugs;.</para> + <para>Para tener constancia de los ports actualizados, suscríbase + a la &a.ports; y a la &a.ports-bugs;.</para> <warning> - <para>Antes de instalar cualquier aplicación - consulte <ulink url="http://vuxml.freebsd.org"></ulink> para - comprobar los posibles problemas de seguridad relacionados con + <para> Antes de instalar cualquier aplicación + consulte <ulink url="http://vuxml.freebsd.org"></ulink> para + comprobar los posibles problemas de seguridad relacionados con ella.</para> - <para>También puede instalar <filename - role="package">security/portaudit</filename> que automáticamente - comprobará las vulnerabilidades conocidas de todas las - aplicaciones instaladas; también lo comprobará antes de - compilar cualquier port. Mientras tanto, puede usar - <command>portaudit -F -a</command> después de instalar - algunos paquetes.</para> + <para>También puede instalar <filename + role="package">security/portaudit</filename> que automáticamente + comprobará las vulnerabilidades conocidas de todas las + aplicaciones instaladas; también lo comprobará antes de + compilar cualquier port. Mientras tanto, puede usar + <command>portaudit -F -a</command> después de instalar + algunos packages.</para> </warning> - <para>El resto de este capítulo le explicará cómo - usar los ports y los paquetes para instalar software de terceros en + <para>El resto de este capítulo le explicará cómo + usar los ports y los packages para instalar software de terceros en &os;.</para> </sect1> <sect1 id="ports-finding-applications"> <title>Cómo encontrar aplicaciones</title> - <para>Antes de poder instalar cualquier software debe saber qué - es lo que quiere instalar y cómo se llama la + <para>Antes de poder instalar cualquier software debe saber qué + es lo que quiere instalar y cómo se llama la aplicación.</para> <para>La lista de software disponible para &os; crece constantemente. @@ -257,62 +269,62 @@ <itemizedlist> <listitem> - <para>El sitio web de FreeBSD mantiene una lista (actualizada y que - admite búsquedas) de todas las - aplicaciones disponibles para &os; en la dirección + <para>El sitio web de &os; mantiene una lista (actualizada y que + admite búsquedas) de todas las + aplicaciones disponibles para &os; en la dirección <ulink url="http://www.freebsd.org/ports/index.html">http://www.FreeBSD.org/ports/ - </ulink>. Esta base esta dividida en categorías, y puede - buscar por nombre (si lo sabe) o bien listar las aplicaciones + </ulink>. Esta base esta dividida en categorías, y puede + buscar por nombre (si lo sabe) o bien listar las aplicaciones disponibles en cierta categoría.</para> </listitem> <indexterm><primary>FreshPorts</primary></indexterm> <listitem> - <para>Dan Langille mantiene FreshPorts en + <para>Dan Langille mantiene FreshPorts en <ulink url="http://www.FreshPorts.org/"></ulink>. - FreshPorts verifica los cambios en las aplicaciones del árbol - de ports, y le permite <quote>seguir</quote> uno o más - ports, sobre los que le enviarán un correo cada vez + FreshPorts verifica los cambios en las aplicaciones del árbol + de ports, y le permite <quote>seguir</quote> uno o más + ports, sobre los que le enviarán un correo cada vez que se actualicen.</para> </listitem> <indexterm><primary>FreshMeat</primary></indexterm> <listitem> - <para>Si no conoce el nombre de la aplicació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ón; después consulte - el sitio web de &os; para ver si la aplicación ha sido + <para>Si no conoce el nombre de la aplicació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ón; después consulte + el sitio web de &os; para ver si la aplicación ha sido portada.</para> </listitem> <listitem> - <para>Si sabe el nombre exacto del port y solo necesita saber - en qué categoria está 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á en su sistema, le dirá dónde + <para>Si sabe el nombre exacto del port y solo necesita saber + en qué categoria está 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á en su sistema, le dirá dónde está:</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á en el directorio + <para>Esto nos dice que <command>lsof</command> (una utilidad de + sistema) está 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úsqueda integrado en la colección de - ports. Para poder usar esta opción de bú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 + <para>Otra forma de encontrar un port en particular es usando + el mecanismo de búsqueda integrado en la colección de + ports. Para poder usar esta opción de bú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> @@ -325,24 +337,24 @@ Index: sysutils B-deps: R-deps: </screen> - <para>Debe prestar especial atención a la línea - <quote>Path:</quote>de la salida, porque es la que indica - dónde puede encontrar el port. El resto de información + <para>Debe prestar especial atención a la línea + <quote>Path:</quote>de la salida, porque es la que indica + dónde puede encontrar el port. El resto de información no se necesita para instalar el port.</para> - <para>Si quiere hacer una bú,squeda más a fondo + <para>Si quiere hacer una bú,squeda más a fondo utilice <command>make - search key=<replaceable>cadena</replaceable></command> donde + search key=<replaceable>cadena</replaceable></command> donde <replaceable>cadena</replaceable> es el término que busca. - Podrá buscar nombres de ports, comentarios, - descripciones y dependencias; también se puede usar - para encontrar ports que tengan relación con + Podrá buscar nombres de ports, comentarios, + descripciones y dependencias; también se puede usar + para encontrar ports que tengan relación con algún tema en particular si no conoce el nombre del - programa que busca.</para> + programa que busca.</para> - <para>En ambos casos la cadena de búsqueda no distingue entre - mayúsculas y minúsculas. Buscar <quote>LSOF</quote> - dará los mismos resultados que buscar + <para>En ambos casos la cadena de búsqueda no distingue entre + mayúsculas y minúsculas. Buscar <quote>LSOF</quote> + dará los mismos resultados que buscar <quote>lsof</quote>.</para> </listitem> @@ -362,10 +374,10 @@ R-deps: </screen> <!-- 30 Mar 2001 --> </sect1info> - <title>Uso del sistema de paquetes</title> + <title>Uso del sistema de packages</title> <sect2> - <title>Instalar un paquete</title> + <title>Instalar un package</title> <indexterm> <primary>packages</primary> <secondary>installing</secondary> @@ -374,12 +386,12 @@ R-deps: </screen> <indexterm> <primary><command>pkg_add</command></primary> </indexterm> - <para>Puede usar &man.pkg.add.1; para instalar un - paquete de software bajo &os; desde un fichero local o desde + <para>Puede usar &man.pkg.add.1; para instalar un + package de &os; desde un fichero local o desde un servidor remoto vía red.</para> <example> - <title>Descarga de un paquete manualmente e instalación en + <title>Descarga de un paquete manualmente e instalación en nuestro sistema</title> <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput> @@ -407,82 +419,71 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz &prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen> </example> - <para>Si no tiene una fuente local de paquetes (por ejemplo - un CDROM de &os;) probablemente la mejor + <para>Si no tiene una fuente local de packages (por ejemplo + un CDROM de &os;) probablemente la mejor opción sea utilizar el argumento <option>-r</option> de - &man.pkg.add.1;, que hará que determine - automáticamente el formato del objeto correcto, para + &man.pkg.add.1;, que hará que determine + automá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> - <para>En el ejemplo anterior el paquete correspondiente se - descargará e instalará sin intervención - del usuario. Si desea utilizar una réplica - (<quote>mirror</quote>) de paquetes 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ás deba modificar alguna de - estas si se encuentra detrás de un cortafuegos, o usa un - proxy FTP/HTTP. Consulte &man.fetch.3; si quiere ver una lista - completa. Observe también que en el ejemplo anterior - usamos <literal>lsof</literal> en vez de + <para>En el ejemplo anterior el package correspondiente se + descargará e instalará sin intervención + del usuario. Si desea utilizar una réplica + (<quote>mirror</quote>) 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ás deba modificar alguna de + estas si se encuentra detrás de un cortafuegos, o usa un + proxy FTP/HTTP. Consulte &man.fetch.3; si quiere ver una lista + completa. Observe también que en el ejemplo anterior + usamos <literal>lsof</literal> en vez de <literal>lsof-4.56.4</literal>. - Cuando usamos la opción de descarga remota no es + Cuando usamos la opción de descarga remota no es necesario especificar la versión del paquete. - &man.pkg.add.1; descargará automáticamente la + &man.pkg.add.1; descargará automáticamente la última versión de la aplicación.</para> - <para>Los paquetes se distribuyen en formato <filename>.tgz</filename> - y <filename>.tbz</filename>. Puede encontrarlos en <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"> - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/</ulink> o bien en - el CDROM de &os;. Cada CD de la distribución de 4 CD (y del - PowerPak, etc) contiene los paquetes en el directorio - <filename>/packages</filename>. El orden de dicho directorio es - similar al árbol de <filename>/usr/ports</filename>. Cada - categoría tiene su subdirectorio, y todos los paquetes - están en el directorio <filename>All</filename>.</para> - <note> - <para>&man.pkg.add.1; descargará la última - versión de su aplicación si usa &os.current; o - &os.stable;, pero si usa una versión -RELEASE, - descargará la versión del paquete que se - construyó con dicha versión. Es posible configurar - esto sobreescribiendo la variable de entorno + <para>&man.pkg.add.1; descargará la última + versión de su aplicación si usa &os.current; o + &os.stable;, pero si usa una versión -RELEASE, + descargará la versión del package que se + construyó con dicha versión. Es posible configurar + esto sobreescribiendo la variable de entorno <envar>PACKAGESITE</envar>.</para> </note> - <para>Los ficheros de paquetes se destribuyen en formatos - <filename>.tgz</filename> y <filename>.tbz</filename>. + <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ón de FreeBSD en CD-ROM. Todos los - CDs en el set de 4 CDs de FreeBSD (y en el PowerPak, etc.) - contienen paquetes en el directorio + o en la distribució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 - paquetes es similar a la del arbol de + packages es similar a la del arbol de <filename>/usr/ports</filename>. Cada categorí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 paquetes es idéntica a la - de los ports, y funcionan como un todo para conformar el sistema de + <para>La estructura del directorio de packageckages es idéntica a la + de los ports, y funcionan como un todo para conformar el sistema de paquetes/ports. </para> </sect2> <sect2> - <title>Eliminar un paquete</title> + <title>Eliminar un package</title> <indexterm> <primary><command>pkg_delete</command></primary> </indexterm> @@ -490,7 +491,7 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz <primary>packages</primary> <secondary>deleting</secondary> </indexterm> - <para>Para eliminar un paquete instalado en el sistema, utilice + <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> @@ -498,9 +499,9 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz <sect2> <title>Miscelánea</title> - <para>Toda la información de los paquetes se guarda en - <filename>/var/db/pkg</filename>. En él encontrará - la lista completa de paquetes instalados y las descripciones de + <para>Toda la información de los packages se guarda en + <filename>/var/db/pkg</filename>. Ahíl encontrará + la lista completa de paquetes instalados y las descripciones de los mismos.</para> </sect2> </sect1> @@ -508,139 +509,219 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz <sect1 id="ports-using"> <title>Uso de la colección de ports</title> - <para>La siguiente sección incluye las instrucciones - básicas para instalar o eliminar programas mediante la + <para>La siguiente sección incluye las instrucciones + básicas para instalar o eliminar programas mediante la Colección de Ports de su sistema.</para> <sect2 id="ports-tree"> <title>Cómo obtener la Colección de Ports</title> - <para>Para poder instalar ports primero debe hacerse, obviamente, con - la Colección de Ports—; en esencia está compuesta + <para>Para poder instalar ports primero debe hacerse, obviamente, con + la Colección de Ports—; en esencia está compuesta por <filename>Makefiles</filename>, parches y ficheros con la - descripción de los ports y está en + descripción de los ports y está en <filename>/usr/ports</filename>.</para> - <para>Cuando instaló su sistema &os; el programa - <application>sysinstall</application> le preguntó si + <para>Cuando instaló su sistema &os; el programa + <application>sysinstall</application> le preguntó si querí instalar la Colección de Ports. Si contestó que no siga estas instrucciones:</para> <procedure> - <title>Mediante Sysinstall</title> + <title>Mediante CVSup</title> - <para>Este método implica el uso de - <application>sysinstall</application> para - instalar la Colección de Ports.</para> + <para>Este es un método rápido de conseguir y + mantener una copia de la Colección de Ports al dia mediante + el protocolo <application>CVSup</application>. Si quiere saber + más sobre <application>CVSup</application> consulte <link + linkend="cvsup">Uso de CVSup</link>.</para> - <step> - <para>Como usuario <username>root</username> ejecute - <command>sysinstall</command> - (<command>/stand/sysinstall</command> en cualquier versión - previa a &os; 5.2); del siguiente modo:</para> + <note> + <para>La implementación del protocolo + <application>CVSup</application> que se incluye en &os; se llama + <application>csup</application>. Apareció en &os; 6.2. + Los usuarios de releases anteriores de &os; puden instalar <filename + role="package">net/csup</filename> como port o package.</para> + </note> - <screen>&prompt.root; <userinput>sysinstall</userinput></screen> - </step> + <para>Asegúrese de que <filename class="directory">/usr/ports</filename> + está vacío antes de ejecutar <application>csup</application> + por primera vez. Si ya tiene la Colección de Ports porque la + ha instalado por otros medios <application>csup</application> + no purgará los parches de ports eliminados.</para> <step> - <para>Posiciónese en la opción - <guimenuitem>Configure</guimenuitem> - y pulse <keycap>Enter</keycap>.</para> + <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ún + otro servidor <application>CVSup</application> que tenga cerca. + Consulte <link linkend="cvsup-mirrors">Réplicas CVSup</link> (<xref + linkend="cvsup-mirrors">), donde encontrará una lista + completa de las réplicas CVSup.</para> + + <note> + <para>Puede usar una versió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é cerca de donde esté usted. Consulte + <link linkend="cvsup-mirrors">Ré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>Seleccione la opción - <guimenuitem>Distributions</guimenuitem>, - y pulse <keycap>Enter</keycap>.</para> + <para>Al ejecutar &man.csup.1; descargará y + aplicará todos los cambios recientes que haya sufrido + la Colección de Ports, pero tenga en cuenta que no + actualizará ninguno de los ports que ya tenga instalados + en su sistema.</para> </step> + </procedure> - <step> - <para>Seleccione la opción <guimenuitem>ports</guimenuitem> - y pulse la <keycap>barra espaciadora</keycap>.</para> - </step> + <procedure> + <title>Mediante portsnap</title> + + <para><application>Portsnap</application> es un método + alternativo de distribuir la Colección de Ports. Se + incluyó por primera vez en &os; 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á detallado el funcionamiento de + <application>Portsnap</application> + features.</para> <step> - <para>Seleccione el medio de instalación deseado (CDROM, - FTP, etc.)</para> + <para>Puede saltarse esta paso a partir de &os; 6.1-RELEASE + y en versiones recientes de + <application>Portsnap</application> (port o package). + <filename + class="directory">/usr/ports</filename> se creará + automáticamente la primera vez que ejecute + &man.portsnap.8;. En versiones anteriores de + <application>portsnap</application> había que crear + un <filename + class="directory">/usr/ports</filename> vacío si + no existía previamente:</para> + + <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput></screen> </step> <step> - <para>Diríjase a la opción - <guimenuitem>Exit</guimenuitem>, y - pulse <keycap>Enter</keycap>.</para> + <para>Descargue una instantánea comprimida de la + Colecció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>Pulse <keycap>X</keycap> para salir de - <application>sysinstall</application>.</para> + <para>Si está ejecutando <application>Portsnap</application> por + vez primera debe extraer la instantá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á + actualizando su árbol de ports ejecute lo siguiente:</para> + + <screen>&prompt.root; <userinput>portsnap update</userinput></screen> </step> + </procedure> - <para>El método alternativo para obtener y mantener actualizada la - Colección de Ports es mediante - <application>CVSup</application>. - Lea el fichero de ports para <application>CVSup</application> que - encontrará en - <filename>/usr/share/examples/cvsup/ports-supfile</filename>. - Consulte el capítulo <link linkend="cvsup">Usar - CVSup</link> (<xref linkend="cvsup">) para más - información sobre cómo usar - <application>CVSup</application> y el fichero - mencionado.</para> + <procedure> - <title>Mediante CVSup</title> + <title>Mediante Sysinstall</title> - <para>Si quiere un métido rápido para obtener - la Colección de Ports use - <application>CVSup</application>. Si quiere mantener su - árbol de ports actualizado o bien saber más - sobre <application>CVSup</application> lea los documentos - mencionados previamente.</para> + <para>Este método implica el uso de + <application>sysinstall</application> para + instalar la Colección de Ports.</para> <step> - <para>Instale el port <filename role="package">net/cvsup</filename>. - Consulte - <link linkend="cvsup-install">Instalación de CVSup</link> (<xref - linkend="cvsup-install">) para más - información.</para> + <para>Como usuario <username>root</username> ejecute + <command>sysinstall</command> + (<command>/stand/sysinstall</command> en cualquier versión + previa a &os; 5.2); del siguiente modo:</para> + + <screen>&prompt.root; <userinput>sysinstall</userinput></screen> </step> <step> - <para>Como usuario <username>root</username> copie el fichero - <filename>/usr/share/examples/cvsup/ports-supfile</filename> - a una nueva ubicación, por ejemplo al directorio - <filename>/root</filename> o bien su propio directorio - home.</para> + <para>Posiciónese en la opción + <guimenuitem>Configure</guimenuitem> + y pulse <keycap>Intro</keycap>.</para> </step> <step> - <para>Edite el fichero <filename>ports-supfile</filename>.</para> + <para>Seleccione la opción + <guimenuitem>Distributions</guimenuitem> + y pulse <keycap>Intro</keycap>.</para> </step> <step> - <para>Cambie la parte <quote>CHANGE_THIS</quote> de - <replaceable>CHANGE_THIS.FreeBSD.org</replaceable> por un - servidor <application>CVSup</application> que le sea cercano. - Consulte el el capítulo - <link linkend="cvsup-mirrors">Mirrors de CVSup</link> (<xref - linkend="cvsup-mirrors">), donde encontrará una lista - completa de réplicas de &os;</para> + <para>Seleccione la opción <guimenuitem>ports</guimenuitem> + y pulse la <keycap>barra espaciadora</keycap>.</para> </step> <step> - <para>Ejecute <command>cvsup</command>:</para> + <para>Seleccione el medio de instalación deseado (CDROM, + FTP, etc.)</para> + </step> - <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen> + <step> + <para>Diríjase a la opción + <guimenuitem>Exit</guimenuitem> y + pulse <keycap>Intro</keycap>.</para> </step> <step> - <para>Cuando ejecute esto se descargarán y aplicarán - las actualizaciones de la Colección de Ports. Este proceso - no incluye la recompilación de los ports de su - sistema.</para> + <para>Pulse <keycap>X</keycap> para salir de + <application>sysinstall</application>.</para> </step> </procedure> + </sect2> <sect2 id="ports-skeleton"> @@ -650,377 +731,356 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz <primary>ports</primary> <secondary>installing</secondary> </indexterm> - <para>Al hablar de la Colección de Ports lo primero que debemos - explicar es a qué nos referimos cuando hablamos de un - <quote>esqueleto</quote> (skeleton). En sí mismo, un - esqueleto de port un conjunto mínimo de ficheros que + <para>Al hablar de la Colección de Ports lo primero que + hay que explicar es a qué nos referimos cuando hablamos de + un <quote>esqueleto</quote> (skeleton). El esqueleto de un + port es un conjunto mínimo de ficheros que indican a &os; cómo compilar e instalar un programa. Cada esqueleto incluye:</para> <itemizedlist> <listitem> - <para>Un <filename>Makefile</filename>. Este - <filename>Makefile</filename> contiene varias sentencias, - que le indican al sistema cómo compilarlo y dónde + <para>Un <filename>Makefile</filename>. Este + <filename>Makefile</filename> contiene diversas sentencias + que le indican al sistema cómo compilarlo y dónde instalarlo en su sistema.</para> </listitem> <listitem> - <para>Un fichero <filename>distinfo</filename>. Este fichero - contiene información sobre los ficheros que se deben - descargar para poder compilar el programa, así como el - identificador <quote>checksum</quote>, 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ón sobre los ficheros que se debe + descargar para poder compilar el programa, así como el + identificador <quote>checksum</quote>, que se usa para comprobar + mediante &man.md5.1; que la descarga ha sido correcta y que el la integridad del fichero está garantizada.</para> </listitem> <listitem> - <para>Un directorio <filename>files</filename>. Este directorio - contiene los parches necesarios para compilar e instalar - el programa en su sistema &os;. Básicamente los parches - son pequeños ficheros que especifican cambios en ficheros - concretos. Su formato es en texto plano y suelen decir cosas - como <quote>borra la línea 10</quote> o - <quote>Cambia la línea 26 por esto...</quote>. - Estos parches también se conocen como - <quote>diffs</quote> 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ásicamente los parches + son pequeños ficheros que especifican cambios en ficheros + concretos. Su formato es en texto plano y suelen decir cosas + como <quote>borra la línea 10</quote> o + <quote>Cambia la línea 26 por esto</quote>. + Estos parches también se conocen como + <quote>diffs</quote> ya que se generan con &man.diff.1;.</para> - <para>Es posible que este directorio tambié contenga - algún otro fichero necesario para compilar e instalar + <para>Es posible que este directorio tambié contenga + algún otro fichero necesario para compilar e instalar el port.</para> </listitem> <listitem> - <para>Un fichero <filename>pkg-descr</filename>. Es una + <para>Un fichero <filename>pkg-descr</filename>. Es una descripción más detallada del programa. - En algunas ocasiones ocupa varias líneas. - </para> + En algunas ocasiones ocupa varias líneas.</para> </listitem> <listitem> - <para>Un fichero <filename>pkg-plist</filename>. Es una lista de + <para>Un fichero <filename>pkg-plist</filename>. Es una lista de todos los ficheros que instalará el port. - También le indica al sistema de ports qué ficheros + También le indica al sistema de ports qué ficheros eliminar durante la desinstalación del programa.</para> </listitem> </itemizedlist> - <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 - <quote>&os; Porter's Handbook</quote>.</para> - - <para>El port incluye las instrucciones de construcción - desde el código fuente, pero no incluye el - código. Puede obtener el código desde un CDROM - o desde Internet. El có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ódigo del programa, - venga como venga, se llama <quote>distfile</quote>. A - continuación veremos los dos mé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ódigo fuente, pero no incluye el + código. Puede obtener el código desde un CDROM + o desde Internet. El có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ódigo del programa, + venga como venga, se llama <quote>distfile</quote>. A + continuación veremos los dos métodos de instalación de un port.</para> <note> - <para>Debe ser el usuario <username>root</username> para + <para>Debe ser el usuario <username>root</username> para instalar ports.</para> </note> <warning> - <para>Antes de instalar cualquier port asegúrese de tener la + <para>Antes de instalar cualquier port asegúrese de tener la Colección de Ports actualizada y de comprobar en <ulink - url="http://vuxml.freebsd.org/"></ulink> la existencia de posibles + url="http://vuxml.freebsd.org/"></ulink> la existencia de posibles problemas de seguridad que pudiera tener el port.</para> - <para>Puede realizar la comprobación de seguridad - con <application>portaudit</application> antes de instalar - cualquier aplicación. Esta herramienta está + <para>Puede realizar la comprobación de seguridad + con <application>portaudit</application> antes de instalar + cualquier aplicación. Esta herramienta está la Colecció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ón diaria de - seguridad actualizará la base de datos y hará una + 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ón diaria de seguridad + actualizará la base de datos y hará una auditoría del sistema. Para más información - lea las páginas de manúal de - &man.portaudit.1; y &man.periodic.8;.</para> + lea las páginas de manúal de + &man.portaudit.1; y &man.periodic.8;.</para> </warning> - <sect3 id="ports-cd"> - <title>Instalación de ports desde un CDROM</title> - - <indexterm> - <primary>ports</primary> - <secondary>installing from CDROM</secondary> - </indexterm> - <para>Los CDROM oficiales del Proyecto &os; ya no incluyen - distfiles. Ocupan mucho espacio y se aprovecha mucho mejor - si se incluyen paquetes precompilados. Los CDROM del PowerPak - sí incluyen distfiles; puede comprarlos en distribuidores - como <ulink url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>. - A lo largo de esta sección asumiremos que tiene un juego - de CDROM de &os;.</para> - - <para>Inserte su CDROM en la unidad correspondiente. Móntelo - en <filename>/cdrom</filename>. (Si utiliza un punto de - montaje diferente configure la variable de make - <makevar>CD_MOUNTPTS</makevar>). Para comenzar diríjase - al directorio donde esté el port que quiere + <para>La Colección de Ports asume que tiene usted conexión + con Internet. Si no es así tendrá 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> - verá el esqueleto del port. El siguiente paso - es compilar o <quote>construir</quote> el port. Para ello - simplemente tecleamos <command>make</command> en la - línea de ordenes. Hecho esto - verá algo similar a lo siguiente:</para> + <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á algo como esto:</para> <screen>&prompt.root; <userinput>make</userinput> >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from file:/cdrom/ports/distfiles/. +>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. ===> Extracting for lsof-4.57 ... -[salida de la descompresión cortada] +[La salida de la descompresión se ha eliminado] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... -[salida de configure cortada] +[La salida de la configuración se ha eliminado] ... ===> Building for lsof-4.57 ... -[salida de la compilación cortada] +[La salida de la compilación se ha eliminado] ... &prompt.root;</screen> - <para>Observe que una vez que ha terminado la compilación - regresará a la línea de órdenes. - El siguiente paso es instalar el port. Debemos añadir - una palabra a la orden <command>make</command>: - <command>install</command>:</para> + <para>Una vez que acabe la compilación + se le devolverá el control del prompt. El siguiente + paso es instalar el port. Para ello bastará con que + añ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> ===> Installing for lsof-4.57 ... -[salida de la instalación cortada] +[La salida de la instalación se ha eliminado] ... ===> Generating temporary packing list ===> Compressing manual pages for lsof-4.57 ===> Registering installation for lsof-4.57 -===> SECURITY NOTE: +===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. &prompt.root;</screen> - <para>Una vez que regrese a la línea de órdenes - podrá ejecutar la aplicación que acaba de instalar. - Dado que el programa <command>lsof</command> se ejecuta con - privilegios vemos una advertencia de seguridad. - Debe tener muy en cuenta cualquier aviso que aparezca durante - la compilación e instalación.</para> + <para>Una vez que vuelva usted al prompt podrá ejecutar la + aplicació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ón e instalació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ón. + No solo consume valioso espacio en disco sino que puede dar + problemas cuando vaya a actualizar el port a una versión + más reciente.</para> + + <screen>&prompt.root; <userinput>make clean</userinput> +===> Cleaning for lsof-4.57 +&prompt.root;</screen> <note> - <para>Puede ahorrar un paso ejecutando <command>make - install</command> en una sola orden en lugar de ejecutar - <command>make</command> y <command>make install</command> - en dos pasos diferentes.</para> + <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 cuentan con una caché de - órdenes disponibles en los directorios que aparecen - en la variable de entorno <envar>PATH</envar> para agilizar - las operaciones de búsqueda de los ejecutables de - estos ficheros. Si usa alguna de estas shells teclée - <command>rehash</command> una vez que ha instalado - el port para poder usar su nuevo programa. - Esta orden funciona con shells como - <command>tcsh</command>. Para shells como sh ejecute - <filename role="package">shells/bash</filename> - <command>has -r</command>. Consulte la - documentación de su shell para más - información.</para> + <para>Algunas shells mantienen una caché de + órdenes disponibles en los directorios que aparecen + en la variable de entorno + <envar>PATH</envar> con el fin de acelerar las operaciones + de búsqueda de ejecutables de esas órdenes. + Si usa una de esas shells tendrá que utilizar la + orden <command>rehash</command> tras instalar un port o + no podrá ejecutar aplicaciones recién + instaladas. Esta orden funciona en shells como + <command>tcsh</command>. Utilice <command>hash -r</command> + en shells <command>sh</command>. Para más + información consulte la documentación de + su shell.</para> </note> - <note> - <para>Por favor, tenga en cuenta que algunos ports tienen licencias - que no permiten su inclusión en el CDROM. - Probablemente es a consecuencia de un registro que se debe hacer - antes de la descarga, que no esté permitida la - redistribución en CDROM o quizás se deba a - otra razón. Si quiere instalar un port que no está - en el CDROM necesitará conexión a Internet - Internet (consulte la <link - linkend="ports-inet">siguiente sección</link>).</para> - </note> - </sect3> + <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ó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án copiando automáticamente + a medida que vayan siendo necesarios.</para> - <sect3 id="ports-inet"> - <title>Instalación de ports desde Internet</title> + <note> + <para>Por favor, tenga en cuenta que la licencia de unos + cuantos ports muy concretos no permite su distribución + en CD-ROM. Puede deberse a que es necesario rellenar un + formulario de registro antes de descargarlo, porque la + redistribución no esté permitida o por otra + razón. Si quiere instalar un port que no está + en el CD-ROM tendrá que tener salida a Internet.</para> + </note> - <para>Como en la sección anterior, en esta sección se - asume que tiene configurada su conexión a Internet. - Si no es así deberá llevar a cabo la - instalación - <link linkend="ports-cd">mediante CDROM</link>, o ponga usted una - copia del distfile en - <filename>/usr/ports/distfiles</filename> manualmente.</para> + <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á detrás de + un cortafuegos tendrá que asignar valores a una o + más de estas variables, así como si necesita + utilizar un proxy FTP/HTTP. Consulte &man.fetch.3;, donde + econtrará una lista detallada.</para> + + <para>La opción <command>make + <maketarget>fetch</maketarget></command> se creó para + los usuarios que no disponen de conexión contínua. + Ejecute esta orden en el directorio raíz + (<filename>/usr/ports</filename>) y se descargarán todos + los ficheros necesarios. Esta orden también funciona en + directorios situados más abajo, por ejemplo + <filename>/usr/ports/net</filename>. Tenga en cuenta que si un + port depende de librerías u otros ports éstos + distfiles <emphasis>no</emphasis> no se descargarán, a + menos que reemplace <maketarget>fetch</maketarget> por + <maketarget>fetch-recursive</maketarget>, que se encargará + de descargar todas las dependencias de cada port.</para> + + <note><para>Si quiere compilar todos los ports de una + categoría y de una sola vez ejecutando la orden + <command>make</command> en el directorio raí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én se dan casos de ports que + instalan instalan dos ficheros diferentes con el mismo + nombre.</para></note> - <para>Instalar un port desde Internet se hace exactamente igual - que cuando se hace desde un CDROM. La única diferencia - entre estos dos métodos es que el fichero distfile se - descarga desde Internet.</para> + <para>En algunos casos (raros) el usuario tendrá 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ás + normalmente). Puede sobreescribir la opció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ón para activar o desactivar + partes de la aplicación que no se necesiten, determinadas + opciones de seguridad, etc. Casos tí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> - <para>Los pasos son idénticos:</para> + + <sect3> + <title>Sobreescribir directorios por omisión de ports</title> - <screen>&prompt.root; <userinput>make install</userinput> ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/. -Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% -439860 bytes transferred in 18.0 seconds (23.90 kBps) -===> Extracting for lsof-4.57 -... -[salida de la descompresión del fichero cortada] -... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 -... -[salida de la configuración cortada] -... -===> Building for lsof-4.57 -... -[salida de la compilación cortada] -... -===> Installing for lsof-4.57 -... -[salida de la instalación cortada] -... -===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 -===> SECURITY NOTE: - This port has installed the following binaries which execute with - increased privileges. -&prompt.root;</screen> + <para>Algunas veces es útil (u obligatorio) utilizar un + directorio de trabajo o un «target» distinto al + que tenemos por omisión. Las variables de entorno + <makevar>WRKDIRPREFIX</makevar> y <makevar>PREFIX</makevar> + pueden sobreescribirse según nuestra conveniencia. Veamos + un ejemplo:</para> - <para>Como puede ver la única diferencia es la línea que - indica desde dónde se descarga el código.</para> - - <para>El sistema de ports utiliza &man.fetch.1; para descargar los - ficheros, y usa distintas varibles de entorno como - <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, - y <envar>FTP_PASSWORD</envar>. Puede ser necesario que modifique - una o más de estas variables si está detrás de - un cortafuegos o de un proxy FTP/HTTP. Consulte la página - de manual de &man.fetch.3; si quiere ver una lista completa de - las opciones.</para> - - <para>La opción - <command>make <maketarget>fetch</maketarget></command> facilita la - tarea a los usuarios que no pueden estar permanentemente - conectados. Ejecute la orden en - <filename>/usr/ports</filename> y los ficheros necesarios se - descargarán automáticamente. Esta orden funciona - también en los subdirectorios, por ejemplo en - <filename>/usr/ports/net</filename>. - Si el port depende de bibliotecas o de otros ports la orden - <emphasis>no</emphasis> descargará los distfiles de - las dependencias. Reemplace - <maketarget>fetch</maketarget> por - <maketarget>fetch-recursive</maketarget> si quiere descargar - también las dependencias del port.</para> - - <note><para>Es posible compilar todos los ports de una categoria, - o incluso todos si eso es lo que quiere, ejecutando la - orden <command>make</command> en <filename>/usr/ports</filename>, - igual que hemos visto en - <command>make<makevar>fetch</makevar></command> - Tenga en cuenta que puede resultar peligroso, ya que algunos - ports no pueden pueden coexistir. Por otra parte puede darse que - algunos ports instalen dos ficheros distintos con el mismo - nombre.</para></note> + <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/ejemplo/ports install</userinput></screen> - <para>Puede darse el caso de que necesite descargar los tarballs de - un sitio que no sea <makevar>MASTER_SITES</makevar> (cuyo valor - indica el repositorio desde el que se descargan los ficheros). - Para cambiar el valor de la opción - <makevar>MASTER_SITES</makevar> haga lo siguiente:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput></screen> - <screen>&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> - - <para>En este ejemplo cambiamos la opción - <makevar>MASTER_SITES</makevar> - a <hostid role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> - - <para>Algunos ports permiten (o requieren) que se faciliten opciones - de compilación que habiliten o deshabiliten componentes de - la aplicación que no son necesarios, algunas opciones de - seguridad o de otro tipo. - <filename role="package"> - www/mozilla</filename>, - <filename role="package">security/gpgme</filename> y - <filename role="package">mail/sylpheed-claws</filename> son casos - típicos. Cuando existan estas opciones verá un - mensaje al respecto.</para> - </sect3> + <para>compilará el port en + <filename>/usr/home/ejemplo/ports</filename> y lo instalará + en <filename>/usr/local</filename>.</para> - <sect3> - <title>Cómo reubicar el directorio de los ports</title> - - <para>Algunas veces es útil (o imprescindible) usar - diferentes distfiles y directorios de ports. Las variables - <makevar>PORTSDIR</makevar> y <makevar>PREFIX</makevar> le - ayudará con esto. Veamos un ejemplo:</para> - - <screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/ejemplo/ports install</userinput></screen> - <para>Esto compilará el port en - <filename>/usr/home/ejemplo/ports</filename> y lo - instalará en <filename>/usr/local</filename>.</para> - <screen>&prompt.root; <userinput>make PREFIX=/usr/home/ejemplo/local install</userinput></screen> - <para>Esto compilará el port en - <filename>/usr/ports</filename> y lo - instalará en + + <para>lo compilará en <filename>/usr/ports</filename> y lo + instalará en <filename>/usr/home/ejemplo/local</filename>.</para> - <para>Y claro,</para> + <para>Y por supuesto,</para> - <screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen> + <screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen> - <para>Combinará los dos (es demasiado largo para escribirlo - completamente pero debería darle una idea de cómo - se haría).</para> - - <para>También puede cambiar estas variables como parte su - entorno. En el manual de su shell encontrará cómo - hacerlo.</para> - </sect3> + <para>combinará ambas; (ocupa demasiado para mostrarlo en una + pá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ón de su shell para más + informació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án en instalar - en <filename>/usr/X11R6</filename>. Del mismo modo - algunos ports de Perl ignoran <makevar>PREFIX</makevar> y se - instalan en el árbol de Perl. Hacer que estos ports - respeten <makevar>PREFIX</makevar> es difícil y a veces + <para>Algunos ports que usan <command>imake</command> + (un componente del Sistema X Window) no funcionan correctamente + con <makevar>PREFIX</makevar> e insistirán en instalarse + en <filename>/usr/X11R6</filename>. Del mismo modo + algunos ports de Perl ignoran <makevar>PREFIX</makevar> y se + instalan en el árbol de Perl. Hacer que estos ports + respeten <makevar>PREFIX</makevar> es difícil y a veces imposible.</para> - </sect3> + + <sect3> + <title>Reconfigurar ports</title> + + <para>Al compilar ciertos ports se le presentará un + menú basado en ncurses en el cual podrá elegir + entre más o menos opciones de compilación. No es + raro que los usuarios quieran volver a usar ese menú para + añadir, quitar o cambiar opciones una vez que el port ya + está 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á que se + le presente de nuevo el menú con las opciones que estuvieran + seleccionadas previamente. Otra opción es usar la orden + <command>make <maketarget>showconfig</maketarget></command>, que + le mostrará todas las opciones de configuración del + port. Hay otra opción más, <command>make + <maketarget>rmconfig</maketarget></command>, que borrará + todas las opciones que estuvieran seleccionadas y le permitirá + por tanto empezar desde cero. Todas estas opciones y muchas + más las encontrará descritas con gran detalle en + &man.ports.7;.</para> + </sect3> + + </sect2> <sect2 id="ports-removing"> @@ -1030,228 +1090,371 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% <primary>ports</primary> <secondary>removing</secondary> </indexterm> - <para>Ahora que sabe instalar ports probablemente quiera saber - cómo eliminarlos; puede que haya instalado alguno y - posteriormente se haya dado cuenta de que ha instalado el port - incorrecto. Vamos a desinstalar el por 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>. - Una vez ubicados en el directorio adecuado estamos listos para - eliminar <command>lsof</command>. Para ello usaremos la orden - <command>make deinstall</command>:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput> -&prompt.root; <userinput>make deinstall</userinput> -===> Deinstalling for lsof-4.57</screen> - - <para>Como ve, ha sido muy fácil. Ha eliminado - <command>lsof</command> de su sistema. Si quiere reinstalarlo - ejecute <command>make reinstall</command> en el directorio - <filename>/usr/ports/sysutils/lsof</filename>.</para> - - <para>Las órdenes <command>make deinstall</command> y - <command>make reinstall</command> no funcionan si ejecuta la - orden <command>make clean</command>. Si quiere desintalar un port - después de ejecutar <command>make clean</command> deberá - usar la orden &man.pkg.delete.1; como se describe en la - sección de - <link linkend="packages-using">Paquetes</link> del Handbook.</para> + <para>Ahora que sabe instalar ports probablemente quiera saber + có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ó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ó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ón en la Colecció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ón de Ports (y + <emphasis>antes</emphasis> de intentar actualizar ningú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ón de ficheros de + configuración o incompatibilidades con versiones + anteriores.</para> + + <para>Si <filename>UPDATING</filename> se contradice de cualquier modo + con lo que lea aquí tenga muy encuenta que lo que aparezca en + <filename>UPDATING</filename> tiene prioridad absoluta.</para> + </sect3> + + <sect3 id="portupgrade"> + <title>Actualización de ports con portupgrade</title> + + <indexterm> + <primary>portupgrade</primary> + </indexterm> + + <para>La aplicación <application>portupgrade</application> + se diseñó para actualizar fácilmente los ports + instalados en un sistema. Puede instalarla desde el port <filename + role="package">ports-mgmt/portupgrade</filename>. La + instalació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ón de forma regular y + siempre antes de una actualización.</para> + + <para>Si ejecuta <command>portupgrade -a</command> + <application>portupgrade</application> intentará actualizar + todos y cada uno de los ports instalados en su sistema. Utilice el + parámetro <option>-i</option> si quiere que le pida + confirmació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ón (y no + absolutamente todos los ports) utilice la orden <<command>portupgrade + <replaceable>nombre-de-aplicación</replaceable></command>. + Añada el modificador <option>-R</option> si quiere que + <application>portupgrade</application> actualice antes todos los + ports de los que depende la aplicación en cuestió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ó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á + 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ás información + consulte &man.portupgrade.1;.</para> + </sect3> + + <sect3 id="portmanager"> + <title>Actualización de ports con portmanager</title> + + <indexterm> + <primary>portmanager</primary> + </indexterm> + + <para><application>Portmanager</application> es otra aplicación + pensada para la actualizació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á + confirmación a cada paso que <application>Portmanager</application> + vaya a dar. <application>Portmanager</application> también + puede usarse para instalar nuevos ports. A diferencia del habitual + <command>make <maketarget>install clean</maketarget></command> + actualizará 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á también + recompilado.</para> + + <screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen> + + <para>Para más información consulte &man.portmanager.1;.</para> + </sect3> + + <sect3 id="portmaster"> + <title>Actualización de ports con portmaster</title> + + <indexterm> + <primary>portmaster</primary> + </indexterm> + + <para><application>Portmaster</application> es otra aplicación + para actualizar ports. <application>Portmaster</application> se + diseñó para que utilizara las herramientas del sistema + <quote>base</quote> (es decir, no depende de otros ports) y utiliza + la información que se almacena en el directorio + <filename class="directory">/var/db/pkg/</filename> para determinar + qué 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ías:</para> + + <itemizedlist> + <listitem> + <para>«Root ports» (no tienen dependencias, ningún port depende de ellos)</para> + </listitem> + <listitem> + <para>«Trunk ports» (no tienen dependencias, otros ports dependen de ellos)</para> + </listitem> + <listitem> + <para>«Branch ports» (tienen dependencias, otros ports dependen de ellos)</para> + </listitem> + <listitem> + <para>«Leaf ports» (tienen dependencias, ningú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ón <application>Portmaster</application> + guardará una copia de seguridad (un package) de cada port + antes de borrarlo. Si la instalacióN de la nueva versión + funciona <application>Portmaster</application> borrará el package. + Si utiliza <option>-b</option> le dirá a + <application>Portmaster</application> que no borre automáticamente + el package. Si usa el modificador <option>-i</option> arrancará + <application>Portmaster</application> en modo interactivo, lo que significa + que le pedirá confirmación antes de actualizar cada + port.</para></note> + + <para>Si se encuentra con errores durante el proceso de + actualizació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é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ás + información.</para> + </sect3> </sect2> + <sect2 id="ports-disk-space"> - <title>Los ports y el espacio de disco</title> + <title>Los ports y el espacio en disco</title> <indexterm> <primary>ports</primary> <secondary>disk-space</secondary> </indexterm> - <para>Usar la Colección de Ports consume mucho espacio de - disco según pasa el tiempo. Por culpa de la tendencia del - árbol de ports a crecer en tamaño le recomendamos - que después de compilar e instalar sofware desde los ports + <para>Usar la Colección de Ports consume mucho espacio de + disco según pasa el tiempo. Por culpa de la tendencia del + árbol de ports a crecer sin parar le recomendamos + que despué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>. Esto - eliminará el directorio <filename - class="directory">work</filename> que queda después de - compilar e instalar un port. También puede eliminar los - ficheros de código del directorio <filename - class="directory">distfiles</filename> y los ports instalados - si lo estima conveniente.</para> - - <para>Algunos usuarios limitan las categorías de ports - disponibles configurando el fichero - <filename>refuse</filename>. De esta forma, cuando ejecutan - la aplicación <application>CVSup</application>, no - descargará los ficheros de esas categoría. Puede - encontrar más información sobre el fichero - <filename>refuse</filename> en la <xref - linkend="cvsup-refuse-file">.</para> - </sect2> + <command>make <makevar>clean</makevar></command>. Puede + limpiar de un plumazo los directorios temporales de toda la + Colección de Ports con la siguiente orden:</para> - <sect2 id="ports-upgrading"> - <title>Cómo actualizar los ports</title> + <screen>&prompt.root; <userinput>portsclean -C</userinput></screen> - <indexterm> - <primary>portupgrade</primary> - </indexterm> - <indexterm> - <primary>ports</primary> - <secondary>upgrading</secondary> - </indexterm> - <note> - <para>Una vez que actualice su colección de ports - (y antes de intentar actualizar ningún port) - debería leer el fichero - <filename>/usr/ports/UPDATING</filename>. Este fichero - describe varios problemas que los usuarios pueden encontrarse - y los pasos adicionales para sortearlos al actualizar - un port.</para> - </note> + <para>Rápidamente acumulará gran cantidad de viejas + distribuciones de código en + <filename class="directory">distfiles</filename>. Puede borrarlos + a mano, pero también puede usar la siguiente orden para + borrar todos los distfiles que no tengan relación con + ningún port:</para> - <para>Mantener los ports actualizados puede ser una tarea - tediosa. Por ejemplo, para actualizar un port debe ir al - directorio del port, compilar el port, desinstalar el - port viejo, instalar el port nuevo y por último limpiar - el directorio después de compilarlo. - Imagine hacer esto con cinco ports: tedioso - ¿verdad?. Esto era un gran problema para los - administradores, pero ahora tenemos herramientas para arreglarlo. - Por ejemplo, la herramienta <filename - role="package">sysutils/portupgrade</filename> se hará - cargo de todo esto. Instáleo como cualquier otro - port mediante la orden <command>make <makevar>install - clean</makevar></command>.</para> - - <para>Ahora debe crear la base de datos con la orden <command>pkgdb - -F</command>. Esto leerá la lista de ports instalados y - creará el fichero de base de datos en el directorio - <filename>/var/db/pkg</filename>. Cuando ejecute la - orden <command>portupgrade - -a</command>, leerá esa base de datos y el fichero - <filename>INDEX</filename> de los ports. Por último, - <application>portupgrade</application> empezará a - descargar, compilar, instalar y limpiar los ports que se han - actualizado. <application>portupgrade</application> incluye - muchas opciones para diferentes necesidades, las más - importantes se exponen más adelante.</para> - - <para>Si quiere actualizar una sola aplicación y no la - base de datos completa use la orden <command>portupgrade - <replaceable>pkgname</replaceable></command>, - incluyendo el parametro <option>-r</option> si - <application>portupgrade</application> debe actualizar - también todos los paquetes que dependan de este paquete, y - <option>-R</option> si quiere que actualice todos los paquetes - de los que depende esta aplicación.</para> - - <para>Si prefiere usar paquetes en vez de ports en la - instalación use el parámetro - <option>-P</option>. Con esta opción - <application>portupgrade</application> busca - en los directorios locales que hay en <envar>PKG_PATH</envar>, o - descarga los paquetes desde internet si no los encuentra - en el sistema. Si no lo encuentra en local ni en el servidor - remoto <application>portupgrade</application> - usará los ports. Para evitar que use los ports - especifique <option>-PP</option>.</para> - - <para>Si solo quiere descargar los distfiles (o paquetes si usa - <option>-P</option>) sin compilar o instalar nada, use - <option>-F</option>. Para más información - consulte &man.portupgrade.1;.</para> + <screen>&prompt.root; <userinput>portsclean -D</userinput></screen> + + <para>También puede borrar todos los distfiles sin relación + con ningún port instalado en el sistema:</para> + + <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen> <note> - <para>Es importante actualizar la base de datos de paquetes - regularmente mediante la orden <command>pkgdb -F</command>; - De este modo corregirá inconsistencias, sobre todo cuando - <application>portupgrade</application> se lo pida. No - cancele <application>portupgrade</application> mientras esté - actualizando la base de datos de paquetes puesto que - dejaría una base de datos inconsistente.</para> + <para><command>portsclean</command> forma parte de la + «suite» <application>portupgrade</application>.</para> </note> - <para>Hay más herramientas que pueden hacer todo esto; - curiosée un poco en el directorio - <filename>ports/sysutils</filename>, a ver qué - encuentra.</para> + <para>No olvide borrar los ports instalados una vez que deja de + necesitarlos. Hay una herramienta muy útil para ayudar + a automatizar esta tarea: + <filename role="package">ports-mgmt/pkg_cutleaves</filename>.</para> + + </sect2> + </sect1> <sect1 id="ports-nextsteps"> <title>Después de instalar un port</title> - <para>Una vez que ha instalado una nueva aplicación normalmente - deberá leer la documentación que incluye, editar los - ficheros de configuración necesarios, asegurarse de que la - aplicación se ejecute al arrancar el sistema (si es un - dæmon),etc.</para> + <para>Una vez que ha instalado una nueva aplicación normalmente + deberáa leer toda la documentación que incluya, editar los + ficheros de configuración necesarios, asegurarse de que la + aplicación se ejecute al arrancar el sistema (si es un + dæmon)etc.</para> - <para>Obviamente los pasos exactos para configurar cada aplicación - son distintos de una a otra. De cualquier forma, si acaba de instalar - aplicación y se pregunta - <quote>¿Y ahora qué?</quote> estos consejos puede que le + <para>Obviamente los pasos exactos para configurar cada aplicación + son distintos de una a otra. De cualquier forma, si acaba de instalar + aplicación y se pregunta + <quote>¿Y ahora qué?</quote> estos consejos puede que le ayuden:</para> <itemizedlist> <listitem> - <para>Use &man.pkg.info.1; para ver qué ficheros se instalaron - y dónde. Por ejemplo, si instalón - el paquete FooPackage 1.0.0, lo siguiente:</para> - - <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen> - - <para>mostrará los ficheros instalados por el paquete. Preste - especial atención a los ficheros en el directorio - <filename>man/</filename>, que son las páginas de ayuda y los - del directorio <filename>etc/</filename>, que contiene los ficheros - de configuración; bajo el directorio <filename>doc/</filename> - podrá encontrar información más + <para>Use &man.pkg.info.1; para ver qué ficheros se instalaron + y dónde. Por ejemplo, si instaló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á los ficheros instalados por el paquete. Preste + especial atención a los ficheros en el directorio + <filename>man/</filename>, que son las páginas de ayuda y los + del directorio <filename>etc/</filename>, que contiene los ficheros + de configuración; bajo el directorio <filename>doc/</filename> + podrá encontrar información más detallada.</para> - <para>Si no está seguro de qué versión del - paquete ha instalado, teclée algo así:</para> + <para>Si no está seguro de qué versión del + paquete ha instalado, teclée:</para> - <screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>un-package</replaceable></userinput></screen> - <para>y le verá todos los paquetes que se llaman - <replaceable>foopackage</replaceable>. Reemplace - <replaceable>foopackage</replaceable> en la línea de - órdenes según su caso.</para> + <para>y verá todos los paquetes que se llaman + <replaceable>un-package</replaceable>. Reemplace + <replaceable>un-package</replaceable> en la línea de + órdenes que tenga que usar en su caso.</para> </listitem> <listitem> - <para>Una vez que ha identificado las páginas de manual + <para>Una vez que ha identificado las páginas de manual de la aplicación revíselas mediante &man.man.1;. - Revise también los ficheros de configuración, - así como cualquier otro tipo de documentación - incluida.</para> + Revise también los ficheros de configuración, + así como cualquier otro tipo de documentación + que venga con el software.</para> </listitem> <listitem> <para>Si la aplicación tiene sitio web visítelo. - Es muy posible que encuentre más documentación, - listas de preguntas frecuentes (FAQ), etc. Si no sabe cuál + Es muy posible que encuentre más documentación, + listas de preguntas frecuentes (FAQ), etc. Si no sabe cuál puede ser la dirección del sitio web examine la salida de la orden</para> - <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>pkg_info <replaceable>un-package-1.0.0</replaceable></userinput></screen> - <para>A veces incluye una línea <literal>WWW:</literal>, que - contiene la dirección del sitio web de la + <para>a veces incluye una línea <literal>WWW:</literal>, que + contiene la dirección del sitio web de la aplicación.</para> </listitem> <listitem> - <para>Los ports que deben arrancar con el sistema (como los + <para>Los ports que deben arrancar con el sistema (como los servidores de Internet) normalmente instalaran un - <quote>script</quote> de - ejemplo en <filename>/usr/local/etc/rc.d</filename>. Debe - revisar este <quote>script</quote> para comprobar que todo sea - correcto, editarlo o renombrarlo si fuera necesario. Consulte + <quote>script</quote> de + ejemplo en <filename>/usr/local/etc/rc.d</filename>. Debe + revisar este <quote>script</quote> para comprobar que todo sea + correcto, editarlo o renombrarlo si fuera necesario. Consulte <link - linkend="configtuning-starting-services">Cómo arrancar + linkend="configtuning-starting-services">Cómo arrancar servicios</link> para más información.</para> </listitem> @@ -1261,55 +1464,54 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% <sect1 id="ports-broken"> <title>Ports que no funcionan</title> - <para>Si encuentra un port que no funciona hay varias cosas + <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 existe un parche que lo solucione pero aún no se - ha aplicado. Si es el caso puede aplicar el parche en su - sistema.</para> + <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> - <para>Pida ayuda al responsable del mantenimiento + <para>Pida ayuda al responsable del mantenimiento (conocido como <quote>mantainer</quote>) del port. - Teclée <command>make maintainer</command> o - consulte el - <filename>Makefile</filename> del port si no sabe cuál - es la dirección de correo del mantainer. - Recuerde que debe incluir el nombre y la versión del - port. Envíe la línea que contiene - <literal>$FreeBSD:</literal> al principio del - <filename>Makefile</filename> del port y salida - con el error que obtiene al intentar usar la + Teclée <command>make maintainer</command> o + consulte el + <filename>Makefile</filename> del port si no sabe cuál + es la dirección de correo del «mantainer». + Recuerde que debe incluir el nombre y la versión del + port. Envíe la línea que contiene + <literal>$&os;:</literal> al principio del + <filename>Makefile</filename> del port y salida + con el error que obtiene al intentar usar la aplicación.</para> <note> - <para>Algunos ports no son responsabilidad de un individuo + <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 + 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éngalo en cuenta cuando envie ese correo + Por favor, téngalo en cuenta cuando envie ese correo sobre el port que no funciona.</para> - <para>Hay un caso especial: Los ports que tienen como - <quote>mantainer</quote> - <email role="nolink">freebsd-ports@FreeBSD.org</email> en - realidad no son responsabilidad de nadie. Los parches - y el soporte, caso de existir, vienen de la comunidad de - usuarios y desarrolladores que están suscritos - a la lista. Por cierto, siempre hacen falta más + <para>Hay un caso especial: Los ports que tienen como + <quote>mantainer</quote> + <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án suscritos + a la lista. Por cierto, siempre hacen falta más voluntarios.</para> </note> - <para>Si no recibe respuesta utilice &man.send-pr.1; para - enviar un informe de errores. Consulte + <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ómo escribir informes de error</ulink>) <footnote><para> @@ -1323,26 +1525,26 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% <listitem> - <para><emphasis>Arreglarlo</emphasis>. El <quote>Porter's - Handbook</quote> incluye información detallada - sobre la infraestructura de los ports, así que - puede arreglar un port roto o incluso enviar su propio + <para><emphasis>Arreglarlo</emphasis>. El <quote>Porter's + Handbook</quote> incluye información detallada + sobre la infraestructura de los ports, así que + puede arreglar un port roto o incluso enviar su propio port.</para> </listitem> <listitem> - <para>Descargue el paquete de algún sitio FTP. El + <para>Descargue el paquete de algún sitio FTP. El servidor <quote>principal</quote> de la colección de paquetes está en el <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directorio - de paquetes</ulink> de + de paquetes</ulink> de <hostid - role="fqdn">ftp.FreeBSD.org</hostid> - <emphasis>pero asegúrese de mirar antes en la + role="fqdn">ftp.FreeBSD.org</hostid> + <emphasis>pero asegúrese de mirar antes en la réplica más próxima</emphasis>. - Esta es una forma de instalar aplicaciones más + Esta es una forma de instalar aplicaciones más fácil y más rápida. Instale el paquete mediante &man.pkg.add.1;.</para </listitem> diff --git a/es_ES.ISO8859-1/books/handbook/updating/chapter.sgml b/es_ES.ISO8859-1/books/handbook/updating/chapter.sgml new file mode 100644 index 0000000000..696bcab527 --- /dev/null +++ b/es_ES.ISO8859-1/books/handbook/updating/chapter.sgml @@ -0,0 +1,676 @@ +<!-- + The FreeBSD Documentation Project + $FreeBSD$ + +i + The FreeBSD Spanish Documentation Project + %SOURCE% en_US.ISO8859-1/books/handbook/updating/chapter.sgml + %SRCID% 1.1 + + + +--> + +<chapter id="updating"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Colin</firstname> + <surname>Percival</surname> + <contrib>Basado en notas facilitadas por </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Actualización de &os;</title> + + <sect1 id="updating-synopsis"> + <title>Synopsis</title> + + <indexterm><primary>Actualización de &os;</primary></indexterm> + <indexterm> + <primary>freebsd-update</primary> + <see>Updating</see> + </indexterm> + + <para>Hay un aspecto de &os; que se ha mantenido inalterable + desde el principio: la necesidad de utilizar aplicaciones y + herramientas para obtener actualizaciones mayores y menores.</para> + + <para>Durante muchos años los usuarios que querían + actualizar su sistema, recabar parches de seguridad y conseguir + actualizaciones de ports y packages sin estropear la forma de + entender las cosas de la Colección de Ports estaban + obligados a utilizar + <application>CVSup</application>.</para> + + <para><application>CVSup</application> sigue funcionando y + ya hay una versión de dicha aplicación en lenguaje + C, pero han aparecido nuevos métodos para conseguir + actualizaciones del sistema.</para> + + <para>Herramientas como &man.portsnap.8; y &man.freebsd-update.8; + han simplificado el proceso de actualización. Estos nuevos + métodos la productividad al ofrecer una interfaz más + accesible a los usuarios. Alguna de estas nuevas herramientas puede + ejecutarse desde &man.cron.8;, reduciendo la intervención + manual del administrador del sistema; esto es una buena noticia + para quienes tienen que monitorizar cientos de + máquinas.</para> + + <para>En este capítulo se explica cómo usar estos + nuevos métodos y cómo pueden los usuarios y los + administradores de sistemas aprovechar lo práctico y + fácil de su uso.</para> + + <para>Una vez leido este capítulo sabrá usted:</para> + + <itemizedlist> + <listitem> + <para>Qué herramientas hay disponibles para actualizar el + sistema y la Colección de Ports.</para> + </listitem> + + <listitem> + <para>Cómo usar <command>freebsd-update</command> para + aplicar parches de seguridad y aplicar actualizaciones + mayores y menores de &os;.</para> + </listitem> + + <listitem> + <para>Cómo comparar el estado de un sistema instalado contra una + copia confiable.</para> + </listitem> + </itemizedlist> + + <para>Antes de leer este capítulo necesita:</para> + + <itemizedlist> + <listitem> + <para>Comprender lo básico de &unix; y &os; + (<xref linkend="basics">).</para> + </listitem> + + <listitem> + <para>Tener soltura con la configuración y la + compilación del kernel + (<xref linkend="kernelconfig">).</para> + </listitem> + + <listitem> + <para>Tener cierta familiaridad con la Colección de + Ports y la instalación de aplicaciones de terceros + en &os; + (<xref linkend="ports">).</para> + </listitem> + + <listitem> + <para>Experiencia con los diversos componentes de código + que componen &os; y cómo usar &man.mergemaster.8; + (<xref linkend="cutting-edge">).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="updating-freebsdupdate"> + <title>FreeBSD Update</title> + + <para>La aplicación de parches de seguridad es una parte + importante del mantenimiento del software. Durante mucho tiempo + en &os; este proceso no era precisamente de los más + sencillos. Había que aplicar los parches al código + fuente, recompilarlo para convertirlo en binarios y después + reinstalar esos binarios.<para> + + <para>Ahora todo ha cambiado, &os; ha incorporado una herramienta + fácil de usar llamada <command>freebsd-update</command>. Esta + herramienta tiene dos funciones. La primera es permitir la + aplicación de actualizaciones de seguridad y erratas sin + los pasos compilar e instalar. La segunda es poder aplicar + actualizaciones de versión mayores y menos.</para> + + <note> + <para>Hay actualizaciones binarias para todas las arquitecturas + y versiones de &os; soportadas por el equipo de seguridad; + no obstante, ciertas características (como las + actualizaciones del sistema operativo, hacen imprescindible + la última versión de &man.freebsd-update.8; y + &os; 6.3 o superior. Antes de actualizar a una nueva + release consulte los avisos de la release actual; es posible + que contenga información de su interés. Puede + encontrar estos anuncios aquí: + <ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para> + </note> + + <para>Si está usando <command>crontab</command> con + <command>freebsd-update</command> tendrá que dejar + de hacerlo antes de proseguir con lo que vamos hacer. Puede + instalar la última versión de + <command>freebsd-update</command>: descargue el tar.gz + de la suguiente<acronym>URL</acronym> e instálelo del + siguiente modo:</para> + + <screen>&prompt.root; <userinput>gunzip -c freebsd-update-upgrade.tgz | tar xvf -</userinput> +&prompt.root; <userinput>mv freebsd-update.sh /usr/sbin/freebsd-update</userinput> +&prompt.root; <userinput>mv freebsd-update.conf /etc</userinput></screen> + + <para>No es necesario actualizar <command>freebsd-update</command> + en las releases actuales.</para> + + <sect2> + <title>El fichero de configuración</title> + + <para>Algunos usuarios pueden querer retocar el fichero de + configuración para controlar mejor el proceso. Las + opciones disponibles están muy bien documentadas + pero hay unas pocas, que veremos a continuación, + que quizás necesiten una explicación un + poquito más más detallada.</para> + + <programlisting># Components of the base system which should be kept updated. +Components src world kernel</programlisting> + + <para>Es decir:</para> + + <programlisting># Componentes del sistema base que deben mantenerse actualizados. +Components src world kernel</programlisting> + + + <para>Este parámetro controla qué partes de &os; + deben actualizarse. Por omisión se actualiza el + código fuente del sistema, el sistema base y el + kernel. Los componentes posibles son los mismos que se + ofrecen durante la instalación, es decir, que si se + incluye en la lista de componentes a actualizar + «world/games» se actualizaría la + distribución «games». Si se incluye + «src/bin» actualizará el código + fuente bajo<filename class="directory">src/bin</filename>.</para> + + <para>Lo más razonable es dejar éste parámetro + tal y como está, puesto que modificarlo de cualquier + obligará al usuario a incluir en la lista todos y + cada uno de los elementos que quiera actualizar, lo cual + puede tener consecuencias desastrosas si el código + fuente y los binarios dejan de estar sincronizados.</para> + + <programlisting># Paths which start with anything matching an entry in an IgnorePaths +# statement will be ignored. +IgnorePaths</programlisting> + + <para>Es decir:</para> + + <programlisting># Las rutas que estén detrás de IgnorePaths serán ignoradas. +IgnorePaths</programlisting> + + + <para>Puede incluir como + <filename class="directory">/bin</filename> o + <filename class="directory">/sbin</filename> para que esos + directorios no se toquen durante la actualización + si hay en ellos cambios que haya hecho + usted.</para> + + <programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified +# statement will only be updated if the contents of the file have not been +# modified by the user (unless changes are merged; see below). +UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting> + + + <para>Es decir:</para> + + + + <programlisting># Las rutas que comiencen por algo que esté tras UpdateIfUnmodified solamente +# se actualizarán si el contenido del fichero no ha sido modificado +# por el usuario (salvo que los cambios se hayan importado; siga +# leyendo más abajo. +UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting> + + + <para>Con esto actualizará los ficheros de configuración + que estén en los directorios especificados solamente + si no han sido modificados. Cualquier cambio que el usuario + pueda hacer en ellos anulará la actualización + automática de esos ficheros. Hay otra opción, + <literal>KeepModifiedMetadata</literal>, que le dice a + <command>freebsd-update</command> que guarde los cambios que + encuentre durante la mezcla de las versiones de los ficheros.</para> + + <programlisting># When upgrading to a new &os; release, files which match MergeChanges +# will have any local changes merged into the version from the new release. +MergeChanges /etc/ /var/named/etc/</programlisting> + + + <para>Esto es:</para> + +<programlisting># Al actualizar a una nueva release de &os;, en los ficheros que aparezcan +# tras MergeChanges se mezclarán los cambios entre la versión local y la de la nueva release. + +MergeChanges /etc/ /var/named/etc/</programlisting> + + + <para>Lista los directorios con ficheros de configuración + en los que <command>freebsd-update</command> debería + intentar mezclar cambios locales con los de la nueva versión. + El proceso de mezcla consiste en una serie de parches &man.diff.1; + similar a ejecutar &man.mergemaster.8; pero con menos opciones: la + mezcla se acepta, se abre un editor o + <command>freebsd-update</command> se apaga. Si tiene alguna duda + haga una copia de seguridad de + <filename class="directory">/etc</filename> y acepte la mezcla. + Consulte el <xref linkend="cutting-edge"> si necesita más + información sobre la orden <command>mergemaster</command>.</para> + + <programlisting># Directory in which to store downloaded updates and temporary +# files used by &os; Update. +# WorkDir /var/db/freebsd-update</programlisting> + + + <para>Esto es:</para> + + + + <programlisting># Directorios donde descargar actualizaciones y guardar ficheros temporales necesarios para &os; Update. +# WorkDir /var/db/freebsd-update</programlisting> + + + <para>En este directorio es donde van a parar todos los parches + y los ficheros temporales. Cuando el usuario esté + haciendo una actualización de versión este + directorio puede llegar a ocupar un gigabyte.</para> + + <programlisting># When upgrading between releases, should the list of Components be +# read strictly (StrictComponents yes) or merely as a list of components +# which *might* be installed of which &os; Update should figure out +# which actually are installed and upgrade those (StrictComponents no)? +# StrictComponents no</programlisting> + + <para>Es decir:</para> + + <programlisting># Durante una actualización entre releases ¿Debe leerse al When upgrading between releases, should the list of Components be +# pie de la letra (StrictComponents yes) o simplemente como una lista +# de componentes que *podrían* instalarse y de las cuales &os; Update +# tendrá que decidir cuáles están instaladas y actualizarlas +# (StrictComponents no)? +# StrictComponents no</programlisting> + + + <para>Si pone <literal>yes</literal> + <command>freebsd-update</command> asumirá que la lista + de <literal>Components</literal> está completa y no + intentará cambiar nada que no esté en ella. + Dicho de otro modo, <command>freebsd-update</command> intentará + modificar cada fichero que aparezca en la lista + <literal>Components</literal>.</para> + </sect2> + + <sect2> + <title>Parches de seguridad</title> + + <para>Los parches de seguridad se almacenan en una + máquina remota y se pueden descargar e instalar + mediante la siguiente orden:</para> + + <screen>&prompt.root; <userinput>freebsd-update fetch</userinput> +&prompt.root; <userinput>freebsd-update install</userinput></screen> + + <para>Si se ha aplicado algún parche al kernel tendrá + que reiniciar. Si todo ha ido bien el sistema el sistema + ya está parcheado y <command>freebsd-update</command> + puede ejecutarse como trabajo nocturno en + &man.cron.8;. Esto se hace con una entrada en + <filename>/etc/crontab</filename>:</para> + + <programlisting>@daily root freebsd-update cron</programlisting> + + <para>Esta entrada hará que una vez al dia se + ejecutará <command>freebsd-update</command>. Al pasarle + el argumento <option>cron</option> a + <command>freebsd-update</command> solamente intentará + saber si existen actualizaciones. Si hay parches disponibles + los descargará automáticamente a disco local, pero + no los instalará. El usuario + <username>root</username> recibirá un correo + electrónico avisandole de que puede aplicarlos.</para> + + <para>Si algo ha ido mal <command>freebsd-update</command> + puede dar marcha atrás al último conjunto de + cambios si le da la siguiente orden:</para> + + <screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen> + + <para>Hecho esto el sistema tendrá que reiniciarse si el + kernel o cualquier módulo del kernel han sufrido + modificaciones. De este modo &os; podrá cargar en memoria + los nuevos binarios.</para> + + <note> + <para><command>freebsd-update</command> solamente funciona con + el kernel <filename>GENERIC</filename>. Si hace cualquier cambio + a <filename>GENERIC</filename> o utiliza un kernel personalizado + <command>freebsd-update</command> no podrá cumplir su + misión: en el primer caso fallará y en el segundo + le mostrará un error.</para> + </note> + </sect2> + + <sect2> + <title>Actualizaciones mayores y menores</title> + + <para>Este proceso borrará todos los ficheros de + objeto viejos y las librerías que harán + fallar la mayoría de las aplicaciones de terceros + que tenga en el sistema. Le recomendamos que borre y + reinstale todos sus ports o los actualice con + <filename role="package">ports-mgmt/portupgrade</filename>. + También le recomendamos que ejecute una compilación + de prueba con la siguiente orden:</para> + + <screen>&prompt.root; <userinput>portupgrade -af</userinput></screen> + + <para>De esta forma se asegura de uqe todo se reinstalará + correctamente. Recuerde que si asigna el valor + <literal>yes</literal> a la variable de entorno + <makevar>BATCH</makevar> responderá usted + que <emphasis>sí</emphasis> a todas las preguntas + que puedan surgir y por tanto requerir intervención + manual durante el proceso de compilación.</para> + + <para>Las actualizaciones a versiones mayores o menores pueden + ejecutarse facilitando a <command>freebsd-update</command> la + release a la que queremos llevar al sistema; veamos un ejemplo + en el que vamos a actualizar a + &os; 6.3:</para> + + <screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen> + + <para>Una vez que la orden ha sido recibida + <command>freebsd-update</command> lee el fichero de + configuración y la del sistema para recopilar + toda la información necesaria para actualizar el + sistema. Se le mostrará una pantalla con una + lista con los componentes detectados y tamén con + los que no han podido serlo. Veamos un ejemplo:</para> + + <screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found. +Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done. +Fetching metadata index... done. +Inspecting system... done. + +The following components of FreeBSD seem to be installed: +kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games +src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue +src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin +world/base world/info world/lib32 world/manpages + +The following components of FreeBSD do not seem to be installed: +kernel/generic world/catpages world/dict world/doc world/games +world/proflibs + +Does this look reasonable (y/n)? y</screen> + + + + <para>Lo que más o menos vendría a ser:</para> + + + + <screen>Buscando réplicas de update.FreeBSD.org ... encontrada 1 réplica. +Descargando firma de metadatos para 6.3-BETA1 from update1.&os;.org... hecho. +Descargando índice de metadatos... hecho. +Inspección del sistema... hecho. + +Parece que están instalados los siguientes componentes de &os;: +kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games +src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue +src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin +world/base world/info world/lib32 world/manpages + +Parece que no están instalados los siguientes componentes: +kernel/generic world/catpages world/dict world/doc world/games +world/proflibs + +¿Está de acuerdo? (s/n) s</screen> + + + <para>A partir de aquí <command>freebsd-update</command> + intentará descargar todos los ficheros necesarios para + la actualización del sistema. En algunos casos le + hará preguntas al usuario sobre qué o cómo + instalar.</para> + + <para>Una vez que todos los parches han sido descargados al + disco duro local hay que aplicarlos, es decir, + instalarlos. Este proceso puede llevar tiempo dependiendo + de la velocidad y la carga de trabajo que esté + sacando adelante la máquina. Los ficheros de + configuración tendrán que mezclarse: esta + parte del proceso requiere intervención del usuario + cuando un fichero tenga que ser mezclado, o cuando aparezca + un editor en pantalla para que haga una mezcla manual. Los + resultados de cada mezcla que concluya satisfactoriamente se + irán mostrando al usuario a medida que el proceso vaya + avanzando. Si falla o se ignora alguna mezcla el proceso + se interrumpirá. Le recomendamos que haga una copia + de seguridad de <filename class="directory">/etc</filename> + y mezcle manualmente los ficheros importantes (como + <filename>master.passwd</filename> o + or <filename>group</filename>) cuando acabe con la + actualización.</para> + + <note> + <para>En este punto el sistema sigue sin haber sufrido + ningún cambio, pues todo el parcheo y las + mezclas están teniendo lugar en un directorio. + Cuando todos los parches se hayan aplicado satisfactoriamente, + todos los ficheros de configuración hayan sido + mezclados y parezca -desde todos los puntos de vista- que + el proceso va del todo bien, los cambios tendrán + que ser aplicados por el usuario.</para> + </note> + + <para>Cuando el proceso esté completo la actualización + se aplicará al sistema con la siguiente orden:</para> + + <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + + <para>El kernel y los módulos del kernel se parchean en + primer lugar. Tras esto hay que reiniciar la máquina. Debe + usar la siguiente orden para reiniciar la máquina + y poder así cargar en memoria el nuevo kernel:</para> + + <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> + + <para>Una vez que haya reiniciado el sistema + arranque de nuevo <command>freebsd-update</command>. El + estado del proceso se ha guardado, así que + <command>freebsd-update</command> no empezará desde + cero, pero sí que borrará todas las bibliotecas + compartidas y ficheros objeto que ya no sean necesarios. + Introduzca la siguiente orden:</para> + + <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + + <note> + <para>Dependiendo de si hay números de versión de + bibliotecas que hayan subido habrá dos o tres pasos + instalación.</para> + </note> + + <para>Es necesario recompilar y reinstalar todo el software + de terceros. La razón de esto es que el software + que tiene instalado puede depender de bibliotecas que van + a desaparecer durante el proceso de actualización. + Puede utilizar la orden + <filename role="package">ports-mgmt/portupgrade</filename> + para automatizar el proceso. Puede usar las siguientes + órdenes para comenzar el proceso:</para> + + <screen>&prompt.root; <userinput>portupgrade -f ruby</userinput> +&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput> +&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput> +&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput> +&prompt.root; <userinput>portupgrade -af</userinput></screen> + + <para>Una vez terminado esto solamente queda usar una vez + más a <command>freebsd-update</command>. Utilice + la siguiente orden para concluir el proceso de + actualización:</para> + + <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + + <para>Reinicie la máquina y verá la nueva + versión de &os;. El proceso ha terminado.</para> + + </sect2> + + <sect2> + <title>Comparación de estado del sistema</title> + + <para>La orden <command>freebsd-update</command> puede + utilizarse para comprobar el estado de una versión + instalada de &os; contra una copia confiable. Esta + opción compara la versión instalada de las + utilidades del sistema, bibliotecas y ficheros de + configuración. Para ejecutar la comparación + ejecute la siguiente orden:</para> + + <screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen> + + <warning> + <para>Aunque el nombre de la orden sea + <acronym>IDS</acronym> bajo ningún concepto puede + utilizarse como sustituto de un sistema de detección + de intrusos <footnote><para><acronym>IDS</acronym> son las + siglas de <literal>sistema de detección + de intrusos</literal> en inglés: <literal>Intrusion + Detection System</literal>.</para></footnote> como + <filename role="package">security/snort</filename>. Dado que + <command>freebsd-update</command> almacena datos en disco las + posibilidades de manipulación son evidentes. Puede + reducirlas mediante <varname>kern.securelevel</varname> y + guardando los datos de <command>freebsd-update</command> + en un medio de solo lectura mientras no estén en + uso. O puede hacer algo mejor aún, comparar el + sistema con el contenido de un disco seguro, como un + <acronym>DVD</acronym> o un dispositivo + <acronym>USB</acronym> almacenado en sitio seguro.</para> + </warning> + + <para>El sistema se va a revisar y se generará una lista + de ficheros con sus respectivos valores hash + &man.sha256.1;. Estos valores son los de la release y de la + versión instalada. La salida se envía al fichero + <filename>outfile.ids</filename> porque pasa a una velocidad + muy superior a la necesaria para poder leer el texto y muy + rápidamente sobrepasa el tamaño del búfer + de la consola.</para> + + <para>Las líneas del fichero son además extremadamente + largas, pero el formato de salida puede manejarse muy + fácilmente. Por ejemplo, si quiere obtener una lista + de todos los ficheros diferentes de lo que aparece en la release + utilice la siguiente orden:</para> + + <screen>&prompt.root; <userinput>cat update.ids | awk '{ print $1 }' | more</userinput> +/etc/master.passwd +/etc/motd +/etc/passwd +/etc/pf.conf</screen> + + <para>La salida del ejemplo no está completa, hay + muchos otros ficheros que diferirán. Algunos de + estos ficheros tienen cambios normales, el fichero + <filename>/etc/passwd</filename> es distinto porque se han + añadido usuarios nuevos. En ciertos casos puede + haber otros ficheros distintos, como módulos del + kernel, que serán diferentes porque + <command>freebsd-update</command> los habrá + actualizado. Si quiere excluir ficheros o directorios + específicos use la opción + <literal>IDSIgnorePaths</literal> en + <filename>/etc/freebsd-update.conf</filename>.</para> + + <para>Este sistema puede utilizarse como parte de un + método muy elaborado de actualización + aparte de lo que aquí se ha explicado.</para> + </sect2> + </sect1> + + <sect1 id="updating-portsnap"> + <title>Portsnap: Una herramienta de actualización de la + Colección de Ports</title> + + <para>El sistema base de &os; tiene una herramienta para la + la actualización de la Colección de Ports: + &man.portsnap.8;. Una vez ejecutada se conectará con + un servidor remoto, verificará la firma de seguridad y + descargará una copia nueva del árbol de ports. + La firma segura se usa para verificar la integridad de todos + los ficheros que se descargan para asegurarse de que no han sido + modificados desde que fueron generados. Para descargar la + última versión de los ficheros que componen la + Colección de Ports use la siguiente orden:</para> + + <screen>&prompt.root; <userinput>portsnap fetch</userinput> +Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. +Fetching snapshot tag from portsnap1.FreeBSD.org... done. +Fetching snapshot metadata... done. +Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. +Fetching 3 metadata patches.. done. +Applying metadata patches... done. +Fetching 3 metadata files... done. +Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. +Applying patches... done. +Fetching 133 new ports or files... done.</screen> + + <!-- + No he traducido esta "captura de pantalla" porque el párrafo siguiente + la explica. No podemos meter en una cápsula al usuario y que no vea + que el sistema en realidad está en inglés. + carvay@FreeBSD.org Noviembre 2008 + --> + + + <para>Este ejemplo muestra cómo &man.portsnap.8; ha encontrado + y verificado varios parches para los ports del sistema. Indica + también que la aplicación ya había sido + ejecutada. Si hubiera sido una primera ejecución + sencillamente se hubiera descargado la colección.</para> + + <para>Una vez que &man.portsnap.8; ha obtenido los nuevos + elementos de la Colección de Ports junto con los nuevos + parches disponibles, y una vez que todos ellos han pasado la + verificación en local, ya podemos pasar a la instalación, + que efectuaremos con la siguiente orden:</para> + + + <para>Los ficheros actualizados pueden + ya instalarse tecleando lo siguiente:</para> + + <screen>&prompt.root; <userinput>portsnap extract</userinput> +/usr/ports/.cvsignore +/usr/ports/CHANGES +/usr/ports/COPYRIGHT +/usr/ports/GIDs +/usr/ports/KNOBS +/usr/ports/LEGAL +/usr/ports/MOVED +/usr/ports/Makefile +/usr/ports/Mk/bsd.apache.mk +/usr/ports/Mk/bsd.autotools.mk +/usr/ports/Mk/bsd.cmake.mk +<replaceable>...</replaceable></screen> + + <para>El proceso ha concluido y ya puede instalar o actualizar + aplicaciones desde su flamante Colección de Ports.</para> + </sect1> +</chapter> |