multiple:

clean up for other older articles which were already deleted.

	tested with a top-level 'make'
This commit is contained in:
Eitan Adler 2015-04-05 16:36:06 +00:00
parent 24dfaf47d0
commit 1fb2e18819
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46478
15 changed files with 0 additions and 6005 deletions

View file

@ -2,7 +2,6 @@
# $FreeBSDes: doc/es_ES.ISO8859-1/articles/Makefile,v 1.3 2004/10/09 02:01:17 jesusr Exp $
SUBDIR =
SUBDIR+= casestudy-argentina.com
SUBDIR+= contributing
SUBDIR+= explaining-bsd
SUBDIR+= fdp-es

View file

@ -1,19 +0,0 @@
#
# $FreeBSD$
#
# Articulo: Estudio de caso de Argentina.com
DOC?= article
FORMATS?= html
WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,385 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="es">
<info><title>Argentina.com : Un estudio de caso</title>
<authorgroup>
<author><personname><firstname>Carlos</firstname><surname>Horowicz</surname></personname><affiliation>
<address><email>ch@argentina.com</email>
</address>
</affiliation></author>
</authorgroup>
<legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.cvsup;
&tm-attrib.intel;
&tm-attrib.xfree86;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
</info>
<sect1 xml:id="overview">
<title>Introducción</title>
<para>Argentina.Com es un ISP argentino con una pequeña
infraestructura de menos de 15 empleados y cuya fuente principal de
ingresos proviene del negocio del acceso telefónico a redes
gratuito. Comenzó a operar en el año 2000 con sólo
un servidor para correo y chat.</para>
<para>Desde entonces ha crecido su presencia en un mercado
argentino de acceso telefónico a redes que genera unos 45.000
millones de minutos anualmente. Su producto más famoso proporciona
a cerca de medio millón de usuarios correo gratuito con webmail,
POP3 y acceso SMPT, junto con 300M de espacio de disco. Hacia el
final de 2002 había alrededor de 50.000 usuarios de correo.
Después de dos años y medio de reingeniería y de
sólidas mejoras
técnicas este ISP ha crecido en un factor de 3 en términos
de facturación, y en un factor de 10 en cuanto a la base de usuarios
de correo.</para>
<para>Nuestros competidores en el mercado argentino de acceso
telefónico incluyen a Fullzero (filial perteneciente a Clarin
Media Group),
Alternativa Gratis y Tutopia, este último fundado por IFX y
promocionado por Hotmail. Algunos de estos grandes competidores
comenzaron sus respectivos negocios de acceso telefónico con
inversiones multimillonarias y con campañas de publicidad agresivas
en televisión e Internet. Argentina.Com no utiliza este tipo de
publicidad. Ha alcanzado la cuarta posición con un 8% de cuota de
mercado durante los dos últimos años gracias a un calidad de
servicio superior.</para>
<para>En Argentina y en Latinoamérica en general las personas que
no poseen ordenador personal van a los llamados
<quote>locutorios</quote> (centros de Internet), donde por unos
pocos pesos pueden utilizar un ordenador conectado a Internet y
donde normalmente leen y escriben correos electrónicos a
través de portales
populares como Hotmail, Yahoo! o Argentina.Com.</para>
<para>Debido a los limitados recursos financieros disponibles,
Argentina.Com decidió invertir en un nuevo sistema de correo en vez
de darse publicidad a través de los medios. Esta decisión
estratégica abre las puertas a un futuro negocio en el campo del
correo corporativo y de pago.</para>
</sect1>
<sect1 xml:id="challenge">
<title>El desafío</title>
<para>El desafío principal para Argentina.Com es alcanzar un tiempo
de vida para el servicio de acceso telefónico a redes de al menos
99.95%, o menos de 5 horas de caídas al año. Debido a la alta
rotación y volatilidad que existe en este negocio, las cosas deben
funcionar correctamente para que el usuario no cambie
-voluntariamente o no- de proveedor de acceso a internet o de número
de teléfono utilizado para conectarse. El negocio del
<quote>dialup</quote>, como se le conoce en su denominación inglesa,
requiere una estructura de soporte para tratar con las grandes
operadoras de telecomunicaciones problemas telefónicos y de
calidad de servicio, junto con una infraestructura técnica donde la
latencia y la pérdida de paquetes deben minimizarse debido a la
naturaleza UDP de los servicio de Radius y DNS, y donde el DNS
recursivo debería estar siempre disponible.</para>
<para>Esto tambíen implica tener un tiempo de vida alto en los
servicio de POP3 y SMTP, junto con el servicio de webmail. Para
POP3 y SMTP se estimó la necesidad de <quote>uptime</quote> igual
que para el servicio de <quote>dialup</quote>, mientras que para el
servicio de webmail se pensó en un porcentaje de 99.5%, lo que
significa alrededor de dos dias por año sin servicio o de
caída.</para>
<para>Decidimos migrar el correo a una solución propietaria de
código abierto que debería ser horizontalmente escalable y cuyos
sistemas antivirus y antispam pudieran soportar más de un
único tipo
de <quote>backend</quote> o de almacenamiento de correos.</para>
<para>La feroz competencia en el mercado del correo
electrónico gratuito, principalmente iniciada por las recientes
mejoras introducidas por Hotmail, Yahoo! y Gmail, hacían necesario
diseñar el nuevo sistema con al menos 300M de espacio de usuario en
disco para cada usuario, pero a un coste inferior a 3 dólares
americanos por GB incluyendo cierto grado de redundancia. Hay que tener
en cuenta que el hardware que puede disponerse en <quote>rack</quote>
es difícil de encontrar en Argentina y que
resulta ser entre un 30 y un 40% más caro que en los EEUU. Nuestro
líquido financiero para adquisición de equipos en dos
años fue de
75.000 dólares americanos, lo cual es una fracción muy
pequeña de las
inversiones acometidas por nuestros competidores directos.</para>
<para>Respecto al servicio antispam, era necesario desarrollar un
producto que pudiera competir con los sistemas ofrecidos por los
grandes. Dadas las hostiles condiciones que impone la existencia del
spam (ataques de diccionario, spams con alto grado de ofuscación y
refinamiento, <quote>phishing</quote>, troyanos, correos-bomba,
etc.) resulta muy complicado alcanzar tiempos de <quote>uptime</quote>
excelentes y
al mismo tiempo repeler dichos ataques. Uno debe también ser
cuidadoso para que el usuario no pierda correos debido a falsos
positivos en la estrategia de clasificación, para que no se le
inunde con spam o notificaciones de spam y para que el correo
peligroso no alcance la carpeta de entrada de los usuarios. Por
último, el sistema de correo debe protegerse para que los
<quote>spammers</quote> no lo utilicen en su provecho para
enviar spam.</para>
<para>El paradigma del código abierto normalmente requiere la
adquisición de grandes equipos de administradores de sistemas,
operadores y programadores que se encarguen de aplicar parches,
corregir <quote>bugs</quote> e integrar plataformas. El paradigma opuesto es
también costoso debido a las caras licencias de software, la
necesidad de hardware cada vez más caro y debido al
elevado número de empleados encargados de proporcionar soporte.
Así que el desafío era
encontrar la mezcla correcta entre recursos monetarios y humanos
escasos, alta estabilidad y grado de predicción, y un desarrollo
rápido y fiable. En Buenos Aires resulta difícil encontrar
profesionales de las ciencias de la computación bien entrenados, la
mayoría de los cuales viven y trabajan en el extranjero, mientras
que los restantes poseen trabajos estables dentro de las
instituciones del gobierno o en grades compañías.</para>
</sect1>
<sect1 xml:id="freebsd">
<title>La solución FreeBSD</title>
<sect2 xml:id="freebsd-intro">
<title>Introducción</title>
<para>A comienzos de 2003 teníamos un sistema de correo
CriticalPath bajo Solaris x86 y una máquina Redhat
para SMTP, Radius y DNS. Los servicios de DNS y Radius se caían
constantemente y estábamos luchando con colas enormes de correo
electrónico. Hubo un intento de instalar CriticalPath para Linux
en Redhat en una máquina Intel con una tarjeta Megaraid, pero la
latencia del disco era enorme y la aplicación de correo
no llegó a funcionar.</para>
<para>El primer paso realizado hacia la <quote>solución &os;</quote>
consitió en migrar este hardware y software comercial a &os;
4.8 con la ayuda de la emulación Linux.</para>
</sect2>
<sect2 xml:id="freebsd-choice">
<title>La elección de &os;</title>
<para>El sistema operativo &os; goza de una merecida fama de por su gran
estabilidad, junto con su pragmatismo y sentido común a la hora de
poner aplicaciones <quote>on-line</quote> gracias a su excelente
<link xlink:href="http://www.FreeBSD.org/ports">colección de Ports</link>.
Nosotros consideramos su <link xlink:href="http://www.FreeBSD.org/releng">
proceso de generación de releases</link> muy sencillo de entender,
además de que la comunidad de usuarios de las listas oficiales
de correo electrónico mantiene un estilo educado y civilizado
cuando ayudan o leen los problemas de otros usuarios y sus soluciones.
</para>
<para>Otra característica importante es su rápida
implantación.
Afortunadamente pudimos establecer nuestra política de
instalación de SO alrededor de las capacidades predefinidas de
&os;. En una compañía pequeña algunas veces
necesitas ir corriendo a un centro de datos y
rápidamente levantar un servidor para
proporcionar algún servicio. En los dos últimos años,
Argentina.Com adquirió alrededor de cuarenta servidores, la
mayoría Pentium IV pero también varios Xeon duales y unos
cuantos Opteron duales para ubicarlos en los centros de datos
donde tenemos los contratos de operaciones de <quote>hosting</quote>
y de acceso
telefónico a redes. Todos ellos ejecutan &os;, desde 4.8
(un par de ellos con dos años de <quote>uptime</quote> y
cero problemas) hasta 6.0-BETA2.</para>
<para>La política general que tenemos para con el sistema
operativo consiste en intentar llevar a todos los servidores a la rama
de código estable de una forma periódica utilizando
<literal>RELENG_4</literal>, <literal>RELENG_5</literal>
y ahora <literal>RELENG_6</literal>. Estas operaciones nos permiten estar
más preparados ante posibles amenazas de seguridad a nivel del
sistema operativo o del software base del mismo, especialmente en los
servidores web.</para>
</sect2>
<sect2 xml:id="freebsd-engineer">
<title>Reingeniería básica</title>
<para>El prime paso de reingeniería fue poner en funcionamiento
dos máquinas &os; 4.8 cuya única tarea iba a consistir en
ser DNS autorizados para todos nuestros dominios. El software elegido
resultó ser BIND9. Estas máquinas se ubicaron en diferentes
centros de datos, cuidándonos de asegurar una
buena latencia entre ellos para evitar problemas en transferencias
de zonas, haciendo posible tratar con TTLs entre 60 y 600 segundos
para así poseer unos mejores márgenes de reacción
en caso de problemas.</para>
<para>El segundo paso consistió en desplegar dos máquinas
más del mismo tipo, también en distintos centros de datos,
para sólo servir Radius y DNS recursivo. Los servidores de
acceso de red (<quote>Network Access
Servers</quote> o NAS) de los operadores de telecomunicaciones se
configuraron para enviar las peticiones de autorizació y
<quote>accounting</quote> de Radius hacia los nuestros, y
también para asignar dichos DNS recursivos
a nuestros usuarios de acceso telefónico.</para>
<para>La tercera <quote>regla de oro</quote> consiste en no poner
jamás en la misma máquina el servicio de entrada
y salida de correo SMTP. Desplegamos máquinas &os; distintas
utilizando Postfix tanto para la entrada como para la salida.</para>
</sect2>
<sect2 xml:id="freebsd-email">
<title>Migración del correo</title>
<para>La migración del correo requería una
planificación cuidadosa debido al hecho de que íbamos a
a migrar tanto los frontales como los <quote>backends</quote>.
El primer paso fue construir un sistema perimetral antispam
y antivirus con &os; 4.x y 5.x basado en postfix, amavisd-new,
clamav y SpamAssassin. Estos sistemas iban a entregar correos
tanto a los antiguos sistemas como a los nuevos hasta que el
nuevo <quote>backend</quote> estuviera en funcionamiento.
Entre tanto añadimos pequeñas máquinas &os;
para incrementar el <quote>spool</quote> de correo de
CriticalPath sin ningún problema.</para>
<para>En la primera línea de la entrada de correo pusimos
varios MX del dominio Argentina.com para filtrar ataques de
diccionario (intentos de reenviar correo a usuarios no existentes)
además de una <emphasis>lista negra</emphasis> derivada de
SURBL que resultó no dar casi ningún falso positivo.
Los correos eran multiplexados hacia un
cluster de Xeon duales y Opteron duales donde ejecutábamos
amavisd-new junto con un filtrado basado en listas blancas y negras
basado en MySQL. Descartamos el uso de Bayes y Autowhitelisting
en un nivel global debido a las grandes cantidades de falsos positivos
y de falsos negativos que proporcionaban. En su lugar definimos unos
cuantos niveles de spam de menos a más tolerante, cada uno con
niveles de corte y de descarte. A cada correo electrónico
recibido el sistema le asigna una determinada puntuación.
Los correos con una puntuación por debajo de la puntuación
asociada con el nivel de corte establecido
por el nivel de spam pueden continuar hasta la bandeja de entrada del
usuario. Los correos entre el nivel de corte y el nivel de descarte se
envían a una carpeta del usuario
denominada Spam, y por último aquellos correos por encima
del nivel de
corte se descartan porque se considera una situación muy
evidente de spam.
En aras de la simplicidad, se asocian de forma transparente los correos
almacenados en la libreta de direcciones con el sistema antispam,
colocándolos en las <quote>listas blancas</quote> de forma
automática.</para>
<para>Con la introducción de Spamassassin 3.x, el tráfico
de DNS utilizado para preguntar a las listas negras de correo
creció
considerablemente, de tal forma que firmamos acuerdos con SpamCop,
Spamhaus y SURBL para instalar réplicas públicas de
sus bases de datos en nuestro equipo &os;. Gracias a estas
réplicas, que nos costaron entre 1 y 2Mbps de tráfico,
fuimos capaces de
reducir drásticamente la latencia de Spamassassin.</para>
<para>En un tercer nivel nos encontramos con la entrega a los
buzones de correo de los usuarios. Tan pronto como nos pusimos
a contruir el nuevo <quote>backend</quote> Cyrus-Imap con
autentificación MySQL,
nos dimos cuenta de que necesitábamos multiplexar el correo de
entrada a los usuarios en los formatos de los buzones nuevos y
antiguos. Finalmente, conseguimos migrar cientos de miles de
correos hacia la nueva arquitectura Cyrus utilizando una fenomenal
herramienta denominada imapsync, que se puede instalar directamente
desde los ports. También instalamos perdition (un proxy de POP3 y
de IMAP) entre medias para asegurar una migraci&acute;n transparente
y permitir la distribución entre distintos servidores de
los buzones.
En resumen, toda la información de localización de un
buzón de usuario está en MySQL, y dicha información
se encuentra disponible para todo el software que forma parte de
la cadena.</para>
<para>Respecto al hardware para el espacio de disco, actualmente
utilizamos siete máquinas &os; con Cyrus-Imap de distinto hardware.
El mayor es un Pentium IV con 4G de RAM y tarjetas 3ware
con 12 bahías extraíbles en caliente,
organizadas en 3 unidades RAID-5
de 1 Terabyte cada una. El software 3ware envía un correo
electrónico al administrador cuando el RAID se degrada
(en la mayoría de los casos se trata de errores de disco) y
es posible reconstruir el RAID con el sistema a pleno rendimiento.
Utilizamos smartmontools en los casos en los que hay
menor redundancia, para disponer inmediatamente de alertas de discos
con problemas de temperatura o de fallos de
<quote>selftests</quote>.</para>
<para>Como software de correo web elegimos un producto comercial
denominado Atmail, disponible con sus fuentes en perl y que
utiliza mod_perl. Bajo &os; resulta extremadamente
sencillo gestionar los módulos de perl y no es necesario usar
la <quote>shell</quote> de CPAN; únicamente hay que seleccionar
el port correcto y ejecutar <quote>make install</quote>. Tras varios
meses de trabajo de integración pudimos integrar la parte cliente
de Atmail que habla IMAP con nuestros <quote>backends</quote>.
Tuvimos que modificar algunas partes del código para adaptar
el producto a nuestro entorno libre y para hacerlo compatible con nuestro
perímetro antispam antivirus, además de aplicar
nuestras personalizaciones y traducciones.</para>
</sect2>
<sect2 xml:id="freebsd-web">
<title>Migración web</title>
<para>Con la adopción de &os; no hubo que realizar ningún
esfuerzo adicional para tener en ejecució en cuestion de minutos
los entornos de Apache, PHP y MySQL. Incluso las actualizaciones de
PHP4 a PHP5 se efectuaron sin problemas. El sistema de ports nos
resultó una vez más extremadamente útil
y nos permitió hacer cosas como comprimir los contenidos de texto y de
html de Apache utilizando unas pocas líneas de
documentación. Además, hemos experimentado
un rendimiento excelente y una estabilidad y <quote>uptimes</quote>
extraordinarios.</para>
</sect2>
</sect1>
<sect1 xml:id="results">
<title>Resultados</title>
<para>Conseguimos implantar una arquitectura de correo electrónico
basada en &os; que es escalable horizontalmente, utilizando 3
Terabytes de almacenamiento basado en servidores Intel incurriendo
en un coste de 3 dólares por Gigabyte con redundancia.</para>
<para>La gran estabilidad alcanzada permitió a Argentina.com explorar
otros campos como el <quote>hosting</quote> para terceros y el
<quote>housing</quote> con presencia
en los centros de datos argentinos.</para>
<para>Ahora ofrecemos también acceso telefónico a redes
corporativas para usuarios de <quote>roaming</quote> y Perú
gracias a nuestra presencia y a los acuerdos suscritos con la
mayoría de los operadores de telecomunicaciones.
Entre nuestros clientes indirectos se encuentran las principales
compañías americanas como Ford, Exxon y Reuters.
También estamos en el negocio del acceso telefónico a redes
en Brasil, Chile, Colombia y Panamá.</para>
</sect1>
</article>

View file

@ -16,7 +16,6 @@ SUBDIR+= filtering-bridges
SUBDIR+= fonts
SUBDIR+= ipsec-must
SUBDIR+= linux-users
SUBDIR+= mh
SUBDIR+= nanobsd
SUBDIR+= new-users
SUBDIR+= pam

View file

@ -1,20 +0,0 @@
#
# The FreeBSD Documentation Project
# The FreeBSD French Documentation Project
#
# $FreeBSD$
# Original revision: 1.4
#
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,726 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.2
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mh" xml:lang="fr">
<info><title>Introduction &agrave; MH</title>
<authorgroup>
<author><personname><firstname>Matt</firstname><surname>Midboe</surname></personname><affiliation>
<address><email>matt@garply.com</email></address>
</affiliation></author>
</authorgroup>
<pubdate>v1.0, 16 Janvier 1996</pubdate>
<abstract>
<para>Ce document est une introduction sur la façon d'utiliser MH
sous FreeBSD.</para>
&trans.a.gioria;
</abstract>
<releaseinfo>$FreeBSD$</releaseinfo>
</info>
<sect1>
<title>Introduction</title>
<para>MH débuta en 1977 dans la société RAND
Corporation, oû la philosophie MH fut développée. MH
n'est pas seulement un programme monolithique de courrier
électronique mais plutôt une philosophie sur la meilleure
façon de développer des outils permettant de lire son
courrier. Les développeurs de MH ont fourni un logiciel superbe
tout en adhérent au concept <acronym>KISS</acronym>&nbsp;:
&ldquo;Keep It Simple Stupid&rdquo; (Rester le plus simple
possible).</para>
<para>Plutôt que de disposer d'un seul et complexe logiciel pour
lire, envoyer et gérer ses courriers électroniques, ils
ont écrit une multitude de petits programmes
spécialisés. Certains aimeront MH pour cette
spécificité, d'autres non. Chaque outil de MH effectue une
action, et l'effectue très bien.</para>
<para>En plus de tous les outils de gestion des courriers
électroniques, chaque outil MH comporte un mécanisme de
configuration uniforme. En fait, si vous ne savez pas vraiment comment
marche un outil, ou de quels arguments il dispose, vous vous en sortez
généralement très facilement. Toutes les commandes
de MH gèrent de façon identique les fichiers de
configuration et les arguments de la ligne de commande. La chose la plus
importante est de se souvenir que vous pouvez toujours passer l'option
<option>-help</option> &agrave; une commande pour afficher toutes les
options disponibles.</para>
<para>Pour commencer, assurez vous que vous avez installé les
programmes de MH sur votre machine. Si vous disposez d'un CDROM vous
devez pouvoir l'installer en exécutant la commande
suivante&nbsp;:</para>
<informalexample>
<screen>#<userinput>&gt;pkg_add /cdrom/packages/mh-6.8.3.tgz</userinput></screen>
</informalexample>
<para>Vous verrez alors la création d'un répertoire
<filename>/usr/local/lib/mh</filename> ainsi que l'ajout de
différents binaires dans le répertoire
<filename>/usr/local/bin</filename>. Si vous préférez le
compiler vous même, vous pouvez télécharger les
sources en ftp anonyme depuis
<link xlink:href="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</link> ou
<link xlink:href="ftp://louie.udel.edu/">louie.udel.edu</link>.</para>
<para>Cette introduction n'est pas une explication détaillée
de la façon de fonctionner de MH. Elle vous permettra juste
démarrer sur la route de la façon la plus rapide de lire vos emails. Vous devrez
surement consulter les pages de manuels des différentes commandes par
la suite. De même il serait bon de lire le <link xlink:href="http://www.cis.ohio-state.edu/hypertext/faq/usenet/mh-faq/part1/faq.html">FAQ
sur MH</link> et de vous abonnez au forum de discussion <link xlink:href="news:comp.mail.mh">comp.mail.mh</link>. Cependant la meilleur
ressource sur MH est le livre écrit par Jerry Peek aux éditions
O'Reilly et Associates.</para>
</sect1>
<sect1>
<title>Lire le courrier</title>
<para>Ce chapitre explique les commandes <command>inc</command>,
<command>show</command>, <command>scan</command>, <command>next</command>,
<command>prev</command>, <command>rmm</command>, <command>rmf</command>, and
<command>msgchk</command>. Le meilleur atout de MH est la consistence de
l'interface entre les différents programmes. La chose la plus
importante &agrave; retenir lorsque l'on utilise les différentes commandes,
est la façon de spécifier une liste de messages. Dans le cas de la
commande <command>inc</command> cela n'a aucun sens mais avec des commandes
comme <command>show</command> c'est plus qu'utile.</para>
<para>Une liste de messages consiste en quelque chose comme <parameter>23 20
16</parameter>, qui corresponds aux messages 23, 20 et 16. C'est vraiment très
simple, mais vous pouvez avoir des choses plus utiles comme
<parameter>23-30</parameter> correspondant &agrave; tous les messages entre le message
23 et le message 30. Vous pouvez aussi spécifier <parameter>cur:10</parameter>,
qui correspond au message courant et aux 9 messages suivants. Les
messages <parameter>cur</parameter><parameter>last</parameter>, et <parameter>first</parameter>
sont des messages spéciaux référant au message courant, dernier
message, et premier message du dossier.</para>
<sect2 xml:id="inc">
<title><command>inc</command>, <command>msgchk</command>&mdash;lire ou vérifier vos
messages</title>
<para>Si vous tapez la commande <userinput>inc</userinput> sans arguments, vous
débutez sur la bonne voie pour lire votre courrier avec MH. La
première fois ou vous utilisez <command>inc</command>, il configurera votre
compte pour utilisez toutes les valeurs par défaut de MH et vous
demandera la création d'un répertoire Mail. Si vous avez des messages
et attente de téléchargement, vous verrez quelque chose qui peut
ressembler &agrave; ceci:
<informalexample>
<screen> 29 01/15 Doug White Re: Another Failed to boot problem&lt;&lt;On Mon, 15 J
30 01/16 "Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
32 01/16 "Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
</informalexample>
Vous obtenez la même vue que si vous utilisiez la commande <command>scan</command> (voir
<xref linkend="scan"/>). Si vous lancez <command>inc</command> sans arguments
, cela vous affiche juste le courrier qui vous est destiné.</para>
<para>Enormément de personnes utilisent le protocole POP pour lire
leur mail. MH sait utiliser le protocole POP pour rapatrier les emails
sur votre poste. Vous devez passer plusieurs arguments &agrave;
<command>inc</command> pour cela.
<informalexample>
<screen>tempest% <userinput>inc -host mail.pop.org -user NomUtilisateur -norpop</userinput></screen>
</informalexample>
Cela invoque la commande <command>inc</command> en lui disant d'aller
télécharger le courrier sur le serveur <parameter>mail.pop.org</parameter>,
avec comme nom d'utilisateur <replaceable>NomUtilisateur</replaceable>. L'option
<option>-norpop</option> demande &agrave; la commande <command>inc</command> de
télécharger le courrier en clair suivant le protocole POP3. MH
supporte plusieurs variantes du protocole POP3. Vous n'utiliserez pas
dans la plupart des cas les autres variantes. Vous pouvez effectuer
des taches plus complexes avec <command>inc</command> comme, auditer des
fichiers ou parcourir des fichiers formattés
</para>
<para>La commande <command>msgchk</command> vous permet de savoir si
vous avez ou non de nouveaux messages dans votre
boite.<command>msgchk</command> accepte les mêmes options
,<option>-host</option> et <option>-user</option>, que la commande
<command>inc</command>.</para>
</sect2>
<sect2 xml:id="show">
<title><command>show</command>, <command>next</command> et <command>prev</command>&mdash;afficher un message et se déplacer dans une boite.</title>
<para><command>show</command> vous permet de visualiser un courrier de votre boite. Comme <command>inc</command>,<command>show</command> est une commande assez franche.Si vous tapez <userinput>show</userinput> sans paramètres elle affiche le message courant. Vous pouvez aussi demander l'affichage de messages particuliers en donnant son numéro &agrave; <command>show</command>:
<informalexample>
<screen>tempest% <userinput>show 32 45 56</userinput></screen>
</informalexample>
Cela affichera les fichiers numéros 32 45 56 &agrave; la suite l'un de
l'autre. Si vous changez rien &agrave; la configuration par défaut,
<command>show</command> ne fera rien d'autre qu'un
<command>more</command> sur le fichier contenant votre message.</para>
<para><command>next</command> s'utilise pour se déplacer au message
suivant et <command>prev</command> pour revenir au message
précédent. Ces deux commandes exécutent automatiquement un
<command>show</command> ce qui vous permet de lire automatiquement le
message suivant ou précédant.</para>
</sect2>
<sect2 xml:id="scan">
<title><command>scan</command>&mdash;Afficher un résumé de vos
messages</title>
<para><command>scan</command> affiche un bref descriptif de tous les
messages de votre répertoire courant. Voici un exemple d'affichage de
la commande <command>show</command>:
<informalexample>
<screen> 30+ 01/16 "Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
32 01/16 "Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
</informalexample>
Comme tout dans MH, l'affichage est complètement configurable. Ce qui
est fournit dans l'exemple ci-dessus est l'affichage par défaut. Il
vous permet de visualiser le numéro du message, la date d'envoi,
l'envoyeur, le sujet et une partie du début du message. Le caractère
<literal>+</literal> vous indique le message courant donc si vous
tapez la commande <command>show</command> vous visualiserez ce
message.</para>
<para>Une option très utile de <command>scan</command> est l'option
<option>-reverse</option>. Cette option permet de lister l'ensemble de
vos messages en affichant en premier le message ayant le numéro le
plus élevé. Une autre option très interessante de
<command>scan</command> lui permet de lire les données depuis un
fichier. Si vous désirez parcourir votre boite aux lettres de courrier
entrant sans avoir &agrave; lancer la commande <command>inc</command>, il
vous suffit de faire <command>scan -file
/var/mail/nom_d_utilisateur</command>. Cela
peut etre fait sur n'importe quel fichier au format
<database>mbox</database>.</para>
</sect2>
<sect2 xml:id="rmm">
<title><command>rmm</command> et <command>rmf</command>&mdash; Effacer
le message courant ou le dossier</title>
<para><command>rmm</command> est utilisé pour effacer un message. Par
défaut le message n'est pas vraiment détruit mais renommé en un
fichier dont le nom est ignoré par les commandes de MH. Vous devrez
effacer physiquement de façon périodique les messages
&ldquo;effacés&rdquo;.</para>
<para>La commande <command>rmf</command> permet d'effacer un
dossier. Cela ne renomme pas les fichiers mais les efface du disque
dur, vous devez donc faire extrêmement attention lorsque vous
l'utilisez.</para>
</sect2>
<sect2 xml:id="samplereading">
<title>Un session typique de lecture avec MH</title>
<para>La première chose que vous ferez sera de lancer la commande
<command>inc</command>. Donc sous l'interpréteur de commandes tapez
<command>inc</command> et la touche <keycap>entrée</keycap>.
<informalexample>
<screen>tempest% <userinput>inc</userinput>
Incorporating new mail into inbox...
36+ 01/19 "Stephen L. Lange Request...&lt;&lt;Please remove me as contact for pind
37 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
tempest%</screen>
</informalexample>
Cela vous permet de visualiser les nouveaux messages rapatriés dans
votre boite aux lettres. La commande suivante a exécuter est
<command>show</command> pour vous permettre de les visualiser et de
vous déplacer dans votre liste de messages.
<informalexample>
<screen>tempest% <userinput>show</userinput>
Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
From: "Stephen L. Lange" &lt;stvlange@wwa.com&gt;
To: matt@garply.com
Subject: Request...
Message-Id: &lt;Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com&gt;
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Please remove me as contact for pindat.com
tempest% <userinput>rmm</userinput>
tempest% <userinput>next</userinput>
Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
Message-Id: &lt;199601191756.RAA24416@whydos.lkg.dec.com&gt;
X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro
tocol
To: hsu@clinet.fi
Cc: hackers@FreeBSD.org
Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet
boards)
In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100."
&lt;199601182318.AA11772@Sysiphos&gt;
X-Mailer: exmh version 1.5omega 10/6/94
Date: Fri, 19 Jan 1996 17:56:40 +0000
From: Matt Thomas &lt;matt@lkg.dec.com&gt;
Sender: owner-hackers@FreeBSD.org
Precedence: bulk
This is due to a typo in pcireg.h (to
which I am probably the guilty party).</screen>
</informalexample></para>
<para>La commande <command>rmm</command> efface le message courant et
la commande <command>next</command> permet de déplacer le numéro du
message courant au message suivant. Maintenant vous désirez visualiser les
dix courriers les plus récents, pour choisir lequel vous désirez lire:
<informalexample>
<screen>tempest% <userinput>scan last:10</userinput>
26 01/16 maddy Re: Testing some stuff&lt;&lt;yeah, well, Trinity has
27 01/17 Automatic digest NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
28 01/17 Evans A Criswell Re: Hey dude&lt;&lt;&gt;From matt@tempest.garply.com Tue
29 01/16 Karl Heuer need configure/make volunteers&lt;&lt;The FSF is looki
30 01/18 Paul Stephanouk Re: [alt.religion.scientology] Raw Meat (humor)&lt;
31 01/18 Bill Lenherr Re: Linux NIS Solaris&lt;&lt;--- On Thu, 18 Jan 1996 1
34 01/19 John Fieber Re: Stuff for the email section?&lt;&lt;On Fri, 19 Jan
35 01/19 support@foo.garpl [garply.com #1138] parlor&lt;&lt;Hello. This is the Ne
37+ 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
tempest%</screen>
</informalexample>
Maintenant vous voulez lire le message numéro 27, donc vous
tapez<userinput>show 27</userinput> et il s'affiche. Comme vous pouvez
le voir après ce court exemple MH est très simple &agrave; utiliser pour
visualiser et lire votre courrier et est de plus très intuitif.
</para>
</sect2>
</sect1>
<sect1>
<title>Chercher parmi les messages et les dossiers</title>
<para>Toute personne qui a beaucoup de mails aime &agrave; pouvoir mettre des
priorités, marquer les messages, les numéroter de différentes
façons. MH permet de faire toutes ces taches de façons très simple
comme d'habitude. Une chose dont nous n'avons pas encore parlé est le
concept de dossier. Vous avez sûrement utilisé le concept de dossier
avec d'autres programmes de lecture de courrier électronique. MH a
aussi des dossiers. MH peut aussi avoir des sous-dossiers de
dossiers. Un chose que vous devez avoir &agrave; l'esprit quand vous utilisez
la commande <command>inc</command>, pour la première fois, est qu'elle
demande si vous voulez créer le répertoire <filename>Mail</filename>,
et qu'elle enregistre tout dans ce répertoire. Si vous regardez ce
qu'il se trouve dans ce répertoire, vous verrez un répertoire
<filename>inbox</filename>. Ce répertoire comporte tous vos nouveaux
messages qui n'ont pas encore été déplacés dans un autre
dossier.</para>
<para>Lorsque vous créez un nouveau dossier, un répertoire est crée
sous votre répertoire <filename>Mail</filename> et les messages &agrave;
destination de se dossier sont stockés dans ce répertoire. Lorsque un
nouveau message arrive, il est déposé dans votre répertoire
<filename>inbox</filename> avec comme nom le numéro du message. Donc
même si vous n'avez pas les outils MH pour lire votre courrier,
vous pouvez utiliser les commandes standards UNIX pour vous déplacer
parmis les dossiers et visualiser vos messages. C'est cette simplicité
qui vous donne autant de puissance dans le traitement de vos
messages.</para>
<para>De la meme façon ou vous pouvez utiliser une liste de messages,
comme <parameter>23 16 42</parameter>, avec la plupart des commandes
MH; il y a une option utilisable avec toutes les commandes MH vous
permettant de travailler dans le dossier spécifié. Si vous essayer
<command>scan +freebsd</command>, vous allez parcourir le dossier
<filename>freebsd</filename>. Si vous faites un <command>show +freebsd
23 16 42</command>, la commande <command>show</command> affichera les
messages 23, 26 et 42 du dossier <filename>freebsd</filename>. Donc
souvenez vous que la syntaxe
<option>+<replaceable>dossier</replaceable></option>. Vous en aurez besoin pour
lancer les commandes dans les différents dossiers. Souvenez vous aussi
que votre dossier de courrier entrant par défaut est
<filename>inbox</filename>, donc en faisant un <command>folder
+inbox</command> vous aurez la liste de vos nouveaux messages. Bien
sur grace &agrave; la flexibilité de MH, vous pourriez changer ce dossier,
mais il y a peu d'intêret &agrave; le faire.</para>
<sect2>
<title><command>pick</command>&mdash; recherche par critères dans les
messages</title>
<para><command>pick</command> est une des commandes les plus
compliquées de MH. Je ne saurais pas mieux vous conseiller que d'aller
voir la page de manuel de
<citerefentry><refentrytitle>pick</refentrytitle><manvolnum>1</manvolnum></citerefentry>
pour bien la comprendre. La plus simple façon de s'en servir est la
suivante:
<informalexample>
<screen>tempest% <userinput>pick -search pci</userinput>
15
42
55
56
57</screen>
</informalexample>
Cela vous permet de trouver les numéros de tous les messages
comprenant le mot <literal>pci</literal> dans une des lignes du
message. Vous pouvez ensuite lancer la commande
<command>show</command> sur ces messages pour les lire ou
<command>rmm</command> pour les effacer. Vous devrez bien sur lancer
la commande suivante <command>show 15 42 55-57</command> pour les voir
tous. Une façon un peu plus compliquée d'utiliser
<command>pick</command> serait la suivante:
<informalexample>
<screen>tempest% <userinput>pick -search pci -seq pick</userinput>
5 hits
tempest% <userinput>show pick</userinput></screen>
</informalexample>
Cela vous permet de voir les memes messages que précédemment sans vous
fatiguer. L'option <option>-seq</option> n'est rien de plus qu'une
abréviation de l'option<option>-sequence</option> et la commande
<command>pick</command> n'est rien de plus qu'une sequence comportant
les numéros des messages vérifiant le critère. Vous pouvez aussi
utiliser la commande <command>rmm pick</command> pour effacer tous les
messages qui répondent au critère. Le nom de la sequence n'est pas
signifiant. Si vous relancez la commande <command>pick</command> de
nouveau, l'ancienne séquence sera effacée si vous utilisez le même
nom.</para>
<para>Si vous n'utilisiez que la commande <command>pick
-search</command>, cela peut prendre plus de temps que de chercher un
message entre un destinataire et un envoyeur. La commande
<command>pick</command> dispose donc de certains critères prédéfinis:
<variablelist>
<varlistentry>
<term><option>-to</option></term>
<listitem>
<para>recherche sur le destinataire</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-cc</option></term>
<listitem>
<para>recherche dans le champ cc du message</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-from</option></term>
<listitem>
<para>recherche sur l'expéditeur du message</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-subject</option></term>
<listitem>
<para>recherche dans le sujet du message</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-date</option></term>
<listitem>
<para>recherche par rapport &agrave; la date du message</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--<replaceable>component</replaceable></option></term>
<listitem>
<para>recherche sur un quelconque autre entête. (ex:
<option>--reply-to</option> pour rechercher dans les entêtes reply-to
des messages)</para>
</listitem>
</varlistentry></variablelist></para>
<para>Cela permet d'avoir des requetes de ce type:
<informalexample>
<screen>tempest% <userinput>pick -to freebsd-hackers@freebsd.org -seq hackers</userinput></screen>
</informalexample>
pour avoir tous les messages envoyés &agrave; la liste de diffusion hackers
de FreeBSD. <command>pick</command> vous permet de grouper de
différentes façon en fonction du critère.
<itemizedlist>
<listitem>
<para>&hellip; <option>-and</option> &hellip;</para>
</listitem>
<listitem>
<para>&hellip; <option>-or</option> &hellip;</para>
</listitem>
<listitem>
<para><option>-not</option> &hellip;</para>
</listitem>
<listitem>
<para><option>-lbrace</option> &hellip; <option>-rbrace</option></para>
</listitem>
</itemizedlist>
Ces options permettent de faire des choses comme ceci:
<informalexample>
<screen>tempest% <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</userinput></screen>
</informalexample>
Cela vous permet de retrouver tous les messages envoyés &agrave; la liste
freebsd-hackers ou mis en copie &agrave; cette liste. Les options <option>lbrace</option> et
<option>rbrace</option> vous permettent de grouper les critères ensemble. Cela peut
etre util dans certaines situations, comme dans l'exemple suivant:
<informalexample>
<screen>tempest% <userinput>pick -lbrace -to freebsd-hackers -and
-not -cc freebsd-questions -rbrace -and -subject pci</userinput></screen>
</informalexample></para>
<para>Cet exemple vous permet d'extraire tous les mails destinés &agrave; <quote>la
liste freebsd-hackers (mais qui ne sont pas mis en copie pour la liste
freebsd-questions) et dont le sujet est pci</quote>. Normalement vous
vous poseriez la question; mais quelle est la précédence des
opérateurs ? Vous vous rappelez qu'en mathématiques les expressions
sont évaluées de gauche &agrave; droite et que la multiplication et la
division ont plus de poids que les additions et les soustractions. MH
utilise les mêmes règles pour la commande <command>pick</command>. Les
combinaisons peuvent être très complexes, donc lisez la page de manuel
pour plus d'informations. Ce document est juste la pour vous aider &agrave;
découvrir MH.</para>
</sect2>
<sect2>
<title><command>folder</command>, <command>folders</command>,
<command>refile</command>&mdash; trois programmes utiles pour gérer vos
dossiers.</title>
<para>Il y a trois programmes vous permettant de gérer de façon
primitive vos dossiers. Le programme <command>folder</command> est
utilisé pour changer de dossiers, lister leur contenu. Vous pouvez
lancer la commande <command>folder
+dossier2</command> et automatiquement,
vous vous retrouverez dans le dossier
<replaceable>dossier2</replaceable>. Alors toutes les commandes MH,
telles que
<command>comp</command>,<command>repl</command>,<command>scan</command>,
et <command>show</command> utiliserons le dossier <filename>dossier2</filename>.</para>
<para>Quelques fois lorsque vous lisez et effacez dans messages vous
avez des <quote>discontinuitées</quote> dans vos dossiers. Si vous faites un
<command>scan</command> vous pouvez voir les messages 34, 35, 36, 43,
55, 56, 57, 80. Si vous faites un <command>folder -pack</command>,
cela vous permet de renuméroter tous vos messages, et vous n'aurez
plus de discontinuitées. Cela n'efface aucun message. Vous devez donc
périodiquement faire des <command>rmm</command> sur vos
messages.</para>
<para>Si vous désirez des statistiques sur vos dossiers, vous pouvez
faire des <command>folders</command> ou des <command>folder
-all</command> pour obtenir la liste de vos dossiers, combien de
messages comporte chaque dossier et quel est le message courant dans
chacun. La ligne de statistique affichée est la même que celle que
vous avez lorsque vous changez de dossier avec la commande
<command>folder +dossier2</command>. Un exemple de la commande
<command>folders</command> pourrait être:
<informalexample>
<screen> Folder # of messages ( range ); cur msg (other files)
announce has 1 message ( 1- 1).
drafts has no messages.
f-hackers has 43 messages ( 1- 43).
f-questions has 16 messages ( 1- 16).
inbox+ has 35 messages ( 1- 38); cur= 37.
lists has 8 messages ( 1- 8).
netfuture has 1 message ( 1- 1).
out has 31 messages ( 1- 31).
personal has 6 messages ( 1- 6).
todo has 58 messages ( 1- 58); cur= 1.
TOTAL= 199 messages in 13 folders.
</screen>
</informalexample></para>
<para>La commande <command>refile</command> vous permet de déplacer
les messages entre les dossiers. Si vous faites un <command>refile 23
+nouveaudossier</command>, le message 23 sera déplacer dans le dossier
<filename>nouveaudossier</filename>. Vous pouvez tout aussi bien faire
un <command>refile 23 +nouveaudossier/sousdossier1</command> qui
déplacera le message 23 dans le un sous
dossier,<filename>sousdossier1</filename>, du dossier
<filename>nouveaudossier</filename>. Si vous voulez garder un message
dans le dossier courant tout en le mettant dans un autre, vous devez
lancer la commande <command>refile -link 23 +nouveaudossier</command>,
qui gardera le message dans le dossier <filename>inbox</filename> tout
en le listant dans le dossier
<filename>nouveaudossier</filename>. Cela vous permet de réaliser
toutes les choses merveilleuses que vous pouvez faire avec MH.</para>
</sect2>
</sect1>
<sect1>
<title>Envoyer des messages</title>
<para>L'email est pour beaucoup de gens, comme une rue a double sens,
vous voudrez donc répondre a certains messages. La façon qu'emploie MH
pour envoyer des messages peut être difficile a comprendre au début,
mais il permet une énorme flexibilitée.La première chose que fait MH,
est de copier un "composant" dans votre file de messages sortant. Un
"composant" est en fait un squelette de message comportant les entêtes
<filename>To:</filename> et <filename>Subject:</filename>. Le système
lance ensuite votre éditeur favori ou vous pouvez remplir les entêtes
et composer le corps du message sous les pointillés dans le
message. Ensuite vous lancez la commande
<command>whatnow</command>. Et lorsque vous avez le prompt
<prompt>What now?</prompt>, vous pouvez répondre par une des commandes
suivante <command>send</command>, <command>list</command>, <command>edit</command>,
<command>edit</command>, <command>push</command>, and
<command>quit</command>. La plupart des commandes précédentes
s'expliquent d'elles même. Donc le processus d'envoi de message est le
suivant; copie du fichier "composant", édition de votre message, et
lancement de la commande <command>whatnow</command> en lui indiquant
quoi faire de votre message.</para>
<sect2>
<title><command>comp</command>, <command>forw</command>,
<command>reply</command>&mdash;composer, faire suivre ou répondre &agrave; un
message</title>
<para>La commande <command>comp</command> comporte quelques options de
la ligne de commande intéressantes. La plus importante est
<option>-editor</option>.Lorsque vous installez MH, un programme
appelé <command>prompter</command> est utiliser comme éditeur de
texte par défaut. Ce n'est pas un éditeur très intéressant. Donc
lorsque vous composez un message, vous utiliserez sûrement
<command>comp -editor /usr/bin/vi</command> ou <command>comp -editor
/usr/local/bin/pico</command> a la place. Après avoir lancer
<emphasis>comp</emphasis>, vous vous trouvez dans votre éditeur de
texte favori et vous voyez quelque chose qui ressemble &agrave; ceci:
<informalexample>
<screen>To:
cc:
Subject:
--------
</screen>
</informalexample></para>
<para>Vous devez ajoutez l'adresse de votre destinataire après le mot
<literal>To:</literal>. Vous devez remplir de la même manière les
autres entêtes, donc vous devez mettre le sujet après le mot
<literal>Subject:</literal>. Vous pouvez ensuite ajouter le corps de
votre message après les lignes pointillées. Cela peut vous sembler un
peu simpliste par rapport a d'autres programmes de messagerie qui vous
pose des questions et remplissent automatiquement les différents
entête, mais cela vous apporte une excellente flexibilité.
<informalexample>
<screen>To:<userinput>freebsd-rave@freebsd.org</userinput>
cc:
Subject:<userinput>Et le 8ème jour, Dieu créa le bureau des directeurs de FreeBSD</userinput>
--------
<userinput>Ouah, c'est un super système d'exploitation. Merci !</userinput></screen>
</informalexample>
Vous pouvez ensuite, sauvegarder le message et quitter votre
éditeur. Vous aurez alors le prompt <prompt>What now?</prompt> et vous
pourrez taper <userinput>send</userinput> ou <userinput>s</userinput>
et appuyer sur la touche <keycap>entrée</keycap>. Alors l'équipe
principal de développement de FreeBSD recevra votre gratitude. Comme
mentionné précédemment vous pouvez utiliser une des autres réponse,
par exemple <command>quit</command> si vous ne voulez pas envoyer ce
message.</para>
<para>La commande <command>forw</command> s'utilise de façon
similaire. La principal différence est que le message que vous envoyez
comprends dans son corps le message courant. Lorsque vous utilisez la
commande <command>forw</command>, vous faites suivre le message
courant a un autre destinataire. Vous pouvez faire suivre un autre
message en utilisant de la façon suivante <command>forw 23</command>
la commande <command>forw</command>, ainsi le message 23 sera ajoute
dans le corps du message composé. A part ces simples différences, la
commande <command>forw</command>, fonctionne de la même façon que la
commande <command>comp</command>. </para>
<para>La commande <command>repl</command> vous permet de répondre au
message courant, sauf si vous lui indiquez un autre numéro de
message. La commande <command>repl</command> essaye de remplir au
mieux les différents champs de l'entête en fonction de ce qui se
trouve dans le message de base. Vous noterez donc que le
champ<literal> To:</literal> de l'entête comporte deja l'adresse du
destinataire et que la ligne <literal>Subject:</literal> est deja
remplie. Ensuite vous composez de la façon habituelle votre
message. Un option intéressante de cette commande est
<option>-cc</option>. Vous pouvez utiliser comme paramètre
<parameter>all</parameter>, <parameter>to</parameter>,
<parameter>cc</parameter>,<parameter>me</parameter> avec cette option;
cela vous permet d'ajouter de façon simple, les adresses en copie du
message original. Vous noterez que le message original n'est pas inclus
par défaut. C'est le comportement par défaut de la plupart des
configuration de MH.
</para>
</sect2>
<sect2>
<title><filename>components</filename>, et
<filename>replcomps</filename>&mdash;les fichiers de composition pour
<command>comp</command> and <command>repl</command></title>
<para>Le fichier <filename>components</filename> se trouve la plupart
du temps dans le répertoire
<filename>/usr/local/lib/mh</filename>. Vous pouvez copier ce fichier
dans votre répertoire de MH et l'éditer pour ajouter ce que vous
voulez. Vous avez certaines lignes d'entête de mail par défaut au
début, une ligne pointillée et puis plus rien. La commande
<command>comp</command> ne fait que copier ce fichier et vous permet
ensuite de l'éditer. Vous pouvez ajouter n'importe quel entête valide
(RFC822). Par exemple, vous pourriez avoir le fichier
<filename>components</filename> suivant:
<informalexample>
<screen>To:
Fcc: out
Subject:
X-Mailer: MH 6.8.3
X-Comment: FreeBSD the power to serve
X-Home-Page: http://www.freebsd-fr.org/
-------</screen>
</informalexample>
MH copiera donc ce fichier et vous enverra dans votre éditeur
favori. Le fichier <filename>components</filename> est très simple. Si
vous désirez inclure une signature, il vous suffit de l'ajouter dans
ce fichier.</para>
<para>Le fichier <filename>replcomps</filename> est un peu plus
complexe. Son contenu par défaut ressemble &agrave; ceci:
<informalexample>
<screen>%(lit)%(formataddr %&lt;{reply-to}%?{from}%?{sender}%?{return-path}%&gt;)\
%&lt;(nonnull)%(void(width))%(putaddr To: )\n%&gt;\
%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
%&lt;(nonnull)%(void(width))%(putaddr cc: )\n%&gt;\
%&lt;{fcc}Fcc: %{fcc}\n%&gt;\
%&lt;{subject}Subject: Re: %{subject}\n%&gt;\
%&lt;{date}In-reply-to: Your message of "\
%&lt;(nodate{date})%{date}%|%(pretty{date})%&gt;."%&lt;{message-id}
%{message-id}%&gt;\n%&gt;\
--------
</screen>
</informalexample></para>
<para>Ce fichier a le même format de base que le fichier
<filename>components</filename> mais il comporte un peu plus de codes
de mise en forme. La commande <literal>%(lit)</literal> crée l'espace
nécessaire pour l'adresse. La commande <literal>%(formataddr</literal>
est une fonction qui retourne une adresse e-mail cohérente. Le morceau
suivant <literal>%&lt;</literal> permet de remplir le champ de
l'adresse avec l'adresse correspondante dans le cas ou elle se trouve
dans le champ <literal>{reply-to}</literal> du message de
l'émetteur. Cela sera donc transformé de la manière suivante:
<informalexample>
<screen>%&lt;<emphasis remap="bf">si</emphasis> {reply-to} <emphasis remap="bf"> dans le message original ou trouve un champ reply-to</emphasis>
alors la mettre dans le champ formataddr, %? <emphasis remap="bf">sinon
prendre le contenu du champ </emphasis> {from} <emphasis remap="bf"/>, %? <emphasis remap="bf">sinon</emphasis> prendre
le champ {sender} <emphasis remap="bf"/>, %?
<emphasis remap="bf">et en dernier lieu prendre le champ </emphasis> {return-path} <emphasis remap="bf"/>, %&gt; <emphasis remap="bf">endif</emphasis>.</screen>
</informalexample></para>
<para>Comme vous pouvez le voir, le formattage des champs de MH peut
être largement étendu. Vous pourrez sûrement décrypter le maximum des
autres fonctions et des noms de variables. Toutes les autres
informations sur le façon d'écrire ces chaînes de formattage se trouve
dans la page de manuel de MH. Donc lorsque vous aurez finit de créer
votre fichier <filename>replcomps</filename> vous n'aurez plus besoin
d'y toucher. Aucun autre programme ne vous donne autant de flexibilité
et de pouvoir que MH.</para>
</sect2>
</sect1>
</article>

View file

@ -18,7 +18,6 @@ SUBDIR+= freebsd-update-server
SUBDIR+= hubs
SUBDIR+= linux-users
SUBDIR+= new-users
SUBDIR+= portbuild
SUBDIR+= problem-reports
DOC_PREFIX?= ${.CURDIR}/../..

View file

@ -1,21 +0,0 @@
# The FreeBSD Documentation Project
# The FreeBSD Brazilian Portuguese Documentation Project
#
# Article: Portbuild Procedure
# Original revision: r39631
#
# $FreeBSD$
#
DOC?= article
FORMATS?= html html-split
WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

File diff suppressed because it is too large Load diff

View file

@ -21,10 +21,8 @@ SUBDIR+= gjournal-desktop
SUBDIR+= hubs
SUBDIR+= ipsec-must
SUBDIR+= mailing-list-faq
SUBDIR+= mh
SUBDIR+= new-users
SUBDIR+= pam
SUBDIR+= portbuild
SUBDIR+= pr-guidelines
SUBDIR+= problem-reports
SUBDIR+= relaydelay

View file

@ -1,21 +0,0 @@
#
# The FreeBSD Russian Documentation Project
#
# $FreeBSD$
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/mh/Makefile,v 1.3 2005/10/28 17:42:40 gad Exp $
#
# Original revision: r39631
#
# Article: An MH Primer
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,814 +0,0 @@
<?xml version="1.0" encoding="koi8-r"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!--
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/mh/article.xml,v 1.8 2005/10/29 15:46:59 gad Exp $
Original revision: r43184
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
<info><title>Учебник по <application>MH</application></title>
<authorgroup>
<author><personname><firstname>Matt</firstname><surname>Midboe</surname></personname><affiliation>
<address>
<email>matt@garply.com</email>
</address>
</affiliation></author>
</authorgroup>
<pubdate>v1.0, 16 января 1996</pubdate>
<legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.opengroup;
&tm-attrib.general;
</legalnotice>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>В этом документе даются основы работы с <application>MH</application> во FreeBSD</para>
</abstract>
</info>
<sect1 xml:id="mhintro">
<title>Введение</title>
<para><application>MH</application> ведет свою историю с 1977 года, с
компании RAND Corporation, где были разработаны основы работы
<application>MH</application>. <application>MH</application> не является
единой программой для работы с электронной почтой, но подходом к тому, как
лучше всего разрабатывать инструменты для чтения электронной почты. Разработчики
<application>MH</application> провели большую работу, твердо придерживаясь
принципа <acronym>KISS</acronym>: Keep It Simple Stupid. Вместо того, чтобы
разработать одну большую программу для чтения, отсылки и обработки
электронной почты, они написали специальные программы для каждого случая
вашей работы с электронной почтой. Некоторым нравится <application>MH</application>
по причине его специализации, которую очень проста и естественна. Каждый инструмент
в <application>MH</application> выполняет одно действие, но выполняет его
очень хорошо.</para>
<para>Кроме различных инструментов, которые можно использовать для
обработки своей электронной почты, <application>MH</application> прекрасно выполняет
работу по сохранению настроек каждого из этих инструментов однообразными и
соответствующими друг другу. На самом деле, если вы не совсем понимаете,
как что-то должно работать, и какими должны быть аргументы некоторой
команды, то вы можете попытаться угадать и окажетесь правы. Каждая
команда <application>MH</application> однообразна в обработке конфигурационных
файлов и передаче параметров командной строки. Вам полезно будет помнить,
что вы всегда можете добавить <option>-help</option> к команде для вывода опций
этой команды.</para>
<para>Первым делом вам нужно убедиться, что на вашей машине с FreeBSD
установлен пакет <application>MH</application>. Если вы устанавливали
систему с компакт-диска, то для установки <application>MH</application>
можете выполнить такую команду:
<informalexample>
<screen>&prompt.root; <userinput>pkg_add /cdrom/packages/mh-6.8.3.tgz</userinput></screen>
</informalexample>
Вы увидите, что при этом будет создан каталог
<filename>/usr/local/lib/mh</filename>, а в каталог
<filename>/usr/local/bin</filename> будут добавлены несколько выполнимых
файлов. Если вы предпочитаете откомпилировать все самостоятельно, то
можете сгрузить исходный код с общедоступного ftp-сервера по адресу
<link xlink:href="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</link> или <link xlink:href="ftp://louie.udel.edu/">louie.udel.edu</link>.</para>
<para>Этот учебник не является полным и подробным описанием того, как
работает <application>MH</application>. Он предназначен для того,
чтобы вы начали свой путь по дороге к более удобному и эффективному чтению
электронной почты. Вы должны прочесть страницы справочной системы по различным
командам. Также вас может заинтересовать телеконференция <link xlink:href="news:comp.mail.mh">comp.mail.mh</link>. Прочтите <link xlink:href="http://www.faqs.org/faqs/mail/mh-faq/">FAQ по <application>MH</application></link>.
Лучшим источником информации по <application>MH</application> является книга <link xlink:href="http://www.ics.uci.edu/~mh/book/"><application>MH</application> и nmh
Джерри Пика: электронная почта для пользователей и программистов</link>.</para>
</sect1>
<sect1>
<title>Чтение почты</title>
<para>Этот раздел посвящен тому, как использовать команды
<command>inc</command>, <command>show</command>, <command>scan</command>,
<command>next</command>, <command>prev</command>, <command>rmm</command>,
<command>rmf</command> и <command>msgchk</command>. Одной из приятнейших
особенностей <application>MH</application> является единообразие
интерфейсов программ. При использовании этих программ нужно помнить одну
особенность &mdash; способ задания списков сообщений. В случае команды
<command>inc</command> это не обязательно, но с командами типа
<command>show</command> это полезно знать.</para>
<para>Список сообщений может иметь вид типа <parameter>23 20
16</parameter>, что будет означать сообщения 23, 20 и 16. Это весьма
просто, но можно делать более полезные вещи, типа
<parameter>23-30</parameter>, что будет означать все сообщения с 23 до
30. Вы можете также указывать здесь в виде
<parameter>cur:10</parameter>, что будет действовать на текущее сообщение
и на следующие 9 сообщений. Сообщения <parameter>cur</parameter>,
<parameter>last</parameter> и <parameter>first</parameter> являются
особыми обозначениями, соответствующими текущему, последнему и первому
сообщениям в почтовом ящике.</para>
<sect2 xml:id="inc">
<title><command>inc</command>, <command>msgchk</command>&mdash;чтение
новой почты или проверка ее наличия</title>
<para>Если вы просто наберете <userinput>inc</userinput> и нажмете
<keycap>return</keycap>, то начнете работать с <application>MH</application>.
При выполнении команды <command>inc</command> в первый раз, она настроит
вашу учетную запись для использования настроек <application>MH</application>
по умолчанию и запросит создание каталога <filename>Mail</filename> в вашем
домашнем каталоге. Если у вас имеется почта, ожидающая сгрузки, вы увидите
нечто вроде следующего:</para>
<informalexample>
<screen>
29 01/15 Doug White Re: Another Failed to boot problem&lt;&lt;On Mon, 15 J
30 01/16 Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
32 01/16 Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
</informalexample>
<para>Это то же самое, что вы увидите при выполнении команды
<command>scan</command> (смотрите <xref linkend="scan"/>). Если вы
просто запустили команду <command>inc</command> без параметров, она
проверит ваш компьютер на наличие электронной почты, которая
предназначается вам.</para>
<para>Многим нравится для получения своей электронной почты использовать
протокол POP. <application>MH</application> может работать с ним для получения
вашей электронной почты. Вам нужно передать команде <command>inc</command> несколько
аргументов командной строки.</para>
<informalexample>
<screen>
&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</replaceable> -norpop</userinput>
</screen>
</informalexample>
<para>Это укажет команде <command>inc</command> на соединение с
<parameter>mail.pop.org</parameter> для сгрузки вашей электронной
почты, а также сообщит о том, что ваше имя пользователя в той системе
<replaceable>username</replaceable>. Параметр <option>-norpop</option>
указывает команде <command>inc</command> на использование обычного POP3
для сгрузки вашей электронной почты. В <application>MH</application>
имеется поддержка нескольких разновидностей POP. Более чем вероятно, что
вам никогда не придется ими пользоваться. Хотя с <command>inc</command>
вы можете выполнять более сложные действия, такие, как проверка
файлов и сканирование формата файлов, это позволит вам начать работу.</para>
<para>Команда <command>msgchk</command> используется для получения
информации о том, есть ли у вас новая почта. <command>msgchk</command>
воспринимает те же самые параметры <option>-host</option> и
<option>-user</option>, что и команда <command>inc</command>.</para>
</sect2>
<sect2 xml:id="show">
<title><command>show</command>, <command>next</command> и
<command>prev</command>&mdash;вывод и передвижение по электронной
почте</title>
<para><command>show</command> выводит письмо в вашей текущем почтовом
ящике. Как и <command>inc</command>, команда <command>show</command>
незатейлива. Если вы просто наберете <userinput>show</userinput> и
нажмете <keycap>return</keycap>, то она выдаст текущее сообщение. Вы
можете также указать конкретные номера выводимых сообщений:</para>
<informalexample>
<screen>&prompt.user; <userinput>show 32 45 56</userinput></screen>
</informalexample>
<para>По этой команде выведутся сообщения с номерами 32, 45 и 56 друг за
другом. Пока вы не поменяете действия по умолчанию, команда
<command>show</command> в основном выполняет команду
<command>more</command> над сообщением электронной почты.</para>
<para><command>next</command> используется для перехода к следующему
сообщению, а <command>prev</command> для перехода к предыдущему
сообщению. Обе команды подразумевают выполнение команды
<command>show</command>, поэтому при переходе к следующему сообщению
оно будет автоматически выведено на экран.</para>
</sect2>
<sect2 xml:id="scan">
<title><command>scan</command>&mdash;сканирование ваших сообщений</title>
<para><command>scan</command> выдает краткий список сообщений в вашем
текущем почтовом ящике. Вот пример того, что вам выдаст команда
<command>scan</command>.</para>
<informalexample>
<screen>
30+ 01/16 Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
32 01/16 Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
</informalexample>
<para>Как и практически все в <application>MH</application>, этот
вывод можно настроить. Это обычный формат вывода по умолчанию.
В нем дается номер сообщения, дата, отправитель, строка темы и
фрагмент начала письма, если он помещается. Знак
<literal>+</literal> означает, что данное сообщение является
текущим, так что при выполнении команды <command>show</command>
будет выдано именно это сообщение.</para>
<para>Одним из полезных параметров для команды scan является
<option>-reverse</option>. При этом ваши сообщения будут выдаваться в
порядке, при котором сообщения с наибольшими номерами следуют первыми,
а сообщения с меньшими номерами последними. Другим полезным параметром
для <command>scan</command> является чтение из файла. Если вы хотите
просканировать почтовый ящик с входящей почтой во FreeBSD без
использования команды <command>inc</command>, то это можно сделать
командой <command>scan -file
/var/mail/<replaceable>username</replaceable></command>. Это можно
сделать с любым файлом в формате <database>mbox</database>.</para>
</sect2>
<sect2 xml:id="rmm">
<title><command>rmm</command> и <command>rmf</command>&mdash;удаление
текущего сообщения или почтового ящика</title>
<para><command>rmm</command> используется для удаления почтового
сообщения. По умолчанию обычно сообщение на самом деле не удаляется,
а переименовывается и игнорируется командами <application>MH</application>.
Вам нужно периодически просматривать сообщения и физически удалять
<quote>удаленные</quote> сообщения.</para>
<para>Команда <command>rmf</command> используется для удаления почтовых
ящиков. Она не переименовывает файлы, а действительно их удаляет с
диска, так что при использовании этой команды вам нужно быть
внимательными.</para>
</sect2>
<sect2 xml:id="samplereading">
<title>Типичный сеанс чтения с использованием MH</title>
<para>Сначала вам нужно получить новую почту командой
<command>inc</command>. Так что в командной строке наберите
<command>inc</command> и нажмите <keycap>return</keycap>.</para>
<informalexample>
<screen>
&prompt.user; <userinput>inc</userinput>
Incorporating new mail into inbox...
36+ 01/19 Stephen L. Lange Request...&lt;&lt;Please remove me as contact for pind
37 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
38 01/19 Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
&prompt.user;</screen>
</informalexample>
<para>При этом выдается ваша новая электронная почта, которая была
добавлена в ваш почтовый ящик. Так что следующими действиями будут
вывод сообщений по команде <command>show</command> и переход от
сообщения к сообщению.</para>
<informalexample>
<screen>
&prompt.user; <userinput>show</userinput>
Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
From: "Stephen L. Lange" &lt;stvlange@wwa.com&gt;
To: matt@garply.com
Subject: Request...
Message-Id: &lt;Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com&gt;
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Please remove me as contact for pindat.com
&prompt.user; <userinput>rmm</userinput>
&prompt.user; <userinput>next</userinput>
Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
Message-Id: &lt;199601191756.RAA24416@whydos.lkg.dec.com&gt;
X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro
tocol
To: hsu@clinet.fi
Cc: hackers@FreeBSD.org
Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet
boards)
In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100."
&lt;199601182318.AA11772@Sysiphos&gt;
X-Mailer: exmh version 1.5omega 10/6/94
Date: Fri, 19 Jan 1996 17:56:40 +0000
From: Matt Thomas &lt;matt@lkg.dec.com&gt;
Sender: owner-hackers@FreeBSD.org
Precedence: bulk
This is due to a typo in pcireg.h (to
which I am probably the guilty party).</screen>
</informalexample>
<para>По команде <command>rmm</command> было удалено текущее сообщение, а
по команде <command>next</command> был выполнен переход к следующему
сообщению. Теперь, если я захочу просмотреть десять последних
сообщений для чтения одного из них, я должен сделать следующее:</para>
<informalexample>
<screen>&prompt.user; <userinput>scan last:10</userinput>
26 01/16 maddy Re: Testing some stuff&lt;&lt;yeah, well, Trinity has
27 01/17 Automatic digest NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
28 01/17 Evans A Criswell Re: Hey dude&lt;&lt;&gt;From matt@tempest.garply.com Tue
29 01/16 Karl Heuer need configure/make volunteers&lt;&lt;The FSF is looki
30 01/18 Paul Stephanouk Re: [alt.religion.scientology] Raw Meat (humor)&lt;
31 01/18 Bill Lenherr Re: Linux NIS Solaris&lt;&lt;--- On Thu, 18 Jan 1996 1
34 01/19 John Fieber Re: Stuff for the email section?&lt;&lt;On Fri, 19 Jan
35 01/19 support@foo.garpl [garply.com #1138] parlor&lt;&lt;Hello. This is the Ne
37+ 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
38 01/19 Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
&prompt.user;</screen>
</informalexample>
<para>Теперь, если я хочу прочесть сообщение номер 27, я выполняю команду
<userinput>show 27</userinput>, и сообщение будет показано. Как вы
можете видеть на примере этого простого сеанса работы,
<application>MH</application> весьма легок в использовании, а
просмотр электронной почты и ее вывод интуитивен и прост.</para>
</sect2>
</sect1>
<sect1>
<title>Папки и поиск почты</title>
<para>Любому, кто получает много электронной почты, определенно требуется
сортировать, помечать, сжимать и нумеровать свою электронную почту
различными способами. <application>MH</application> может делать
это лучше, чем какой-либо другой инструмент. Мы пока еще не обсуждали
концепцию папок. Несомненно, вы уже встречались с папками при
использовании других почтовых программ. В <application>MH</application>
также используются папки. <application>MH</application> может даже
создавать в папках вложенные в них папки. При работе с
<application>MH</application> вы должны помнить, что при запуске команды
<command>inc</command> первый раз она запрашивает создание каталога
<filename>Mail</filename> и начинает сохранять все в этом каталоге. Если
вы посмотрите на содержимое этого каталога, то обнаружите там каталог с
именем <filename>inbox</filename>. В этом каталоге находится вся ваша
входящая почта, которая не была еще никуда перемещена.</para>
<para>При создании новой папки в каталоге программы <application>MH</application>
<filename>Mail</filename> будет создан новый каталог, а сообщения этой
папки будут размещаться в этом каталоге. Когда приходит новая
электронная почта, то она размещается в каталоге
<filename>inbox</filename> в файле с именем, соответствующим номеру
сообщения. Поэтому, даже если у вас нет ни одного инструмента
<application>MH</application> для чтения вашей электронной почты,
вы можете продолжать использовать стандартные &unix; команды для
работы с этими каталогами и просмотра ваших файлов. Такой
упрощенный подход на самом деле дает вам простор для
действий, которые вы можете выполнять над вашей электронной
почтой.</para>
<para>Так же, как вы можете использовать список сообщений типа
<parameter>23 16 42</parameter> с большинством команд
<application>MH</application>, имеется режим и для папок, который вы
можете задать практически с каждой командой <application>MH</application>.
Если вы выполняете команду <command>scan +freebsd</command>, она будет
сканировать вашу папку <filename>freebsd</filename>, а ваша текущая папка
будет изменена на <filename>freebsd</filename>. При выполнении команды
<command>show +freebsd 23 16 42</command>, <command>show</command>
перейдет к вашей папке <filename>freebsd</filename> и выведет сообщения
23, 16 и 42. Поэтому запомните этот синтаксис
<option>+<replaceable>folder</replaceable></option>. Вам нужно
использовать такие команды для работы с разными папками. Помните, что
вашей папкой для почты по умолчанию является <filename>inbox</filename>,
так что выполнение команды <command>folder +inbox</command> должно всегда
вернуть вас обратно к вашей почте. Конечно, с бесконечной гибкостью
<application>MH</application> такое поведение может быть изменено, но
в большинстве случаев лучше оставить папку <command>inbox</command>.</para>
<sect2>
<title><command>pick</command>&mdash;поиск почты по некоторому
критерию</title>
<para>Команда <command>pick</command> является одной из более сложных
команд в системе <application>MH</application>. Так что вам может
понадобиться прочесть справочную страницу по
<citerefentry><refentrytitle>pick</refentrytitle><manvolnum>1</manvolnum></citerefentry>
для его более полного понимания. В простейшем случае вы можете делать
нечто вроде следующего:</para>
<informalexample>
<screen>&prompt.user; <userinput>pick -search pci</userinput>
15
42
55
56
57</screen>
</informalexample>
<para>Команде <command>pick</command> будет указано на просмотр каждой
строки всех сообщений в текущей папке и выдачу номеров тех сообщений,
в которых было найдено слово <literal>pci</literal>. Затем по команде
<command>show</command> вы можете вывести эти сообщения и прочесть их
или удалить командой <command>rmm</command>. Вам нужно задать команды
типа <command>show 15 42 55-57</command> для их вывода. Более полезной
сделать следующее:</para>
<informalexample>
<screen>
&prompt.user; <userinput>pick -search pci -seq pick</userinput>
5 hits
&prompt.user; <userinput>show pick</userinput></screen>
</informalexample>
<para>При этом будут выведены те же самые сообщения, но вам не придется
тратить на них столько усилий. Параметр <option>-seq</option> на самом
деле является сокращенным вариантом для <option>-sequence</option>, а
<command>pick</command> является именем последовательности, которая
содержит номера сообщений, которые удовлетворяют заданному условию. Вы
можете использовать последовательности практически с любой командой
<application>MH</application>. Так что вы можете выполнить команду
<command>rmm pick</command>, и все эти сообщения будут удалены. Вы
можете именовать последовательности как угодно. Если вы снова выполните
команду pick, то она перезапишет старую последовательность, если вы
используете то же самое имя.</para>
<para>Выполнение команды <command>pick -search</command> может оказаться
более длительной операцией, чем просто поиск сообщений от кого-то или
для кого-то. Поэтому <command>pick</command> позволяет вам
использовать такой предопределенный критерий поиска:</para>
<variablelist>
<varlistentry>
<term><option>-to</option></term>
<listitem>
<para>поиск по адресату сообщения</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-cc</option></term>
<listitem>
<para>поиск по содержимому <literal>cc</literal>-списка</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-from</option></term>
<listitem>
<para>поиск по тому, от кого исходит сообщение</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-subject</option></term>
<listitem>
<para>поиск электронной почты с заданной темой письма</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-date</option></term>
<listitem>
<para>поиск электронных писем с указанной датой</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--<replaceable>component</replaceable></option></term>
<listitem>
<para>поиск по любому другому компоненту заголовка письма. (То есть
<option>--reply-to</option> для поиска всех электронных писем с
определенным значением поля reply-to в заголовке)</para>
</listitem>
</varlistentry>
</variablelist>
<para>Это позволяет вам выполнять действия типа
<informalexample>
<screen>&prompt.user; <userinput>pick -to freebsd-hackers@FreeBSD.org -seq hackers</userinput></screen>
</informalexample>
для получения списка всех электронных писем, посланных в список
рассылки FreeBSD hackers. Команда <command>pick</command> также
позволяет вам группировать эти критерии различными способами при помощи
следующих параметров:</para>
<itemizedlist>
<listitem>
<para>&hellip; <option>-and</option> &hellip;</para>
</listitem>
<listitem>
<para>&hellip; <option>-or</option> &hellip;</para>
</listitem>
<listitem>
<para><option>-not</option> &hellip;</para>
</listitem>
<listitem>
<para><option>-lbrace</option> &hellip;
<option>-rbrace</option></para>
</listitem>
</itemizedlist>
<para>Эти команды позволяют вам выполнять следующее</para>
<informalexample>
<screen>&prompt.user; <userinput>pick -to freebsd-hackers -or -cc freebsd-hackers</userinput></screen>
</informalexample>
<para>При этом будет взята вся почта в вашем входящем
почтовом ящике <filename>inbox</filename>,
которая была послана по адресу freebsd-hackers или этот адрес
присутствовал в cc-списке. Параметры brace позволяют вам группировать
критерии поиска. Иногда это очень нужно, как в следующем
примере</para>
<informalexample>
<screen>&prompt.user; <userinput>pick -lbrace -to freebsd-hackers -and
-not -cc freebsd-questions -rbrace -and -subject pci</userinput></screen>
</informalexample>
<para>В общем, это означает <quote>выбрать (во freebsd-hackers и не
в cc-списке для freebsd-questions) с темой pci</quote>. По этой
команде должна быть просмотрена ваша папка и найдены все сообщения,
посланные в список freebsd-hackers, которые не были также включены в
cc-список для freebsd-questions, и в строке темы которых присутствовало
упоминание <quote>pci</quote>. Теперь вам стоит задуматься о том,
что называется порядком выполнения операторов. Помните, как при
вычислении значений математических выражений вы начинали слева
направо и сначала умножали и делили, и только потом складывали
и вычитали? В <application>MH</application> присутствует тот же набор
правил для команды <command>pick</command>. Он достаточно
сложен, так что вам нужно будет изучить справочную страницу. Этот
документ только знакомит с <application>MH</application>.</para>
</sect2>
<sect2>
<title><command>folder</command>, <command>folders</command>,
<command>refile</command>&mdash;три полезные программы для управления
папками</title>
<para>Имеются три программы, которые предназначены только для управления
вашими папками. Программа <command>folder</command> используется для
переключения между папками, их сжатия и вывода их списка. В самом
простом случае вы можете выполнить команду <command>folder
+<replaceable>newfolder</replaceable></command>, и вы переключитесь на
папку <replaceable>newfolder</replaceable>. С этого момента все ваши
команды <application>MH</application> типа <command>comp</command>, <command>repl</command>,
<command>scan</command> и <command>show</command> будут выполняться над
этой папкой <command>newfolder</command>.</para>
<para>Иногда при чтении и удалении сообщений в ваших папках образуются
<quote>holes</quote>. Если вы выполните команду
<command>scan</command>, то можете увидеть только сообщения 34, 35, 36,
43, 55, 56, 57, 80. Если вы выполните команду
<command>folder -pack</command>, то она перенумерует все ваши
сообщения, так что там не будет дыр. Однако она не удаляет никаких
сообщений. Так что вам может понадобиться периодически просматривать
и физически удалять <command>rmm</command>-сообщения.</para>
<para>Если вам нужна информация о ваших папках, вы можете получить ее
командами <command>folders</command> или
<command>folder -all</command>, которые выводят список всех ваших
папок, количество хранящихся в них сообщений, номер текущего сообщения
в каждой папке, и так далее. Такая строка статистики, которую выводят
эти команды для всех папок, имеет тот же самый вид, что вы получаете
при смене папки по команде <command>folder +foldername</command>.
Результат выполнения команды <command>folders</command> выглядит
примерно так:</para>
<informalexample>
<screen> Folder # of messages ( range ); cur msg (other files)
announce has 1 message ( 1- 1).
drafts has no messages.
f-hackers has 43 messages ( 1- 43).
f-questions has 16 messages ( 1- 16).
inbox+ has 35 messages ( 1- 38); cur= 37.
lists has 8 messages ( 1- 8).
netfuture has 1 message ( 1- 1).
out has 31 messages ( 1- 31).
personal has 6 messages ( 1- 6).
todo has 58 messages ( 1- 58); cur= 1.
TOTAL= 199 messages in 13 folders.</screen>
</informalexample>
<para>Команду <command>refile</command> нужно использовать для
перемещения сообщения между папками. Когда вы выполняете команду типа
<command>refile 23 +netfuture</command>, то сообщение номер 23
перемещается в папку <filename>netfuture</filename>. Вы можете также
выполнить команду типа <command>refile 23 +netfuture/latest</command>,
которая поместит сообщение номер 23 в папку с именем
<filename>latest</filename>, вложенную в папку
<filename>netfuture</filename>. Если вы хотите сохранить сообщение
в текущей папке и связать его, вы можете выполнить команду
<command>refile -link 23 +netfuture</command>, которая оставит 23
в вашем текущей папке <filename>inbox</filename>, но также и в вашей
папке <filename>netfuture</filename>. Наверное, вы уже начали
понимать, какие по настоящему мощные действия вы можете выполнять с
<application>MH</application>.</para>
</sect2>
</sect1>
<sect1>
<title>Посылка почты</title>
<para>Электронная почта для большинства людей является улицей с движением
в два ряда, так что вы можете захотеть послать что-то обратно. Способ,
каким <application>MH</application> выполняет посылку почты, может
сначала показаться трудным для использования, но он обеспечивает
удивительную гибкость. Сначала <application>MH</application>
копирует файл компонентов в исходящую электронную почту. Файл
компонентов в основном представляет собой скелет электронного письма с уже
помещенными туда заголовками <literal>To:</literal> и <literal>Subject:</literal>.
Затем вы отсылаетесь к редактору текстов, в котором вы заполняете
информацию заголовков и набираете тело письма ниже разделительных
строк. При закрытии редактора вызывается программа
<command>whatnow</command>. Находясь в приглашении
<prompt>What now?</prompt>, вы можете выбрать одно из действий
<command>send</command>, <command>list</command>,
<command>edit</command>, <command>push</command> или
<command>quit</command>. Большинство этих команд говорят сами за себя.
Итак, процесс посылки сообщения включает
копирование файла компонент, редактирование вашей электронной почты и
указание программе <command>whatnow</command> действия, которое нужно
сделать с вашей электронной почтой.</para>
<sect2>
<title><command>comp</command>, <command>forw</command>,
<command>reply</command>&mdash;создание, пересылка или ответ на
чье-либо сообщение</title>
<para>Программа <command>comp</command> имеет несколько полезных
параметров командной строки. Самой важной сейчас является опция
<option>-editor</option>. При установке <application>MH</application>
используемым по умолчанию редактором обычно становится программа
<command>prompter</command>, поставляемая с <application>MH</application>.
Это не очень привлекательный редактор, он просто
делает то, что должен делать. Так что когда вы собираетесь написать
кому-либо письмо, вы можете воспользоваться командами
<command>comp -editor /usr/bin/vi</command> или <command>comp -editor
/usr/local/bin/pico</command>. После запуска
<emphasis>comp</emphasis> вы оказываетесь в вашем редакторе и видите
нечто вроде следующего:</para>
<informalexample>
<screen>To:
cc:
Subject:
--------</screen>
</informalexample>
<para>Вам нужно указать персону, которой вы посылаете почту, после строки
<literal>To:</literal>. То же самое относится и к остальным
заголовкам, так что вам нужно будет указать тему письма после строки
<literal>Subject:</literal>. Затем вам просто нужно набрать тело
письма после разделительной строки. Это может показаться несколько
упрощенным, так как многие почтовые программы имеют специальные
опросники, которые запрашивают у вас эту информацию, но необходимости в
этом нет. Плюс это на самом деле дает вам дополнительную
гибкость.</para>
<informalexample>
<screen>To:<userinput>freebsd-rave@FreeBSD.org</userinput>
cc:
Subject:<userinput>And on the 8th day God created the FreeBSD core team</userinput>
--------
<userinput>Wow this is an amazing operating system. Thanks!</userinput></screen>
</informalexample>
<para>Теперь вы можете сохранить это сообщение и выйти из редактора. Вы
увидите приглашение <prompt>What now?</prompt> и здесь можете набрать
<userinput>send</userinput> или <userinput>s</userinput> и нажать
<keycap>return</keycap>. После этого основная группа разработчиков
FreeBSD получит свои слова восхищения. Как я отмечал выше, вы можете
также воспользоваться другими командами в приглашении <prompt>What now?</prompt>. Например,
вы можете использовать <command>quit</command>, если не хотите посылать сообщение.</para>
<para>Команда <command>forw</command> ошеломляюще похожа. Большим
отличием является то, что сообщение, которое вы пересылаете,
автоматически включается в исходящее сообщение. Когда вы выполняете
команду <command>forw</command>, она будет пересылать ваше текущее
сообщение. Вы всегда можете указать на пересылку другого сообщения,
выполняя команду <command>forw 23</command>, после чего в исходящее
сообщение будет помещено сообщение номер 23, а не текущее сообщение.
Кроме этих маленьких различий, команда <command>forw</command> работает
абсолютно так же, как <command>comp</command>. Вы проходите через
в точности такой же процесс посылки сообщения.</para>
<para>По команде <command>repl</command> будет делаться ответ на текущее
сообщение, если только вы не указали другой номер сообщения. Команда
<command>repl</command> приложит все усилия, чтобы забежать вперед и
заполнить некоторые заголовки почтового сообщения. Поэтому вы
заметите, что в заголовке <literal>To:</literal> уже присутствует
адрес получателя. Также уже будет заполнена строка
<literal>Subject:</literal>. Затем вы проходите обычный процесс
написания сообщения и на этом все завершается. Здесь полезно знать о
параметре командной строки <option>-cc</option>. Вы можете
использовать параметры <parameter>all</parameter>,
<parameter>to</parameter>, <parameter>cc</parameter> и
<parameter>me</parameter> после <option>-cc</option> для того, чтобы
<command>repl</command> автоматически добавила различные адреса к
<literal>Cc:</literal>-списку сообщения. Вы, наверное, заметили,
что исходное сообщение не будет включаться. Это происходит, потому
что в большинстве настроек <application>MH</application> так
указано изначально.</para>
</sect2>
<sect2>
<title>Файлы <filename>components</filename> и
<filename>replcomps</filename>&mdash;файлы компонент для команд
<command>comp</command> и <command>repl</command></title>
<para>Файл <filename>components</filename> обычно располагается в
каталоге <filename>/usr/local/lib/mh</filename>. Вы можете скопировать
этот файл в ваш каталог Mail для <application>MH</application> и
отредактировать его так, чтобы он содержал то, что вы хотите. Это
достаточно простой файл. В начале файла расположены различные
почтовые заголовки, разделительная строка и больше ничего. Команда
<command>comp</command> просто копирует этот
файл <filename>components</filename> и затем редактирует его. Вы
можете добавить любой соответствующий стандарту RFC822 заголовок.
Например, в вашем файле <filename>components</filename> вы можете
поместить следующее:</para>
<informalexample>
<screen>
To:
Fcc: out
Subject:
X-Mailer: MH 6.8.3
X-Home-Page: http://www.FreeBSD.org/
-------</screen>
</informalexample>
<para>Тогда <application>MH</application> будет копировать этот файл
компонентов и передаст его в ваш редактор. Файл
<filename>components</filename> весьма прост. Если
вы хотите в сообщениях иметь подпись, просто поместите вашу подпись в
этот файл <filename>components</filename>.</para>
<para>Файл <filename>replcomps</filename> несколько более сложен. По
умолчанию <filename>replcomps</filename> имеет такой вид:</para>
<informalexample>
<screen>
%(lit)%(formataddr %&lt;{reply-to}%?{from}%?{sender}%?{return-path}%&gt;)\
%&lt;(nonnull)%(void(width))%(putaddr To: )\n%&gt;\
%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
%&lt;(nonnull)%(void(width))%(putaddr cc: )\n%&gt;\
%&lt;{fcc}Fcc: %{fcc}\n%&gt;\
%&lt;{subject}Subject: Re: %{subject}\n%&gt;\
%&lt;{date}In-reply-to: Your message of "\
%&lt;(nodate{date})%{date}%|%(pretty{date})%&gt;."%&lt;{message-id}
%{message-id}%&gt;\n%&gt;\
--------</screen>
</informalexample>
<para>Он имеет такой же простой формат, как и файл
<filename>components</filename>, но содержит несколько дополнительных
форматирующих кодов. Команда <literal>%(lit)</literal> определяет
место для адреса. <literal>%(formataddr)</literal> является функцией,
которая возвращает полный адрес электронной почты. Следующей частью
является <literal>%&lt;</literal>, которая означает условие если и
<literal>{reply-to}</literal> соответствует полю reply-to исходного
сообщения. Таким образом, это может быть проинтерпретировано
следующим образом:</para>
<informalexample>
<screen>
%&lt;<emphasis remap="bf">if</emphasis> {reply-to}
<emphasis remap="bf">в исходном сообщении имеется поле reply-to</emphasis>
то передать его в formataddr, %? <emphasis remap="bf">else</emphasis> {from}
<emphasis remap="bf">взять адрес from</emphasis>,
%? <emphasis remap="bf">else</emphasis> {sender}
<emphasis remap="bf">взять адрес sender</emphasis>, %?
<emphasis remap="bf">else</emphasis> {return-path}
<emphasis remap="bf">взять return-path из исходного сообщения</emphasis>,
%&gt; <emphasis remap="bf">endif</emphasis>.</screen>
</informalexample>
<para>Как вы можете видеть, форматирование <application>MH</application>
может быть достаточно сложным. Вы можете выяснить, что значат остальные
функции и переменные. Вся информация по написанию строк в таком формате
находится в справочной странице по MH. Действительно удобной вещью
является то, что единожды создав собственный файл
<filename>replcomps</filename>, вам не нужно больше его трогать. Ни
одна другая почтовая программа не даст вам той мощи и гибкости, что
дает вам <application>MH</application>.</para>
</sect2>
</sect1>
</article>

View file

@ -1,23 +0,0 @@
#
# The FreeBSD Russian Documentation Project
#
# $FreeBSD$
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/portbuild/Makefile,v 1.1 2004/07/10 09:56:33 marck Exp $
#
# Original revision: r21147
#
# Article: Portbuild Procedure
#
DOC?= article
FORMATS?= html
WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,753 +0,0 @@
<?xml version="1.0" encoding="koi8-r"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!--
The FreeBSD Russian Documentation Project
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/portbuild/article.xml,v 1.11 2007/05/15 19:23:49 gad Exp $
Original revision: r28574
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
<info><title>ðÒÏÃÅÓÓ ÐÏÓÔÒÏÅÎÉÑ ÐÁËÅÔÏ×</title>
<authorgroup>
<author><orgname>çÒÕÐÐÁ ÐÏÄÄÅÒÖËÉ ÐÏÒÔÏ× &os;</orgname></author>
</authorgroup>
<copyright>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<holder role="mailto:portmgr@FreeBSD.org">çÒÕÐÐÁ ÐÏÄÄÅÒÖËÉ ÐÏÒÔÏ×
&os;</holder>
</copyright>
<legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
</info>
<sect1 xml:id="intro">
<title>÷×ÅÄÅÎÉÅ</title>
<para>äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÄÇÏÔÏ×ÉÔØ ÐÒÅÄËÏÍÐÉÌÉÒÏ×ÁÎÎÙÅ ×ÅÒÓÉÉ
ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÉÌÏÖÅÎÉÊ ÄÌÑ &os;, ÎÁ ÏÄÎÏÍ ÉÚ <quote>ëÌÁÓÔÅÒÏ× ÓÂÏÒËÉ
ÐÁËÅÔÏ×</quote> ÒÅÇÕÌÑÒÎÏ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÓÂÏÒËÁ ÐÏÌÎÏÇÏ ÄÅÒÅ×Á ÐÏÒÔÏ×.
÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ ÓÕÝÅÓÔ×ÕÅÔ Ä×Á ÔÁËÉÈ ËÌÁÓÔÅÒÁ:
<systemitem class="fqdomainname">pointyhat.FreeBSD.org</systemitem> É
<systemitem class="fqdomainname">dosirak.kr.FreeBSD.org</systemitem>.</para>
<para>âÏÌØÛÁÑ ÞÁÓÔØ <quote>ÍÁÇÉÉ</quote> ÐÒÏÃÅÓÓÁ ÓÂÏÒËÉ
ÓÏÓÒÅÄÏÔÏÞÅÎÁ × ÄÅÒÅ×Å ËÁÔÁÌÏÇÏ× <filename>/var/portbuild</filename>.
åÓÌÉ ÎÅ ÏÇÏ×ÁÒÉ×ÁÅÔÓÑ ÉÎÏÅ, ×ÓÅ ÐÕÔÉ ÕËÁÚÁÎÙ ÏÔÎÏÓÉÔÅÌØÎÏ ÜÔÏÇÏ
ËÁÔÁÌÏÇÁ. <replaceable>${arch}</replaceable> ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÕËÁÚÁÎÉÑ
ÎÁ ÁÒÈÉÔÅËÔÕÒÕ ÐÌÁÔÆÏÒÍÙ ÓÂÏÒËÉ (&i386;, alpha, &sparc64;, ia64 ÉÌÉ
amd64); <replaceable>${branch}</replaceable> ÏÐÉÓÙ×ÁÅÔ ×ÅÔר ÐÏÓÔÒÏÅÎÉÑ
(4, 5, 5-exp, 6, 6-exp É 7).
</para>
</sect1>
<sect1 xml:id="management">
<title>ëÏÎÆÉÇÕÒÁÃÉÑ ÍÁÛÉÎ-ËÌÉÅÎÔÏ×</title>
<para>ëÌÉÅÎÔÙ ÁÒÈÉÔÅËÔÕÒ &i386;, alpha, amd64 É Ä×Á ÉÚ &sparc64; ËÌÉÅÎÔÏ×
ÚÁÇÒÕÖÁÀÔÓÑ ÐÏ ÓÅÔÉ Ó <systemitem>pointyhat</systemitem>; ÐÒÏÞÉÅ sparc64 ËÌÉÅÎÔÙ
É ÍÁÛÉÎÙ ÄÌÑ ÓÂÏÒËÉ ia64 ÚÁÇÒÕÖÁÀÔÓÑ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ. ôÁË ÉÌÉ ÉÎÁÞÅ, ×ÓÅ
ÏÎÉ × ÐÒÏÃÅÓÓÅ ÚÁÇÒÕÚËÉ ÐÏÄÇÏÔÁ×ÌÉ×ÁÀÔÓÑ Ë ÓÂÏÒËÅ ÐÁËÅÔÏ×.
</para>
<para>÷ ÓÅÒÉÉ ÐÏÓÌÅÄÎÉÈ ÏÂÎÏ×ÌÅÎÉÊ ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÐÏÄÄÅÒÖËÁ
<replaceable>ÎÅÓ×ÑÚÁÎÎÙÈ (disconnected)</replaceable> ÕÚÌÏ× ËÌÁÓÔÅÒÁ.
îÅÓ×ÑÚÁÎÎÙÊ ÕÚÅÌ ÎÅ ÍÏÎÔÉÒÕÅÔ ÍÁÓÔÅÒ-ÍÁÛÉÎÕ ËÌÁÓÔÅÒÁ ÐÏ NFS, É ÍÏÖÅÔ,
ÔÁËÉÍ ÏÂÒÁÚÏÍ, ÂÙÔØ ÄÏÓÔÁÔÏÞÎÏ ÕÄÁÌÅÎ ÏÔ ÃÅÎÔÒÁ. íÁÓÔÅÒ-ÍÁÛÉÎÁ ËÏÐÉÒÕÅÔ
ÎÕÖÎÙÅ ÄÁÎÎÙÅ (ÉÅÒÁÒÈÉÉ ÐÏÒÔÏ×, ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× ÓÉÓÔÅÍÙ,
ÁÒÈÉ×Ù ÓÉÓÔÅÍÙ, ÓËÒÉÐÔÙ É Ô.Ð.) ÐÒÉ ÐÏÍÏÝÉ rsync ÎÁ ÜÔÁÐÅ ÎÁÞÁÌØÎÏÊ
ËÏÎÆÉÇÕÒÁÃÉÉ ÕÚÌÏ×. úÁÔÅÍ, ËÁÔÁÌÏÇ portbuild ÍÏÎÔÉÒÕÅÔÓÑ ËÁË nullfs
ÄÌÑ ÓÂÏÒÏË ÐÁËÅÔÏ×.
</para>
<para>ðÓÅ×ÄÏ-ÐÏÌØÚÏ×ÁÔÅÌØ
<systemitem class="username">ports-<replaceable>${arch}</replaceable></systemitem>
ÍÏÖÅÔ ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ &man.ssh.1; ÏÔ ÉÍÅÎÉ <systemitem class="username">root</systemitem>
ÎÁ ÌÀÂÕÀ ËÌÉÅÎÔÓËÕÀ ÍÁÛÉÎÕ ÁÒÈÉÔÅËÔÕÒÙ
<replaceable>${arch}</replaceable>.
</para>
<para>óËÒÉÐÔ <command>scripts/allgohans</command> ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ
×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄ ÎÁ ×ÓÅÈ ËÌÉÅÎÔÁÈ ÁÒÈÉÔÅËÔÕÒÙ
<replaceable>${arch}</replaceable>.
</para>
<para>óËÒÉÐÔ <command>scripts/checkmachines</command> ÏÔÓÌÅÖÉ×ÁÅÔ ÕÒÏ×ÅÎØ
ÚÁÇÒÕÚËÉ ÕÚÌÏ× ËÌÁÓÔÅÒÁ É ÒÁÓÐÒÅÄÅÌÑÅÔ, ËÁËÏÊ ÉÚ ÕÚÌÏ× ÂÕÄÅÔ ÓÔÒÏÉÔØ
ÏÞÅÒÅÄÎÏÊ ÐÏÒÔ. üÔÏÔ ÓËÒÉÐÔ ÎÅ ÓÌÉÛËÏÍ ÕÍÅÎ É ×ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ ÕÍÉÒÁÅÔ.
ìÕÞÛÅ ×ÓÅÇÏ ÚÁÐÕÓËÁÔØ ÅÇÏ ÐÒÉ ÚÁÇÒÕÚËÅ ÏÓÎÏ×ÎÏÊ ÍÁÛÉÎÙ ËÌÁÓÔÅÒÁ
(<systemitem>pointyhat</systemitem> ÉÌÉ <systemitem>dosirak</systemitem>) × ÃÉËÌÅ
&man.while.1;.
</para>
</sect1>
<sect1 xml:id="setup">
<title>ðÏÄÇÏÔÏ×ËÁ ÏÇÒÁÎÉÞÅÎÎÏÊ ÓÒÅÄÙ ÓÂÏÒËÉ</title>
<para>ðÁËÅÔÙ ÓÏÂÉÒÁÀÔÓÑ × ÏÇÒÁÎÉÞÅÎÎÏÊ (<literal>chroot</literal>) ÓÒÅÄÅ,
ËÏÔÏÒÁÑ ÒÁÚ×ÏÒÁÞÉ×ÁÅÔÓÑ ÓËÒÉÐÔÏÍ <filename>portbuild</filename> ÉÚ ÁÒÈÉ×Á
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/tarballs/bindist.tar</filename>.
üÔÏÔ ÁÒÈÉ× ÓÏÚÄÁÅÔÓÑ ÐÒÉ ÐÏÍÏÝÉ ÓËÒÉÐÔÁ <command>mkbindist</command>,
ËÏÎÆÉÇÕÒÁÃÉÑ ËÏÔÏÒÏÇÏ ÏÐÉÓÙ×ÁÅÔÓÑ ÆÁÊÌÏÍ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/mkbindist.conf</filename>.
</para>
<para>óËÒÉÐÔ ÄÏÌÖÅÎ ÚÁÐÕÓËÁÔØÓÑ Ó ÐÒÁ×ÁÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
<systemitem class="username">root</systemitem> É ÓÌÅÄÕÀÝÉÍÉ ÐÁÒÁÍÅÔÒÁÍÉ:
</para>
<screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable></userinput></screen>
<para>ðÒÉ ÕËÁÚÁÎÉÉ × ÆÁÊÌÅ <filename>mkbindist.conf</filename> ÐÁÒÁÍÅÔÒÁ
<literal>ftp=1</literal> Ó ÁÄÒÅÓÁ
ftp://<replaceable>${ftpserver}</replaceable>/<replaceable>${ftpurl}</replaceable>/<replaceable>${rel}</replaceable>
ÂÕÄÅÔ ÚÁÇÒÕÖÅÎ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÓÏÂÒÁÎÎÙÊ ÒÅÌÉÚ.
åÓÌÉ ÕËÁÚÁÎÏ <literal>ftp=0</literal> É <literal>buildworld=1</literal>,
ÓËÒÉÐÔ <command>mkbindist</command> ×ÙÐÏÌÎÉÔ
<command>makeworld</command> ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÓÏÂÒÁÔØ ÒÅÌÉÚ ÎÁ ÍÅÓÔÅ
[<literal>XXX</literal> üÔÁ ÞÁÓÔØ × ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ ÎÅ ÒÁÂÏÔÁÅÔ].
</para>
<para>åÓÌÉ ÏÂÁ ÐÁÒÁÍÅÔÒÁ ÒÁ×ÎÙ ÎÕÌÀ (<literal>ftp=0</literal> É
<literal>buildworld=0</literal>), ÔÏ <command>mkbindist</command>
ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÕÝÅÓÔ×ÕÀÝÅÅ ÎÁ ÍÏÍÅÎÔ ÚÁÐÕÓËÁ ÓÏÓÔÏÑÎÉÅ ÄÅÒÅ×Á
<replaceable>${worlddir}</replaceable> ÄÌÑ ÓÏÚÄÁÎÉÑ
<filename>bindist.tar</filename>. îÁ ÐÒÁËÔÉËÅ ÜÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ×Ù
ÄÏÌÖÎÙ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÕ × ${worlddir}, ÞÔÏ ÏÂÙÞÎÏ
ÄÅÌÁÅÔÓÑ ÐÒÉ ÐÏÍÏÝÉ ÓËÒÉÐÔÁ <command>makeworld</command>:
</para>
<screen>/var/portbuild&prompt.root; <userinput>scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> [-nocvs]</userinput></screen>
<para>üÔÁ ËÏÍÁÎÄÁ ÓÏÂÅÒÅÔ ÓÉÓÔÅÍÕ ÎÁ ÂÁÚÅ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× × ÄÅÒÅ×Å
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/src</filename>
É ÕÓÔÁÎÏ×ÉÔ ÅÅ × <replaceable>${worlddir}</replaceable>.
éÓÈÏÄÎÙÅ ÔÅËÓÔÙ ÂÕÄÕÔ ÏÂÎÏ×ÌÅÎÙ, ÅÓÌÉ ÎÅ ÕËÁÚÁÎ ÐÁÒÁÍÅÔÒ
<literal>-nocvs</literal>.
</para>
<para>óÏÄÅÒÖÉÍÏÅ ÁÒÈÉ×Á <filename>bindist.tar</filename> ÂÕÄÅÔ ÒÁÓÐÁËÏ×ÁÎÏ
ÎÁ ËÁÖÄÏÍ ËÌÉÅÎÔÅ × ÐÅÒÉÏÄ ÚÁÇÒÕÚËÉ, Á ÔÁËÖÅ ÎÁ ÓÔÁÒÔÅ ËÁÖÄÏÇÏ ÐÒÏÈÏÄÁ
ÓËÒÉÐÔÁ <command>dopackages</command>.
</para>
</sect1>
<sect1 xml:id="starting">
<title>úÁÐÕÓË ÓÂÏÒËÉ</title>
<para>äÌÑ ÓÂÏÒËÉ ÐÁËÅÔÏ× ÉÓÐÏÌØÚÕÀÔÓÑ ÓËÒÉÐÔÙ
<filename>scripts/dopackages*</filename>. îÁÉÂÏÌÅÅ ÐÏÌÅÚÎÙÍÉ Ñ×ÌÑÀÔÓÑ:
</para>
<itemizedlist>
<listitem>
<para><command>dopackages.4</command> - ÓÏÂÉÒÁÅÔ ÐÁËÅÔÙ ÄÌÑ ×ÅÒÓÉÉ 4.X
</para>
</listitem>
<listitem>
<para><command>dopackages.5</command> - ÓÏÂÉÒÁÅÔ ÐÁËÅÔÙ ÄÌÑ ×ÅÒÓÉÉ 5.X
</para>
</listitem>
<listitem>
<para><command>dopackages.5-exp</command> - ÐÒÏÉÚ×ÏÄÉÔ ÓÂÏÒËÕ ×ÅÔ×É
ÄÌÑ ×ÅÒÓÉÉ 5.X Ó ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÍÉ ÉÚÍÅÎÅÎÉÑÍÉ (×ÅÔר 5-exp)
</para>
</listitem>
<listitem>
<para><command>dopackages.6</command> - ÓÏÂÉÒÁÅÔ ÐÁËÅÔÙ ÄÌÑ ×ÅÒÓÉÉ 6.X
</para>
</listitem>
<listitem>
<para><command>dopackages.6-exp</command> - ÐÒÏÉÚ×ÏÄÉÔ ÓÂÏÒËÕ ×ÅÔ×É
ÄÌÑ ×ÅÒÓÉÉ 6.X Ó ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÍÉ ÉÚÍÅÎÅÎÉÑÍÉ (×ÅÔר 6-exp)
</para>
</listitem>
<listitem>
<para><command>dopackages.7</command> - ÓÏÂÉÒÁÅÔ ÐÁËÅÔÙ ÄÌÑ ×ÅÒÓÉÉ 7.X
</para>
</listitem>
</itemizedlist>
<para>÷ÓÅ ÏÎÉ ×ÙÚÙ×ÁÀÔ ÕÎÉ×ÅÒÓÁÌØÎÙÊ ÓËÒÉÐÔ <command>dopackages</command>,
É Ñ×ÌÑÀÔÓÑ ÓÉÍ×ÏÌØÎÙÍÉ ÓÓÙÌËÁÍÉ ÎÁ <command>dopackages.wrapper</command>.
äÌÑ ÓÏÚÄÁÎÉÑ ÓËÒÉÐÔÁ ÄÌÑ ÓÂÏÒËÉ ÐÁËÅÔÏ× ÎÏ×ÏÊ ×ÅÔ×É ÄÏÓÔÁÔÏÞÎÏ ÓÏÚÄÁÔØ
ÓÉÍ×ÏÌÉÞÅÓËÕÀ ÓÓÙÌËÕ <command>dopackages.${branch}</command>, ÕËÁÚÙ×ÁÀÝÕÀ
ÎÁ <command>dopackages.wrapper</command>. íÏÇÕÔ ÂÙÔØ ÕËÁÚÁÎÙ
ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÐÁÒÁÍÅÔÒÙ, ÎÁÐÒÉÍÅÒ:</para>
<screen><command>dopackages.6 <replaceable>${arch}</replaceable> [-options]</command></screen>
<para><literal>[-options]</literal> ÍÏÖÅÔ ÂÙÔØ ÐÒÏÉÚ×ÏÌØÎÙÍ ÎÁÂÏÒÏÍ ÉÚ
ÓÌÅÄÕÀÝÉÈ ÏÐÃÉÊ:</para>
<itemizedlist>
<listitem>
<para><literal>-nofinish</literal> - îÅ ÐÒÏÉÚ×ÏÄÉÔØ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ
ÐÏ ÚÁ×ÅÒÛÅÎÉÉ ÓÂÏÒËÉ. ðÏÌÅÚÎÏ, ÅÓÌÉ ÐÒÏÃÅÓÓ ÓÂÏÒËÉ ÐÏÔÒÅÂÕÅÔÓÑ
ÒÅÓÔÁÒÔÏ×ÁÔØ. ÷ ÏÂÙÞÎÙÈ ÓÉÔÕÁÃÉÑÈ ÜÔÕ ÏÐÃÉÀ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
×ÓÅÇÄÁ.
</para>
</listitem>
<listitem>
<para><literal>-finish</literal> - ðÒÏÉÚ×ÅÓÔÉ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ
(É ÔÏÌØËÏ: ÓÏÂÓÔ×ÅÎÎÏ ÓÂÏÒËÕ ÎÅ ÐÒÏÉÚ×ÏÄÉÔØ).
</para>
</listitem>
<listitem>
<para><literal>-restart</literal> - òÅÓÔÁÒÔÏ×ÁÔØ ÐÒÅÒ×ÁÎÎÙÊ
(ÉÌÉ ÎÅÚÁ×ÅÒÛÅÎÎÙÊ, Ô.Å. ÚÁÐÕÝÅÎÎÙÊ ÂÅÚ ÆÌÁÇÁ
<literal>-finish</literal>) ÐÒÏÃÅÓÓ ÓÂÏÒËÉ Ó ÓÁÍÏÇÏ ÎÁÞÁÌÁ.
ðÒÉ ÜÔÏÍ ÐÏÒÔÙ, ÐÏÐÙÔËÁ ÓÂÏÒËÉ ËÏÔÏÒÙÈ ÎÁ ÐÒÅÄÙÄÕÝÅÍ ÐÒÏÈÏÄÅ
ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÎÏ, ÂÕÄÕÔ ÐÅÒÅÓÏÂÒÁÎÙ.
</para>
</listitem>
<listitem>
<para><literal>-continue</literal> - ðÒÏÄÏÌÖÉÔØ ÐÒÅÒ×ÁÎÎÙÊ
(ÉÌÉ ÎÅÚÁ×ÅÒÛÅÎÎÙÊ) ÐÒÏÃÅÓÓ ÓÂÏÒËÉ. ðÏÒÔÙ, ÎÅ ÐÒÏÛÅÄÛÉÅ
ÓÂÏÒËÕ, ÎÅ ÐÅÒÅÓÏÂÉÒÁÀÔÓÑ.
</para>
</listitem>
<listitem>
<para><literal>-incremental</literal> - óÒÁ×ÎÉÔØ ÎÅÏÂÈÏÄÉÍÙÅ ÐÏÌÑ
× ÔÅËÕÝÅÍ ÆÁÊÌÅ <literal>INDEX</literal> Ó ÅÇÏ ÐÒÅÄÙÄÕÝÉÍ ÓÏÓÔÏÑÎÉÅÍ,
ÕÄÁÌÉÔØ ÐÁËÅÔÙ É ÖÕÒÎÁÌÙ ÉÈ ÓÂÏÒËÉ ÄÌÑ ÏÂÎÏ×É×ÛÉÈÓÑ ÐÏÒÔÏ× É
ÐÅÒÅÓÏÂÒÁÔØ ÉÈ. üÔÏÔ ËÌÀÞ ÐÏÚ×ÏÌÑÅÔ ÓÕÝÅÓÔ×ÅÎÎÏ ÓÏËÒÁÔÉÔØ ×ÒÅÍÑ
ÓÂÏÒËÉ, ÐÏÓËÏÌØËÕ ÎÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÅÒÅÓÏÂÉÒÁÔØ ËÁÖÄÙÊ ÒÁÚ ÎÅ ÉÚÍÅÎÉ×ÛÉÅÓÑ
ÐÏÒÔÙ.
</para>
</listitem>
<listitem>
<para><literal>-cdrom</literal> - ôÅËÕÝÁÑ ÓÂÏÒËÁ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÌÑ
ÐÏÍÅÝÅÎÉÑ ÎÁ CD-ROM, ÐÏÜÔÏÍÕ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù É ÐÁËÅÔÙ ÐÏÒÔÏ×,
ÐÏÍÅÞÅÎÎÙÈ <literal>NO_CDROM</literal> ÄÏÌÖÎÙ ÂÙÔØ ÕÄÁÌÅÎÙ ÐÒÉ
ÐÏÓÔ-ÏÂÒÁÂÏÔËÅ.
</para>
</listitem>
<listitem>
<para><literal>-nobuild</literal> - ðÒÏÉÚ×ÅÓÔÉ ÐÅÒ×ÏÎÁÞÁÌØÎÕÀ
ÐÏÄÇÏÔÏ×ËÕ, ÎÅ ÚÁÐÕÓËÁÑ ÓÏÂÓÔ×ÅÎÎÏ ÐÒÏÃÅÓÓ ÓÂÏÒËÉ ÐÁËÅÔÏ×.
</para>
</listitem>
<listitem>
<para><literal>-noindex</literal> - îÅ ÐÅÒÅÓÔÒÁÉ×ÁÔØ ÆÁÊÌ
<filename>INDEX</filename> × ÈÏÄÅ ÐÒÅÐÒÏÃÅÓÓÉÎÇÁ.
</para>
</listitem>
<listitem>
<para><literal>-noduds</literal> - îÅ ÐÅÒÅÓÔÒÁÉ×ÁÔØ ÆÁÊÌ
<filename>duds</filename> (ÓÐÉÓÏË ÐÏÒÔÏ×, ËÏÔÏÒÙÅ ÎÅ ÂÕÄÕÔ ÓÔÒÏÉÔØÓÑ,
ÎÁÐÒÉÍÅÒ, ÐÏÍÅÞÅÎÎÙÅ ÐÒÉÚÎÁËÁÍÉ <literal>IGNORE</literal>,
<literal>NO_PACKAGE</literal> É Ô.Ð.) ÐÅÒÅÄ ÐÒÏÃÅÓÓÏÍ ÓÂÏÒËÉ.
</para>
</listitem>
<listitem>
<para><literal>-trybroken</literal> - ðÙÔÁÔØÓÑ ÓÏÂÒÁÔØ ÐÏÒÔÙ,
ÐÏÍÅÞÅÎÎÙÅ ËÁË <literal>BROKEN</literal> (ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙËÌÀÞÅÎÏ,
ÐÏÓËÏÌØËÕ ËÌÁÓÔÅÒ ÁÒÈÉÔÅËÔÕÒÙ &i386; ÄÏ×ÏÌØÎÏ ÂÙÓÔÒ, É ÐÒÉ
ÉÎËÒÅÍÅÎÔÎÏÊ ÓÂÏÒËÅ ÂÏÌØÛÅ ×ÒÅÍÅÎÉ ÔÒÁÔÉÔÓÑ ÎÁ ÐÅÒÅÓÂÏÒËÕ
ÔÏÇÏ, ÞÔÏ ×ÓÅ ÒÁ×ÎÏ ÎÅ ÓÍÏÖÅÔ ÓÏÂÒÁÔØÓÑ.
ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ËÌÁÓÔÅÒÙ ÄÒÕÇÉÈ ÁÒÈÉÔÅËÔÕÒ ÄÏÓÔÁÔÏÞÎÏ ÍÅÄÌÅÎÎÙ,
ÔÁË ÞÔÏ ÐÙÔÁÔØÓÑ ÓÏÂÉÒÁÔØ ÎÁ ÎÉÈ ÐÏÒÔÙ Ó ÆÌÁÇÏÍ
<literal>BROKEN</literal> ÂÙÌÏ ÂÙ ÎÁÐÒÁÓÎÏÊ ÔÒÁÔÏÊ ×ÒÅÍÅÎÉ.
</para>
</listitem>
<listitem>
<para><literal>-nocvs</literal> - îÅ ×ÙÐÏÌÎÑÔØ ÏÂÎÏ×ÌÅÎÉÅ
(<command>cvs update</command>) ÄÅÒÅ×Á ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×
(<literal>src</literal>) ÎÁ ÜÔÁÐÅ ÐÒÅÐÒÏÃÅÓÓÉÎÇÁ.
</para>
</listitem>
<listitem>
<para><literal>-noportscvs</literal> - îÅ ÏÂÎÏ×ÌÑÔØ
(<command>cvs update</command>) ÄÅÒÅ×Ï ÐÏÒÔÏ×
(<literal>ports</literal>) ÎÁ ÜÔÁÐÅ ÐÒÅÐÒÏÃÅÓÓÉÎÇÁ.
</para>
</listitem>
<listitem>
<para><literal>-nodoccvs</literal> - îÅ ÏÂÎÏ×ÌÑÔØ
(<command>cvs update</command>) ÄÅÒÅ×Ï ÄÏËÕÍÅÎÔÁÃÉÉ
(<literal>doc</literal>) × ÈÏÄÅ ÐÒÅÐÒÏÃÅÓÓÉÎÇÁ. (ÕÓÔÁÒÅ×ÛÁÑ ÏÐÃÉÑ)
</para>
</listitem>
<listitem>
<para><literal>-norestr</literal> - îÅ ÐÙÔÁÔØÓÑ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÐÏÒÔÙ,
ÐÏÍÅÞÅÎÎÙÅ ËÁË <literal>RESTRICTED</literal>.
</para>
</listitem>
<listitem>
<para><literal>-plistcheck</literal> - óÞÉÔÁÔØ ÏÛÉÂËÏÊ ÏÓÔÁ×ÌÅÎÉÅ
ÌÉÛÎÉÈ ÆÁÊÌÏ× ÐÏÓÌÅ ÄÅÉÎÓÔÁÌÌÑÃÉÉ ÐÏÒÔÁ.
</para>
</listitem>
<listitem>
<para><literal>-distfiles</literal> - óÏÂÒÁÔØ ÁÒÈÉ×Ù ÉÓÈÏÄÎÙÈ ÆÁÊÌÏ×
(<literal>distfiles</literal>) ÄÌÑ ÄÁÌØÎÅÊÛÅÇÏ ÉÈ ÐÅÒÅÎÏÓÁ ÎÁ
<systemitem>ftp-master</systemitem>. üÔÕ ÏÐÃÉÀ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÚÒÅÄËÁ,
ÐÏÓËÏÌØËÕ ÏÎÁ ÔÒÅÂÕÅÔ ÏÞÅÎØ ÍÎÏÇÏ ÍÅÓÔÁ. éÓÈÏÄÎÙÅ ÁÒÈÉ×Ù ÓÌÅÄÕÅÔ
ÕÄÁÌÉÔØ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ ÉÈ ÎÁ <systemitem>ftp-master</systemitem>.
</para>
</listitem>
<listitem>
<para><literal>-fetch-original</literal> - úÁÇÒÕÖÁÔØ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù
Ó ÏÒÉÇÉÎÁÌØÎÙÈ ÓÁÊÔÏ×, ÏÐÒÅÄÅÌÅÎÎÙÈ ÐÅÒÅÍÅÎÎÙÍÉ
<literal>MASTER_SITES</literal>, Á ÎÅ Ó <systemitem>ftp-master</systemitem>.
</para>
</listitem>
</itemizedlist>
<para>õÂÅÄÉÔÅÓØ, ÞÔÏ ÐÒÏÃÅÓÓ ÓÂÏÒËÉ ÐÁËÅÔÏ× ÄÌÑ ÁÒÈÉÔÅËÔÕÒÙ
<replaceable>${arch}</replaceable> ÚÁÐÕÓËÁÅÔÓÑ ÏÔ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
ports-<replaceable>${arch}</replaceable>; × ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÏÛÉÂËÉ
ÎÅÉÚÂÅÖÎÙ.
</para>
<note><para>óÂÏÒËÁ ÐÁËÅÔÏ× ÐÒÏÉÚ×ÏÄÉÔÓÑ × Ä×Á ÉÄÅÎÔÉÞÎÙÈ ÐÒÏÈÏÄÁ. éÎÏÇÄÁ
×ÒÅÍÅÎÎÙÅ ÐÒÏÂÌÅÍÙ, ÔÁËÉÅ ËÁË ÏÛÉÂËÉ NFS ÉÌÉ ÎÅÄÏÓÔÕÐÎÏÓÔØ FTP-ÓÁÊÔÏ×,
ÍÏÇÕÔ ÐÒÅÒ×ÁÔØ ÓÂÏÒËÕ. äÕÂÌÉÒÏ×ÁÎÉÅ ÐÏÐÙÔÏË ÐÏÚ×ÏÌÑÅÔ ÏÂÏÊÔÉ ÐÏÄÏÂÎÙÅ
ÐÒÏÂÌÅÍÙ.
</para></note>
<para>ðÒÏ×ÅÒØÔÅ, ÞÔÏÂÙ <filename>ports/Makefile</filename>
ÎÅ ÓÓÙÌÁÌÓÑ ÎÁ ÐÕÓÔÙÅ ÐÏÄËÁÔÁÌÏÇÉ. ÷ ÏÓÏÂÅÎÎÏÓÔÉ ÜÔÏ ×ÁÖÎÏ ÄÌÑ ÓÂÏÒËÉ
×ÅÔ×É -exp. åÓÌÉ ÐÒÏÃÅÓÓ ÓÂÏÒËÉ ÏÂÎÁÒÕÖÉ×ÁÅÔ ÐÕÓÔÏÊ ËÁÔÁÌÏÇ, ÏÂÅ
ÆÁÚÙ ÓÂÏÒËÉ ×ÓËÏÒÅ ÏÓÔÁÎÏ×ÑÔÓÑ. ðÒÉ ÜÔÏÍ × ÆÁÊÌÙ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>
ÂÕÄÅÔ ÚÁÐÉÓÁÎÏ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÐÒÉÍÅÒÎÏ ÔÁËÏÇÏ ×ÉÄÁ:
</para>
<screen><literal>don't know how to make dns-all(continuing)</literal></screen>
<para>äÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÓÉÔÕÁÃÉÉ ÐÒÏÓÔÏ ÚÁËÏÍÍÅÎÔÉÒÕÊÔÅ ÉÌÉ ÕÄÁÌÉÔÅ ÓÔÒÏÞËÉ
<literal>SUBDIR</literal>, ÕËÁÚÙ×ÁÀÝÉÅ ÎÁ ÐÕÓÔÙÅ ÐÏÄËÁÔÁÌÏÇÉ.
ðÏÓÌÅ ÜÔÏÇÏ ×Ù ÍÏÖÅÔÅ ÐÅÒÅÚÁÐÕÓÔÉÔØ ÓÂÏÒËÕ ËÏÍÁÎÄÏÊ
<command>dopackages</command>, ÄÏÂÁ×É× ÅÊ ÐÁÒÁÍÅÔÒ
<literal>-restart</literal>.
</para>
<note>
<para>ôÁ ÖÅ ÐÒÏÂÌÅÍÁ ×ÏÚÎÉËÁÅÔ ÐÒÉ ÓÏÚÄÁÎÉÉ ÆÁÊÌÁ
<filename>Makefile</filename> ÄÌÑ ÎÏ×ÏÊ ËÁÔÅÇÏÒÉÉ, ÎÅ ÓÏÄÅÒÖÁÝÅÇÏ
ÎÉ ÏÄÎÏÊ ÓÓÙÌËÉ ÎÁ ÐÏÄËÁÔÁÌÏÇÉ (<varname>SUBDIR</varname>).
üÔÏ, ÓËÏÒÅÅ ×ÓÅÇÏ, ÏÛÉÂËÁ, ÐÏÄÌÅÖÁÝÁÑ ÉÓÐÒÁ×ÌÅÎÉÀ.</para>
</note>
</sect1>
<sect1 xml:id="anatomy">
<title>ðÒÏÃÅÓÓ ÓÂÏÒËÉ</title>
<para>ðÏÌÎÙÊ ÐÒÏÃÅÓÓ ÓÂÏÒËÉ ÂÅÚ ËÁËÉÈ-ÌÉÂÏ ËÌÀÞÅÊ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó
<literal>-no</literal>, ×ÙÐÏÌÎÑÅÔ ÓÌÅÄÕÀÝÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ
ÏÐÅÒÁÃÉÊ:</para>
<orderedlist>
<listitem>
<para>ïÂÎÏ×ÌÅÎÉÅ ÉÚ CVS-ÒÅÐÏÚÉÔÏÒÉÑ ÔÅËÕÝÅÇÏ ÄÅÒÅ×Á
<literal>ports</literal> [*]
</para>
</listitem>
<listitem>
<para>ïÂÎÏ×ÌÅÎÉÅ ÉÚ CVS-ÒÅÐÏÚÉÔÏÒÉÑ ÄÅÒÅ×Á
<literal>src</literal> ÎÅÏÂÈÏÄÉÍÏÊ ×ÅÔ×É [*]
</para>
</listitem>
<listitem>
<para>ðÒÏ×ÅÒËÁ ÆÁÊÌÏ× <filename>Makefile</filename> ÎÁ ÏÔÓÕÔÓÔ×ÉÅ
ÓÔÒÏË <literal>SUBDIR</literal> [*]
</para>
</listitem>
<listitem>
<para>óÏÚÄÁÎÉÅ ÆÁÊÌÁ <filename>duds</filename>, ÓÏÄÅÒÖÁÝÅÇÏ ÓÐÉÓÏË
ÐÏÒÔÏ×, ËÏÔÏÒÙÅ ÎÅ ÎÁÄÏ ÐÙÔÁÔØÓÑ ÓÏÂÉÒÁÔØ [*] [+]
</para>
</listitem>
<listitem>
<para>çÅÎÅÒÁÃÉÑ ÎÏ×ÏÇÏ ÆÁÊÌÁ <filename>INDEX</filename> [*] [+]
</para>
</listitem>
<listitem>
<para>îÁÞÁÌØÎÁÑ ÐÏÄÇÏÔÏ×ËÁ ÕÚÌÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÕÞÁÓÔ×Ï×ÁÔØ × ÓÂÏÒËÅ
[*] [+]
</para>
</listitem>
<listitem>
<para>ðÏÓÔÒÏÅÎÉÅ ÓÐÉÓËÁ ÐÏÒÔÏ× ÏÇÒÁÎÉÞÅÎÎÏÇÏ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ
(restricted) [*] [+]</para>
</listitem>
<listitem>
<para>óÂÏÒËÁ ÐÁËÅÔÏ× (ÆÁÚÁ 1) [++]</para>
</listitem>
<listitem>
<para>ðÏ×ÔÏÒÎÁÑ ÕÓÔÁÎÏ×ËÁ ÕÚÌÏ× ÓÂÏÒËÉ [+]</para>
</listitem>
<listitem>
<para>óÂÏÒËÁ ÐÁËÅÔÏ× (ÆÁÚÁ 2) [++]</para>
</listitem>
</orderedlist>
<para>[*] òÅÚÕÌØÔÁÔÙ ×ÙÐÏÌÎÅÎÉÑ ÜÔÉÈ ÛÁÇÏ× ÚÁÐÉÓÙ×ÁÀÔÓÑ × ÆÁÊÌ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</filename>,
Á ÔÁËÖÅ × ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ ÄÌÑ ÏÛÉÂÏË ËÏÎÓÏÌÉ, Ó ËÏÔÏÒÏÊ ÚÁÐÕÓËÁÌÓÑ ÓËÒÉÐÔ
<command>dopackages</command>.</para>
<para>[+] ðÒÉ ÎÅÕÄÁÞÎÏÍ ÚÁ×ÅÒÛÅÎÉÉ ÌÀÂÏÇÏ ÉÚ ÜÔÉÈ ÛÁÇÏ× ÐÒÏÃÅÓÓ
ÐÒÅËÒÁÝÁÅÔÓÑ.</para>
<para>[++] òÅÚÕÌØÔÁÔÙ ×ÙÐÏÌÎÅÎÉÑ ÐÉÛÕÔÓÑ × ÆÁÊÌ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>,
ÇÄÅ <filename>make.0</filename> ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÐÅÒ×ÏÊ, Á
<filename>make.1</filename> ×ÔÏÒÏÊ ÆÁÚÅ ÓÂÏÒËÉ. öÕÒÎÁÌÙ ÓÂÏÒËÉ ÏÔÄÅÌØÎÙÈ
ÐÏÒÔÏ× ÚÁÐÉÓÙ×ÁÀÔÓÑ × ÆÁÊÌÙ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs</filename>,
Á ÖÕÒÎÁÌÙ ÐÏÒÔÏ×, ÓÏÂÒÁ×ÛÉÈÓÑ ÎÅÕÄÁÞÎÏ, ×
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors</filename>.
</para>
<para>òÁÎÅÅ ÉÚ ÒÅÐÏÚÉÔÏÒÉÑ ÉÚ×ÌÅËÁÌÏÓØ ÔÁËÖÅ ÄÅÒÅ×Ï ÄÏËÕÍÅÎÔÁÃÉÉ;
× ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÜÔÏ ÓÞÉÔÁÅÔÓÑ ÎÅÎÕÖÎÙÍ.
</para>
</sect1>
<sect1 xml:id="interrupting">
<title>ðÒÅÒÙ×ÁÎÉÅ ÐÒÏÃÅÓÓÁ ÓÂÏÒËÉ</title>
<para>äÌÑ ÐÒÅÒÙ×ÁÎÉÑ ÐÒÏÃÅÓÓÁ ÓÂÏÒËÉ ÏÂÙÞÎÏ ÄÏÓÔÁÔÏÞÎÏ ÐÏÓÌÁÔØ ÓÉÇÎÁÌ
<literal>HUP</literal> ÐÒÏÃÅÓÓÁÍ <command>dopackages*</command>
ÉÌÉ ×ÙÚ×ÁÎÎÙÍ ÉÍÉ ÐÒÏÃÅÓÓÁÍ <command>make</command>. ðÒÏÃÅÓÓÙ,
ÚÁÐÕÝÅÎÎÙÅ ÎÁ ÕÚÌÁÈ ÓÂÏÒËÉ, ÚÁ×ÅÒÛÁÔÓÑ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ × ÔÅÞÅÎÉÅ
ÎÅÓËÏÌØËÉÈ ÍÉÎÕÔ (ÉÈ ÎÁÌÉÞÉÅ ÓÌÅÄÕÅÔ ÐÒÏ×ÅÒÑÔØ ËÏÍÁÎÄÏÊ
<command>ps x</command>). ïÂÙÞÎÏ ÄÏÓÔÁÔÏÞÎÏ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÙ:</para>
<screen>&prompt.user; <userinput>killall -HUP sh ssh make</userinput></screen>
<para>õÄÁÌÉÔÅ ÆÁÊÌ
<filename><replaceable>${arch}</replaceable>/lock</filename>
ÐÅÒÅÄ ÔÅÍ, ËÁË ÐÅÒÅÚÁÐÕÓÔÉÔÅ ÓÂÏÒËÕ.
</para>
</sect1>
<sect1 xml:id="monitoring">
<title>óÌÅÖÅÎÉÅ ÚÁ ÐÒÏÃÅÓÓÏÍ</title>
<para>ëÏÍÁÎÄÁ
<command>scripts/stats <replaceable>${branch}</replaceable></command>
ÐÏËÁÚÙ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÓÏÂÒÁÎÎÙÈ ÎÁ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÐÁËÅÔÏ×.</para>
<para>ëÏÍÁÎÄÁ <command>cat /var/portbuild/*/loads/*</command>
ÐÏËÁÖÅÔ ÔÅËÕÝÕÀ ÚÁÇÒÕÚËÕ ËÌÉÅÎÔÓËÉÈ ÍÁÛÉÎ É ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ× ÓÂÏÒËÉ,
ÚÁÐÕÝÅÎÎÙÈ ÎÁ ÎÉÈ.</para>
<para>÷ÙÐÏÌÎÅÎÉÅ
<command>tail -f <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</command>
ÐÒÏÄÅÍÏÎÓÔÒÉÒÕÅÔ ÏÂÝÅÅ ÓÏÓÔÏÑÎÉÅ ÐÒÏÃÅÓÓÁ ÓÂÏÒËÉ.</para>
<para>÷ ÓÌÕÞÁÅ, ÅÓÌÉ ÐÏÒÔ ÎÅ ÓÏÂÉÒÁÅÔÓÑ, É ÉÚ ÌÏÇÏ× ÎÅ ÐÏÎÑÔÎÙ ÐÒÉÞÉÎÙ
ÜÔÏÇÏ, ×Ù ÍÏÖÅÔÅ ÓÏÈÒÁÎÉÔØ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ÓÂÏÒËÉ
(<literal>WRKDIR</literal>) ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÇÏ ÁÎÁÌÉÚÁ.
äÌÑ ÜÔÏÇÏ ÓÏÚÄÁÊÔÅ ÆÁÊÌ <filename>.keep</filename> × ËÁÔÁÌÏÇÅ ÐÏÒÔÁ.
ðÒÉ ÓÌÅÄÕÀÝÅÊ ÓÂÏÒËÅ ÐÏÒÔÁ ËÌÁÓÔÅÒÏÍ ÁÒÈÉ× <literal>WRKDIR</literal>
ÂÕÄÅÔ ÐÏÍÅÝÅÎ × ÆÁÊÌ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs</filename>.
</para>
<para>óÌÅÄÉÔÅ ÚÁ ×Ù×ÏÄÏÍ ËÏÍÁÎÄÙ &man.df.1;. åÓÌÉ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ,
ÓÏÄÅÒÖÁÝÁÑ <filename>/var/portbuild</filename>, ÐÅÒÅÐÏÌÎÉÔÓÑ, ÂÕÄÅÔ
<trademark>ïÞÅÎØ ðÌÏÈÏ</trademark>.
</para>
</sect1>
<sect1 xml:id="release">
<title>óÂÏÒËÁ ÐÁËÅÔÏ× ÄÌÑ ÒÅÌÉÚÏ×</title>
<para>ðÒÉ ÓÂÏÒËÅ ÐÁËÅÔÏ× ÄÌÑ ×ËÌÀÞÅÎÉÑ × ÒÅÌÉÚ ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÒÕÞÎÏÅ
ÏÂÎÏ×ÌÅÎÉÅ ÉÅÒÁÒÈÉÊ <literal>ports</literal> É <literal>src</literal>
ÄÏ ÎÕÖÎÏÇÏ ÔÜÇÁ, Á ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÏÐÃÉÊ <literal>-nocvs</literal>
É <literal>-noportscvs</literal>.</para>
<para>äÌÑ ÐÏÄÇÏÔÏ×ËÉ ËÏÍÐÌÅËÔÁ ÐÁËÅÔÏ× ÄÌÑ ÐÏÍÅÝÅÎÉÑ ÎÁ CD-ROM ÉÓÐÏÌØÚÕÊÔÅ
ÐÁÒÁÍÅÔÒ <literal>-cdrom</literal> ÐÒÉ ÚÁÐÕÓËÅ
<command>dopackages</command>.</para>
<para>åÓÌÉ ÎÁ ËÌÁÓÔÅÒÅ ÄÏÓÔÁÔÏÞÎÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á, ÍÏÖÎÏ ÐÒÉÍÅÎÉÔØ
ËÌÀÞ <literal>-distfiles</literal> ÄÌÑ ×ÙËÁÞÉ×ÁÎÉÑ ÄÉÓÔÒÉÂÕÔÉ×ÎÙÈ
ÁÒÈÉ×Ï×.</para>
<note><para>ðÅÒ×ÁÑ ÓÂÏÒËÁ ÄÏÌÖÎÁ ÂÙÔØ ÐÒÏÉÚ×ÅÄÅÎÁ Ó ÐÁÒÁÍÅÔÒÏÍ
<literal>-distfiles</literal>.</para></note>
<para>ðÏ ÚÁ×ÅÒÛÅÎÉÉ ÐÅÒ×ÏÇÏ ÐÒÏÃÅÓÓÁ ÓÂÏÒËÉ ÐÅÒÅÚÁÐÕÓÔÉÔÅ ÅÇÏ Ó ÐÁÒÁÍÅÔÒÁÍÉ
<literal>-restart -distfiles -fetch-original</literal>,
ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ×ÙËÁÞÁÔØ ÏÂÎÏ×ÌÅÎÎÙÅ ÄÉÓÔÒÉÂÕÔÉ×Ù.
úÁÔÅÍ, ÎÁ ÜÔÁÐÅ ÆÉÎÁÌØÎÏÊ ÏÂÒÁÂÏÔËÉ, ÓÏÂÅÒÉÔÅ ÓÐÉÓÏË ÆÁÊÌÏ× ÐÒÉ ÐÏÍÏÝÉ
ËÏÍÁÎÄÙ</para>
<screen>&prompt.user; <userinput>cd <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.user; <userinput>find distfiles &gt; distfiles-<replaceable>${release}</replaceable></userinput></screen>
<para>üÔÏÔ ÆÁÊÌ ÏÂÙÞÎÏ ËÏÐÉÒÕÀÔ × ËÁÔÁÌÏÇ
<filename>i386/<replaceable>${branch}</replaceable></filename>
ÇÌÁ×ÎÏÊ ÍÁÛÉÎÙ ËÌÁÓÔÅÒÁ.</para>
<para>äÁÎÎÁÑ ÐÒÏÃÅÄÕÒÁ ÐÏÍÏÇÁÅÔ ÞÉÓÔÉÔØ ËÏÍÐÌÅËÔ ÄÉÓÔÒÉÂÕÔÉ×ÎÙÈ ÁÒÈÉ×Ï×,
ÒÁÓÐÏÌÁÇÁÀÝÉÊÓÑ ÎÁ <systemitem>ftp-master</systemitem>. åÓÌÉ ÄÉÓËÏ×ÏÅ
ÐÒÏÓÔÒÁÎÓÔ×Ï ÚÁËÁÎÞÉ×ÁÅÔÓÑ, ÍÏÖÎÏ ÓÏÈÒÁÎÉÔØ ÁÒÈÉ×Ù ÄÌÑ Ó×ÅÖÉÈ ÒÅÌÉÚÏ×,
Á ÐÒÏÞÉÅ&nbsp;&mdash; ÕÄÁÌÉÔØ.</para>
<para>ðÏÓÌÅ ËÏÐÉÒÏ×ÁÎÉÑ ÄÉÓÔÒÉÂÕÔÉ×Ï× (ÓÍ. ÎÉÖÅ) ÎÁÄÏ ÓÏÚÄÁÔØ ÏËÏÎÞÁÔÅÌØÎÙÊ
ËÏÍÐÌÅËÔ ÐÁËÅÔÏ× ÄÌÑ ÒÅÌÉÚÁ. äÌÑ ÐÏÌÎÏÇÏ ÓÐÏËÏÊÓÔ×ÉÑ, ÚÁÐÕÓÔÉÔÅ ÓËÒÉÐÔ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/cdrom.sh</filename>
×ÒÕÞÎÕÀ, ÞÔÏÂÙ ÂÙÔØ Õ×ÅÒÅÎÎÙÍ, ÞÔÏ ×ÓÅ ÐÁËÅÔÙ ÏÇÒÁÎÉÞÅÎÎÏÇÏ
ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ É ÉÈ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù ÕÄÁÌÅÎÙ. úÁÔÅÍ ÓËÏÐÉÒÕÊÔÅ ËÁÔÁÌÏÇ
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/packages</filename>
×
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/packages-<replaceable>${release}</replaceable></filename>.
ðÏÓÌÅ ÔÏÇÏ, ËÁË ÐÁËÅÔÙ ÐÅÒÅÌÏÖÅÎÙ × ÎÁÄÅÖÎÏÅ ÍÅÓÔÏ, Ó×ÑÖÉÔÅÓØ Ó ÇÒÕÐÐÏÊ
&a.re; É ÓÏÏÂÝÉÔÅ ÉÍ ÒÁÓÐÏÌÏÖÅÎÉÅ ÆÉÎÁÌØÎÏÇÏ ËÏÍÐÌÅËÔÁ ÐÁËÅÔÏ×.</para>
<para>ðÏÍÎÉÔÅ Ï ÎÅÏÂÈÏÄÉÍÏÓÔÉ ËÏÏÒÄÉÎÁÃÉÉ Ó ÇÒÕÐÐÏÊ &a.re; ÐÏ ÐÏ×ÏÄÕ
×ÒÅÍÅÎÉ É ÓÔÁÔÕÓÁ ÓÂÏÒËÉ ÐÁËÅÔÏ× ÄÌÑ ÒÅÌÉÚÏ×.
</para>
</sect1>
<sect1 xml:id="uploading">
<title>úÁÇÒÕÚËÁ ÐÁËÅÔÏ× ÄÌÑ ÒÁÚÄÁÞÉ</title>
<para>ðÏÓÌÅ ÚÁ×ÅÒÛÅÎÉÑ ÓÂÏÒËÉ ÐÁËÅÔÙ É/ÉÌÉ ÉÈ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù
ÍÏÇÕÔ ÂÙÔØ ÚÁÇÒÕÖÅÎÙ ÎÁ <systemitem>ftp-master</systemitem> ÄÌÑ
ÒÁÚÄÁÞÉ ÐÏ ÓÅÔÉ ÚÅÒËÁÌ FTP. åÓÌÉ ÓÂÏÒËÁ ×ÅÌÁÓØ Ó ËÌÀÞÏÍ
<literal>-nofinish</literal>, ÎÅ ÚÁÂÕÄØÔÅ ÐÒÏÉÚ×ÅÓÔÉ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ
ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ <command>dopackages -finish</command> (ÂÕÄÕÔ ÕÄÁÌÅÎÙ
ÐÁËÅÔÙ, ÐÏÍÅÞÅÎÎÙÅ ËÁË <literal>RESTRICTED</literal> É
<literal>NO_CDROM</literal>, Á ÔÁËÖÅ ÐÁËÅÔÙ, ÏÔÓÕÔÓÔ×ÕÀÝÉÅ × ÆÁÊÌÅ
<filename>INDEX</filename>, ÉÚ ÆÁÊÌÁ <filename>INDEX</filename> ÂÕÄÕÔ
ÕÄÁÌÅÎÙ ÓÓÙÌËÉ ÎÁ ÎÅ ÓÏÂÒÁ×ÛÉÅÓÑ ÐÁËÅÔÙ, É, ÎÁËÏÎÅÃ, ÂÕÄÅÔ ÓÏÚÄÁÎ ÆÁÊÌ
<filename>CHECKSUM.MD5</filename> Ó ËÏÎÔÒÏÌØÎÙÍÉ ÓÕÍÍÁÍÉ ÓÏÂÒÁÎÎÙÈ
ÐÁËÅÔÏ×; ËÒÏÍÅ ÔÏÇÏ, ÜÔÁ ÆÁÚÁ ÐÅÒÅÍÅÓÔÉÔ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù ÉÚ ËÁÔÁÌÏÇÁ
<filename>distfiles/.pbtmp</filename> × <filename>distfiles/</filename>,
Á ÔÁËÖÅ ÕÄÁÌÉÔ ÉÓÈÏÄÎÙÅ ÁÒÈÉ×Ù ÄÌÑ ÐÏÒÔÏ×, ÐÏÍÅÞÅÎÎÙÈ ËÁË
<literal>RESTRICTED</literal> É <literal>NO_CDROM</literal>).</para>
<para>èÏÒÏÛÅÊ ÉÄÅÅÊ Ñ×ÌÑÅÔÓÑ ÚÁÐÕÓÔÉÔØ ×ÒÕÞÎÕÀ ÓËÒÉÐÔÙ
<command>restricted.sh</command> É/ÉÌÉ
<command>cdrom.sh</command> ÐÏÓÌÅ ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ
<command>dopackages</command> ÐÒÏÓÔÏ ÄÌÑ ÓÏÂÓÔ×ÅÎÎÏÇÏ ÓÐÏËÏÊÓÔ×ÉÑ.
óËÒÉÐÔ <command>restricted.sh</command> ÚÁÐÕÓËÁÅÔÓÑ ÐÅÒÅÄ ËÏÐÉÒÏ×ÁÎÉÅÍ
ÎÁ <systemitem>ftp-master</systemitem>; ÚÁÔÅÍ, ÐÅÒÅÄ ÐÏÄÇÏÔÏ×ËÏÊ ÆÉÎÁÌØÎÏÇÏ
ÎÁÂÏÒÁ ÐÁËÅÔÏ× ÄÌÑ ÒÅÌÉÚÁ ×ÙÐÏÌÎÉÔÅ <command>cdrom.sh</command>.
</para>
<para>ðÁËÅÔÙ ÍÏÖÎÏ ËÏÐÉÒÏ×ÁÔØ ×Ï ×ÒÅÍÅÎÎÕÀ ÏÂÌÁÓÔØ ÎÁ
<systemitem>ftp-master</systemitem> ÐÒÉÍÅÒÎÏ ÔÁËÏÊ ËÏÍÁÎÄÏÊ:</para>
<screen>&prompt.root; <userinput>cd /var/portbuild/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.root; <userinput>tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/<replaceable>${arch}</replaceable>/tmp/<replaceable>${branch}</replaceable></userinput></screen>
<para>úÁÔÅÍ, ÎÁ ÍÁÛÉÎÅ <systemitem>ftp-master</systemitem>, ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÎÁÂÏÒ
ÐÁËÅÔÏ× ÓËÏÐÉÒÏ×ÁÎ ËÏÒÒÅËÔÎÏ, ÕÄÁÌÉÔÅ ÓÔÁÒÙÊ ÎÁÂÏÒ (ÉÚ ËÁÔÁÌÏÇÁ
<filename>~/w/ports/<replaceable>${arch}</replaceable></filename>),
É ÐÅÒÅÍÅÓÔÉÔÅ ÎÏ×ÙÊ ÎÁ ÅÇÏ ÍÅÓÔÏ.</para>
<note><para>îÅËÏÔÏÒÙÅ ËÁÔÁÌÏÇÉ ÎÁ <systemitem>ftp-master</systemitem> ÎÁ ÓÁÍÏÍ ÄÅÌÅ
Ñ×ÌÑÀÔÓÑ ÓÉÍ×ÏÌØÎÙÍÉ ÓÓÙÌËÁÍÉ. õÂÅÄÉÔÅÓØ, ÞÔÏ ×Ù ÐÅÒÅÍÅÝÁÅÔÅ ÎÏ×ÙÊ ÎÁÂÏÒ
ÐÁËÅÔÏ× × <emphasis>ÒÅÁÌØÎÙÊ</emphasis> ËÁÔÁÌÏÇ, Á ÎÅ ÎÁ ÍÅÓÔÏ
ÒÁÓÐÏÌÏÖÅÎÉÑ ÏÄÎÏÊ ÉÚ ÓÓÙÌÏË.</para></note>
<para>äÌÑ ÉÎËÒÅÍÅÎÔÎÙÈ ÓÂÏÒÏË ÐÁËÅÔÙ ÄÏÌÖÎÙ ÚÁÇÒÕÖÁÔØÓÑ ÐÏÓÒÅÄÓÔ×ÏÍ
<command>rsync</command>. ôÁË ÍÙ ÎÅ ÓÏÚÄÁ£Í ÓÉÌØÎÏÊ ÚÁÇÒÕÚËÉ ÎÁ
ÚÅÒËÁÌÁÈ:</para>
<screen>&prompt.root; <userinput>rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/ | tee log</userinput></screen>
<para>äÉÓÔÒÉÂÕÔÉ×ÎÙÅ ÁÒÈÉ×Ù ËÏÐÉÒÕÀÔÓÑ ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ
<command>rsync</command>:</para>
<screen>&prompt.root; <userinput>cd /var/portbuild/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.root; <userinput>rsync -r -v -l -p -c -n distfiles/ portmgr@ftp-master:w/ports/distfiles/ | tee log</userinput></screen>
<para><emphasis>÷óåçäá</emphasis> ÄÌÑ ÎÁÞÁÌÁ ÉÓÐÏÌØÚÕÊÔÅ ËÌÀÞ
<literal>-n</literal> ËÏÍÁÎÄÙ <command>rsync</command> É ÐÒÏ×ÅÒÑÊÔÅ
ÅÅ ×Ù×ÏÄ. åÓÌÉ ×ÓÅ ×ÙÇÌÑÄÉÔ ÎÏÒÍÁÌØÎÏ, ÐÅÒÅÚÁÐÕÓÔÉÔÅ
<command>rsync</command> ÂÅÚ ÏÐÃÉÉ <literal>-n</literal>.
</para>
</sect1>
<sect1 xml:id="expbuilds">
<title>üËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÓÂÏÒËÁ</title>
<para>÷ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ ÄÌÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ÎÏ×ÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÌÉ
ÉÓÐÒÁ×ÌÅÎÉÊ ÏÂÝÅÊ ÉÎÆÒÁÓÔÒÕËÔÕÒÙ ÐÏÒÔÏ× (<literal>bsd.port.mk</literal>),
Á ÔÁËÖÅ ÄÌÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ËÒÕÐÎÙÈ ÏÂÎÏ×ÌÅÎÉÊ, ÚÁÔÒÁÇÉ×ÁÀÝÉÈ ÓÕÝÅÓÔ×ÅÎÎÕÀ
ÞÁÓÔØ ÐÁËÅÔÏ×, ÐÒÏ×ÏÄÉÔÓÑ ÓÂÏÒËÁ Ó ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÍÉ ÐÁÔÞÁÍÉ. ôÅËÕÝÅÊ
ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ×ÅÔËÏÊ Ñ×ÌÑÅÔÓÑ <literal>6-exp</literal> × ÁÒÈÉÔÅËÔÕÒÅ
&i386;.</para>
<para>÷ ÃÅÌÏÍ, ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÓÂÏÒËÁ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÔÁË ÖÅ, ËÁË É ÏÂÙÞÎÁÑ.
ïÓÎÏ×ÎÏÅ ÏÔÌÉÞÉÅ: ÐÅÒÅÄ ÚÁÐÕÓËÏÍ ÓËÒÉÐÔÁ <literal>dopackages</literal>
ÎÕÖÎÏ ÐÒÉÍÅÎÉÔØ Ë ÄÅÒÅ×Õ ÐÏÒÔÏ× ÎÅÏÂÈÏÄÉÍÙÅ ÉÚÍÅÎÅÎÉÑ.
èÏÒÏÛÅÊ ÉÄÅÅÊ ÂÕÄÅÔ ÓÏÈÒÁÎÉÔØ ËÏÐÉÉ ×ÓÅÈ ÉÚÍÅÎÑÅÍÙÈ ÆÁÊÌÏ×, Á ÔÁËÖÅ ÉÈ
ÓÐÉÓÏË. ë ÓÐÉÓËÕ ×Ù ÓÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ ÐÅÒÅÄ ÐÒÏÉÚ×ÅÄÅÎÉÅÍ ÏËÏÎÞÁÔÅÌØÎÏÇÏ
ËÏÍÍÉÔÁ.</para>
<para>äÌÑ ÓÏÚÄÁÎÉÑ <quote>ËÏÎÔÒÏÌØÎÏÇÏ ÜËÚÅÍÐÌÑÒÁ</quote> ÄÌÑ ÓÒÁ×ÎÅÎÉÑ
ÓÌÅÄÕÅÔ ÓÎÁÞÁÌÁ ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÔÏÊ ×ÅÔ×É ÁÒÈÉÔÅËÔÕÒÙ &i386;, ÎÁ ËÏÔÏÒÏÊ
ÏÓÎÏ×ÁÎÁ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ×ÅÔר (× ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ ÜÔÏ ×ÅÔר
<literal>6</literal>). ðÅÒÅÄ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ÓÂÏÒËÏÊ ×ÙÇÒÕÚÉÔÅ
ÄÅÒÅ×ØÑ src É ports ÎÁ ÍÏÍÅÎÔ ÐÒÏÉÚ×ÅÄÅÎÉÑ ËÏÎÔÒÏÌØÎÏÊ ÓÂÏÒËÉ.
÷ ÜÔÏÍ ÓÌÕÞÁÅ ×Ù ÍÏÖÅÔÅ ÂÙÔØ Õ×ÅÒÅÎÙ, ÞÔÏ ÓÒÁ×ÎÉ×ÁÅÔÅ ÑÂÌÏËÉ Ó ÑÂÌÏËÁÍÉ.
</para>
<note><para>ä×Á ËÌÁÓÔÅÒÁ ÓÂÏÒËÉ ÍÏÇÕÔ ÐÒÏÉÚ×ÏÄÉÔØ ËÏÎÔÒÏÌØÎÕÀ É
ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÕÀ ÓÂÏÒËÕ ÏÄÎÏ×ÒÅÍÅÎÎÏ. üÔÏ ÍÏÖÅÔ ÏÝÕÔÉÍÏ ÓÜËÏÎÏÍÉÔØ
ÏÂÝÅÅ ×ÒÅÍÑ ÓÂÏÒËÉ.</para></note>
<para>ðÏ ÚÁ×ÅÒÛÅÎÉÉ ÓÂÏÒËÉ ÓÒÁ×ÎÉÔÅ ÒÅÚÕÌØÔÁÔÙ ËÏÎÔÒÏÌØÎÏÊ É
ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ÓÂÏÒÏË ÐÒÉÍÅÒÎÏ ÔÁËÏÊ ËÏÍÁÎÄÏÊ (ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ
ËÏÎÔÒÏÌØÎÏÊ Ñ×ÌÑÅÔÓÑ ×ÅÔËÁ <literal>6</literal>, Á
ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ&nbsp;&mdash; <literal>6-exp</literal>):</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/6-exp/errors</userinput>
&prompt.user; <userinput>find . -name \*.log\* | sort &gt; /tmp/6-exp-errs</userinput>
&prompt.user; <userinput>cd /var/portbuild/i386/6/errors</userinput>
&prompt.user; <userinput>find . -name \*.log\* | sort &gt; /tmp/6-errs</userinput></screen>
<note><para>åÓÌÉ Ó ÍÏÍÅÎÔÁ ÚÁ×ÅÒÛÅÎÉÑ ÏÄÎÏÊ ÉÚ ÓÂÏÒÏË ÐÒÏÛÌÏ ÄÏÓÔÁÔÏÞÎÏ
ÍÎÏÇÏ ×ÒÅÍÅÎÉ, ÖÕÒÎÁÌÙ ÓÂÏÒËÉ ÍÏÇÕÔ ÂÙÔØ Á×ÔÏÍÁÔÉÞÅÓËÉ ÁÒÈÉ×ÉÒÏ×ÁÎÙ
bzip2. ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÉÓÐÏÌØÚÕÊÔÅ
<literal>sort | sed 's,\.bz2,,g'</literal>.</para></note>
<screen>&prompt.user; <userinput>comm -3 /tmp/6-errs /tmp/6-exp-errs | less</userinput></screen>
<para>òÅÚÕÌØÔÁÔÏÍ ÒÁÂÏÔÙ ÐÏÓÌÅÄÎÅÊ ËÏÍÁÎÄÙ ÂÕÄÅÔ ÏÔÞÅÔ, ÓÏÓÔÏÑÝÉÊ ÉÚ Ä×ÕÈ
ÓÔÏÌÂÃÏ×. ÷ ÐÅÒ×ÏÊ ËÏÌÏÎËÅ ÂÕÄÕÔ ÐÅÒÅÞÉÓÌÅÎÙ ÐÏÒÔÙ, ÓÂÏÒËÁ ËÏÔÏÒÙÈ ÎÅ
ÕÄÁÌÁÓØ × ËÏÎÔÒÏÌØÎÏÍ, ÎÏ ÎÅ × ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÍ ÓÌÕÞÁÅ; ×ÔÏÒÏÊ ÓÔÏÌÂÅÃ
ÏÐÉÓÙ×ÁÅÔ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÕÀ ÓÉÔÕÁÃÉÀ. ðÒÉÞÉÎÙ, ÐÏ ËÏÔÏÒÙÍ ÐÏÒÔ ÍÏÖÅÔ
ÏËÁÚÁÔØÓÑ × ÐÅÒ×ÏÍ ÓÐÉÓËÅ, ×ËÌÀÞÁÀÔ:</para>
<itemizedlist>
<listitem>
<para>ðÏÒÔ ÂÙÌ ÉÓÐÒÁ×ÌÅÎ Ó ÍÏÍÅÎÔÁ ÐÏÓÌÅÄÎÅÇÏ ËÏÎÔÒÏÌØÎÏÇÏ ÚÁÐÕÓËÁ,
ÉÌÉ ÏÂÎÏ×ÌÅÎ ÄÏ ÂÏÌÅÅ Ó×ÅÖÅÊ ×ÅÒÓÉÉ, ËÏÔÏÒÁÑ ÔÁËÖÅ ÎÅ ÓÏÂÉÒÁÅÔÓÑ
(ÐÏÒÔ Ó ÎÏ×ÏÊ ×ÅÒÓÉÅÊ ÐÏÑ×ÉÔÓÑ ×Ï ×ÔÏÒÏÍ ÓÔÏÌÂÃÅ)
</para>
</listitem>
<listitem>
<para>óÂÏÒËÁ ÐÏÒÔÁ ÉÓÐÒÁ×ÌÅÎÁ ÐÁÔÞÁÍÉ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ×ÅÒÓÉÉ</para>
</listitem>
<listitem>
<para>ðÏÒÔ ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ÓÂÏÒËÏÊ ÉÚ-ÚÁ ÏÛÉÂÏË ×
ÚÁ×ÉÓÉÍÙÈ ÐÏÒÔÁÈ
</para>
</listitem>
</itemizedlist>
<para>÷Ï ×ÔÏÒÏÍ ÓÔÏÌÂÃÅ ÐÏÒÔ ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÐÏ ÓÌÅÄÕÀÝÉÍ ÐÒÉÞÉÎÁÍ:</para>
<itemizedlist>
<listitem>
<para>ðÏÒÔ ÎÅ ÓÏÂÉÒÁÅÔÓÑ Ó ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÍÉ ÉÚÍÅÎÅÎÉÑÍÉ [1]</para>
</listitem>
<listitem>
<para>ðÏÒÔ ÂÙÌ ÏÂÎÏ×ÌÅÎ Ó ÍÏÍÅÎÔÁ ËÏÎÔÒÏÌØÎÏÊ ÓÂÏÒËÉ É ÓÔÁÌ
ÎÅÓÏÂÉÒÁÅÍÙÍ [2]
</para>
</listitem>
<listitem>
<para>ðÏÒÔ ÎÅ ÓÏÂÒÁÌÓÑ ÐÏ ÐÒÉÞÉÎÅ ×ÒÅÍÅÎÎÙÈ ÏÛÉÂÏË (ÎÅÄÏÓÔÕÐÎÙÊ FTP
ÓÁÊÔ, ÏÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ ÎÁ ËÌÉÅÎÔÅ É Ô.Ð.)
</para>
</listitem>
</itemizedlist>
<para>ðÅÒÅÄ ËÏÍÍÉÔÏÍ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÈ ÏÂÎÏ×ÌÅÎÉÊ ÎÅÏÂÈÏÄÉÍÏ ÉÚÕÞÉÔØ
ÓÏÄÅÒÖÉÍÏÅ ÏÂÏÉÈ ÓÔÏÌÂÃÏ×. þÔÏÂÙ ÏÔÌÉÞÉÔØ ÓÉÔÕÁÃÉÉ [1] É [2], ÍÏÖÎÏ
ÐÅÒÅÓÏÂÒÁÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÐÁËÅÔÙ × ËÏÎÔÒÏÌØÎÏÊ ×ÅÔËÅ:</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/6/ports</userinput></screen>
<note><para>îÅ ÚÁÂÕÄØÔÅ ÏÂÎÏ×ÉÔØ ÄÅÒÅ×Ï ÐÏÒÔÏ× ÄÏ ÔÏÊ ÖÅ ÄÁÔÙ, ÞÔÏ É ÄÅÒÅ×Ï
ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÊ ÓÂÏÒËÉ.</para></note>
<para>äÌÑ ÐÏÄÇÏÔÏ×ËÉ ËÏÎÔÒÏÌØÎÏÊ ×ÅÔ×É ÉÓÐÏÌØÚÕÊÔÅ ËÏÍÁÎÄÕ:</para>
<screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.6 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
<para>óÂÏÒËÁ ÄÏÌÖÎÁ ÐÒÏÉÚ×ÏÄÉÔØÓÑ ÉÚ ËÁÔÁÌÏÇÁ
<literal>packages/All</literal>. éÚÎÁÞÁÌØÎÏ ÜÔÏÔ ËÁÔÁÌÏÇ ÄÏÌÖÅÎ ÂÙÔØ
ÐÕÓÔ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÉ Makefile. åÓÌÉ ÜÔÏÊ ÓÓÙÌËÉ ÎÅÔ,
ÓÏÚÄÁÊÔÅ ÅÅ:</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/6/packages/All</userinput>
&prompt.user; <userinput>ln -sf ../../Makefile .</userinput>
&prompt.user; <userinput>make -k -j&lt;#&gt; &lt;ÓÐÉÓÏË ÐÁËÅÔÏ× ÄÌÑ ÓÂÏÒËÉ&gt;</userinput></screen>
<note><para>&lt;#&gt; ÏÐÉÓÙ×ÁÅÔ ÕÒÏ×ÅÎØ ÐÁÒÁÌÌÅÌÉÚÍÁ ÓÂÏÒËÉ.
ïÂÙÞÎÏ, ÜÔÏ ÓÕÍÍÁ ×ÅÓÏ× ËÌÉÅÎÔÓËÉÈ ÍÁÛÉÎ, ÕËÁÚÁÎÎÙÈ ×
<filename>/var/portbuild/i386/mlist</filename>, ÅÓÌÉ Õ ×ÁÓ ÎÅÔ ÐÒÉÞÉÎ
ÐÒÏ×ÏÄÉÔØ ÂÏÌÅÅ ÔÑÖÅÌÕÀ ÉÌÉ, ÎÁÏÂÏÒÏÔ, ÏÂÌÅÇÞÅÎÎÕÀ ÓÂÏÒËÕ.</para></note>
<para>&lt;ÓÐÉÓÏË ÐÁËÅÔÏ× ÄÌÑ ÓÂÏÒËÉ&gt; ÐÒÅÄÓÔÁ×ÌÑÅÔ ÓÏÂÏÊ ÓÐÉÓÏË ÉÍÅÎ
ÐÁËÅÔÏ× (×ËÌÀÞÁÑ ÉÈ ×ÅÒÓÉÉ) × ÔÏÍ ×ÉÄÅ, ËÁË ÏÎÉ ÐÒÅÄÓÔÁ×ÌÅÎÙ × ÆÁÊÌÅ
<filename>INDEX</filename>. óÕÆÆÉËÓ <literal>PKGSUFFIX</literal>
(.tgz ÉÌÉ .tbz) Ñ×ÌÑÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÍ.</para>
<para>âÕÄÕÔ ÓÏÂÒÁÎÙ ÔÏÌØËÏ ÕËÁÚÁÎÎÙÅ ÐÁËÅÔÙ, Á ÔÁËÖÅ ÉÈ ÚÁ×ÉÓÉÍÙÅ ÐÏÒÔÙ.</para>
<para>ðÒÏÃÅÓÓ ÓÂÏÒËÉ ÍÏÖÎÏ ËÏÎÔÒÏÌÉÒÏ×ÁÔØ ÔÁË ÖÅ, ËÁË É ÓÔÁÎÄÁÒÔÎÕÀ ÓÂÏÒËÕ.
ðÏÓÌÅ ÔÏÇÏ, ËÁË ×ÓÅ ÏÛÉÂËÉ ÉÓÐÒÁ×ÌÅÎÙ, ×Ù ÍÏÖÅÔÅ ÐÒÏÉÚ×ÅÓÔÉ ËÏÍÍÉÔ
ËÏÍÐÌÅËÔÁ ÉÓÐÒÁ×ÌÅÎÉÊ. ñ×ÌÑÅÔÓÑ ÈÏÒÏÛÉÍ ÔÏÎÏÍ ÏÔÐÒÁ×ÉÔØ ÐÉÓØÍÏ
Ó ÔÅÍÏÊ <literal>HEADS UP</literal> × ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ <link xlink:href="mailto:ports@FreeBSD.org">ports@FreeBSD.org</link> É <link xlink:href="mailto:ports-developers@FreeBSD.org">ports-developers@FreeBSD.org</link>
Ó ÉÎÆÏÒÍÁÃÉÅÊ Ï ×ÎÅÓÅÎÎÙÈ ÉÚÍÅÎÅÎÉÑÈ. ëÒÁÔËÁÑ ÁÎÎÏÔÁÃÉÑ ÉÚÍÅÎÅÎÉÊ ÔÁËÖÅ
ÄÏÌÖÎÁ ÂÙÔØ ÄÏÂÁ×ÌÅÎÁ × ÆÁÊÌ <filename>/usr/ports/CHANGES</filename>.
</para>
</sect1>
</article>

View file

@ -6,7 +6,6 @@
SUBDIR =
SUBDIR+= contributing
SUBDIR+= cvs-freebsd
SUBDIR+= linux-users
SUBDIR+= nanobsd
SUBDIR+= rc-scripting