From owner-svn-doc-head@FreeBSD.ORG Wed Sep 5 05:56:20 2012 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 216DE106564A; Wed, 5 Sep 2012 05:56:20 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A9EC8FC0A; Wed, 5 Sep 2012 05:56:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q855uJhI084030; Wed, 5 Sep 2012 05:56:19 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q855uJJG084026; Wed, 5 Sep 2012 05:56:19 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201209050556.q855uJJG084026@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 5 Sep 2012 05:56:19 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r39507 - in head/pt_BR.ISO8859-1/articles: . new-users X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2012 05:56:20 -0000 Author: gabor Date: Wed Sep 5 05:56:19 2012 New Revision: 39507 URL: http://svn.freebsd.org/changeset/doc/39507 Log: - Add new Brazilian Portuguese translation of the new-users article PR: docs/170965 Submitted by: Edson Brandi Obtained from: The FreeBSD Brazilian Portuguese Documentation Project (http://doc.fug.com.br) Added: head/pt_BR.ISO8859-1/articles/new-users/ head/pt_BR.ISO8859-1/articles/new-users/Makefile (contents, props changed) head/pt_BR.ISO8859-1/articles/new-users/article.sgml (contents, props changed) Modified: head/pt_BR.ISO8859-1/articles/Makefile Modified: head/pt_BR.ISO8859-1/articles/Makefile ============================================================================== --- head/pt_BR.ISO8859-1/articles/Makefile Wed Sep 5 05:52:11 2012 (r39506) +++ head/pt_BR.ISO8859-1/articles/Makefile Wed Sep 5 05:56:19 2012 (r39507) @@ -14,6 +14,7 @@ SUBDIR+= contributing-ports SUBDIR+= explaining-bsd SUBDIR+= freebsd-questions SUBDIR+= linux-users +SUBDIR+= new-users SUBDIR+= problem-reports DOC_PREFIX?= ${.CURDIR}/../.. Added: head/pt_BR.ISO8859-1/articles/new-users/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/new-users/Makefile Wed Sep 5 05:56:19 2012 (r39507) @@ -0,0 +1,24 @@ +# +# The FreeBSD Documentation Project +# The FreeBSD Brazilian Portuguese Documentation Project +# +# $FreeBSD$ +# +# Original revision: r38826 +# +# Article: For People New to Both FreeBSD and Unix + +DOC?= article + +FORMATS?= html html-split +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" Added: head/pt_BR.ISO8859-1/articles/new-users/article.sgml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/new-users/article.sgml Wed Sep 5 05:56:19 2012 (r39507) @@ -0,0 +1,1223 @@ + + + +%articles.ent; +]> + +
+ + Para os novatos em FreeBSD e &unix; + + + + Annelise + + Anderson + + +
andrsn@andrsn.stanford.edu
+
+
+
+ + 15 de agosto de 1997 + + + &tm-attrib.freebsd; + &tm-attrib.ibm; + &tm-attrib.microsoft; + &tm-attrib.netscape; + &tm-attrib.opengroup; + &tm-attrib.general; + + + + Parabéns pela instalação do FreeBSD! + Esta introdução é para os novatos no + FreeBSD e no &unix;—, então + ela começa com o básico. Este artigo assume que + você está usando a versão 2.0.5, ou mais + atual, do &os; distribuído pela &os;.org, seu sistema, + por agora, tem um único usuário (você) e + você provavelmente está muito bem com o + DOS/&windows; ou &os2;. + +
+ + + Entrando e saindo do sistema + + Entre no sistema (quando você vê + login:) como o usuário que você + criou durante a instalação ou como + root. (Sua instalação do + FreeBSD já terá uma conta + root; que pode ir para qualquer lugar e + fazer qualquer coisa, incluindo remover arquivos essenciais, + então seja muito cuidadoso!) Os símbolos + &prompt.user; e &prompt.root; nos exemplos a seguir representam + o prompt (o seu pode ser diferente), com o + &prompt.user; indicando o prompt de um + usuário comum e o &prompt.root; indicando o + prompt do root. + + Para sair do sistema (e obter uma novo + prompt de login:) + escreva: + + + &prompt.root; exit + + + quantas vezes forem necessárias. Você precisa + pressionar enter após os comandos, e + lembre-se que &unix; é sensível a letras + maiúsculas e minúsculas — + exit não é o mesmo que + EXIT. + + Para desligar a máquina escreva: + + + &prompt.root; /sbin/shutdown -h now + + + Ou para reinicializar, escreva: + + + &prompt.root; /sbin/shutdown -r now + + + ou + + + &prompt.root; /sbin/reboot + + + Você também pode reiniciar com + CtrlAltDelete. + Dê-lhe um pouco de tempo para trabalhar. Isso é o + equivalente ao /sbin/reboot nas + versões recentes do FreeBSD e é muito, muito + melhor do que pressionar o botão de + reset. Você não quer ter que + instalar tudo de novo, não é? + + + + Adicionando um Usuário com Privilégios de + Root + + Se você não criou nenhum usuário + durante a instalação do sistema e, portanto, + está logado como root, você + provavelmente precisa criar um usuário agora com: + + + &prompt.root; adduser + + + Na primeira vez que você usar o + adduser, ele pode pedir por valores + padrões para salvar. Você pode querer definir o + shell padrão como &man.csh.1; ao + invés do &man.sh.1;, se ele sugerir o + sh como padrão. Do contrário, + apenas pressione enter para aceitar os valores + padrões. Os valores padrões serão + salvos em /etc/adduser.conf, o qual + pode ser editado. + + Suponha que você criou um usuário + jack, cujo nome completo seja + Jack Benimble. Dê a + jack uma senha se segurança (mesmo + crianças ao redor que possam por as mãos no + teclado) é um problema. Quando for questionado se + você deseja incluir jack em outros + grupos, escreva wheel: + + + Login group is ``jack''. Invite jack into other groups: wheel + + + Isso tornará possível entrar no sistema como + jack e usar o comando &man.su.1; para + tornar-se root. Então você + não será mais repreendido por logar como + root. + + Você pode interromper o adduser + à qualquer momento apenas pressionando + CtrlC, e + no fim você poderá aprovar o novo usuário + ou simplesmente escrever n para não. + Você pode querer criar um segundo usuário para o + caso de algo sair errado na edição dos arquivos de + login do usuário + jack. + + Uma vez que você tenha concluído, use + exit para voltar ao prompt + de login e entrar como o usuário + jack. Em geral, é uma boa + idéia fazer tudo quanto for possível como um + usuário comum, que não tem o poder — e o + risco — do root. + + Se você já criou o usuário e quer que + ele tenha permissão de utilizar o su + para tornar-se root, você pode entrar + como root e editar o arquivo + /etc/group, adicionando + jack ao grupo presente na primeira + linha (o grupo wheel). Mas primeiro + você precisa praticar com &man.vi.1;, o editor de texto + instalado nas versões mais recentes do FreeBSD — ou + usar um editor de texto mais simples, como o &man.ee.1;. + + Para remover um usuário, use o comando + rmuser. + + + + Explorando + + Ao entrar como um usuário comum, explore e tente + alguns comandos que irão acessar as fontes de ajuda e + informação do FreeBSD. + + Aqui estão alguns comandos e o que eles fazem: + + + + id + + + Diz quem você é! + + + + + pwd + + + Mostra onde você está — o + diretório corrente de trabalho + + + + + ls + + + Lista os arquivos no diretório corrente. + + + + + ls + + + Lista os arquivos no diretório corrente com um + * depois de arquivos + executáveis, um / depois de + diretórios, e um @ depois de + links simbólicos. + + + + + ls + + + Lista os arquivos com detalhes — tamanho, data, + e permissões. + + + + + ls + + + Lista os arquivos ocultos, que iniciam com + ponto, com os outros. Se você + está como root, os arquivos + ocultos, que iniciam com ponto, são + mostrados sem a necessidade da opção + . + + + + + cd + + + Muda o diretório corrente. cd + .. sobe um nível + com relação ao diretório atual; note + o espaço depois do cd. + cd /usr/local + entra no diretório especificado. cd + ~ entra no + diretório home do usuário + logado — e.g., /usr/home/jack. + Tente cd /cdrom, + e execute ls, para descobrir se seu + CDROM está montado e funcionando. + + + + + view + filename + + + Permite que você visualize um arquivo (chamado + filename) sem modificar + seu conteúdo. Tente view + /etc/fstab. Escreva + :q para sair. + + + + + cat + filename + + + Mostra o conteúdo de + filename na tela. Se ele + é muito longo e você só consegue ver o + final do arquivo, pressione ScrollLock e + use up-arrow para navegar até o + topo do arquivo; você pode usar + ScrollLock também com + páginas de manual. Pressione + ScrollLock novamente para interromper o + rolamento de conteúdo. Você pode querer + experimentar o cat em alguns arquivos + ocultos no seu diretório home + — cat + .cshrc, cat + .login, cat + .profile. + + + + + Você vai encontrar aliases em seu + .cshrc para alguns comandos + ls (estes são muito convenientes). + Você pode criar outros aliases + editando .cshrc. Você pode criar + aliases disponíveis para todos os + usuários colocando-os no arquivo de + configuração principal do csh + o qual afeta todo o sistema, o + /etc/csh.cshrc. + + + + Obtendo Ajuda e Informação + + Aqui estão algumas fontes de ajuda úteis. + Text representa um termo de sua + escolha, para o qual você precisa de + informação ou ajuda — usualmente um comando + ou arquivo. + + + + apropos + text + + + Tudo que contiver o texto + text na whatis + database. + + + + + man + text + + + Exibe a página de manual do + text. A maior fonte de + documentação para sistemas &unix;. + man ls vai lhe + mostrar todos os detalhes de como usar o comando + ls. Pressione Enter + para navegar através do texto, + CtrlB + para voltar uma página, + CtrlF + para avançar uma página, + q ou + CtrlC + para sair. + + + + + which + text + + + Informa onde, no path do + usuário, o comando text + é encontrado. + + + + + locate + text + + + Informa todos os caminhos onde o termo + text é + encontrado. + + + + + whatis + text + + + Informa o que o comando + text faz e qual sua + página de manual. Executar whatis + * vai lhe informar sobre todos os + binários no diretório corrente. + + + + + whereis + text + + + Encontra o arquivo text, + informando seu caminho completo. + + + + + Você pode querer experimentar usar + whatis em alguns comandos comuns, como + cat, more, + grep, mv, + find, tar, + chmod, chown, + date, e script. + more permite que você leia uma + página de cada vez, do mesmo modo como no DOS, e.g., + ls -l | more ou more + filename. O + * funciona como curinga — e.g., + ls w* vai mostrar os arquivos que + começam com w. + + Algum desses programas não está trabalhando + muito bem? Ambos, &man.locate.1; e &man.whatis.1;, dependem de + uma base de dados recompilada semanalmente. Se sua + máquina não vai permanecer ligada (e rodando o + &os;) durante o final de semana, convém executar + manualmente os comandos de manutenção + diários, semanais, e mensais de vez em quando. + Execute-os como root e, + por agora, dê a cada um deles um tempo para finalizar + antes de você iniciar o próximo. + + + &prompt.root; periodic daily +output omitted +&prompt.root; periodic weekly +output omitted +&prompt.root; periodic monthly +output omitted + + + Se você cansar de esperar, pressione + AltF2 + para acessar outro virtual console, e + entre no sistema novamente. Afinal, ele é um sistema + multiusuário e multitarefa. No entanto, é + provável que esses comandos exibam mensagens na sua tela + enquanto eles estão rodando; você pode executar + clear em seu prompt para + limpar a tela. Uma vez que eles tenham executado, você + pode querer olhar em /var/mail/root e + /var/log/messages. + + Executar tais comandos é parte da + administração do sistema — e como o + único usuário do sistema &unix;, você + é seu próprio administrador de sistemas. + Praticamente tudo que você precisa fazer como + root será para + administração de sistemas. Tais responsabilidades + não são muito bem exploradas, mesmo nos grossos + livros sobre &unix;, que parecem dedicar um grande espaço + para opções de menus em gerenciadores de janelas. + Você pode querer obter um dos dois livros principais sobre + administração de sistemas, ou Evi Nemeth et.al.'s + UNIX System Administration Handbook + (Prentice-Hall, 1995, ISBN 0-13-15051-7) — a segunda + edição da capa vermelha; ou Æleen Frisch's + Essential System Administration (O'Reilly + & Associates, 2002, ISBN 0-596-00343-9). Eu uso + Nemeth. + + + + Editando Texto + + Para configurar seu sistema, você precisará + editar arquivos de texto. Muitos deles estarão no + diretório /etc; e você + precisará do su para tornar-se + root e poder modificá-los. + Você pode utilizar o ee, por ser + fácil de usar, mas à longo prazo vale a pena + aprender o editor de texto vi. Um excelente + tutorial sobre o vi pode ser encontrado em + /usr/src/contrib/nvi/docs/tutorial, se + você tiver os fontes do sistema instalado. + + Antes de editar um arquivo, você provavelmente + deveria fazer um backup dele. Suponha que você queira + editar o /etc/rc.conf. Você pode + simplesmente usar cd /etc para ir até + o diretório /etc e fazer: + + + &prompt.root; cp rc.conf rc.conf.orig + + + Isso vai copiar o rc.conf para + rc.conf.orig, e depois você + poderá copiar o rc.conf.orig para + rc.conf para recuperar o original. Mas o + melhor mesmo seria mover (renomear) e copiar novamente: + + + &prompt.root; mv rc.conf rc.conf.orig +&prompt.root; cp rc.conf.orig rc.conf + + + pelo fato do comando mv preservar a data + e o dono originais do arquivo. Você pode agora editar o + rc.conf. Se você quiser o original + de volta, você faria mv rc.conf + rc.conf.myedit (assumindo que você queira + preservar a versão modificada) e então: + + + &prompt.root; mv rc.conf.orig rc.conf + + + para voltar as coisas do jeito que estavam. + + Para editar um arquivo, faça: + + + &prompt.root; vi filename + + + Mova-se através do texto com as setas do teclado. + Esc (a tecla de escape) coloca o + vi em modo de comando. Aqui estão + alguns comandos: + + + + x + + + Remove o caractere onde está o cursor + + + + + dd + + + remove a linha inteira (mesmo que ela quebre na + tela) + + + + + i + + + para inserir texto a partir do cursor + + + + + a + + + para inserir texto após o cursor + + + + + Uma vez que você digite i ou + a, você pode inserir o texto. + Esc coloca você de volta no modo de + comando + + + + :w + + + para salvar suas modificações no disco + e continuar editando + + + + + :wq + + + para salvar as modificações e + sair + + + + + :q! + + + para sair sem salvar as + modificações + + + + + /text + + + para mover o curso para + text; + /Enter (a tecla enter) + para encontrar a próxima ocorrência de + text. + + + + + G + + + vai para o final do arquivo + + + + + nG + + + vai para a linha n no + arquivo, onde n é o + número. + + + + + CtrlL + + + para redesenhar a tela + + + + + Ctrlb e + Ctrlf + + + volta e avança na tela, respectivamente, assim + como fazem no more e + view. + + + + + Pratique com o vi em seu diretório + home, criando um novo arquivo com vi + filename, adicionando e + removendo texto, salvando o arquivo, e chamando-o de novo. + vi oferece muitas surpresas, pois ele + é realmente bastante complexo, e algumas vezes você + vai inadvertidamente executar um comando que vai fazer alguma + coisa que você não espera. (Algumas pessoas + realmente gostam do vi — ele é + mais poderoso que o DOS EDIT — procure sobre o comando + :r.) Use Esc uma ou mais + vezes para estar seguro de que você está no modo de + comando e continuar a partir daí se você tiver + problemas, salve frequentemente com :w, e use + :q! para sair e começar novamente (a + partir do seu último :w) quando + você precisar. + + Agora você pode entrar no diretório + /etc com o cd, usar o + su para tornar-se root, + usar o vi para editar o arquivo + /etc/group, e adicionar um usuário + no grupo wheel para que ele tenha + privilégios de root. Só + adicione uma vírgula e o login do + usuário no fim da primeira linha do arquivo, pressione + Esc, e use :wq para escrever + suas alterações no disco e sair. Efeito + instantâneo. (Você não colocou um + espaço depois da vírgula, colocou?) + + + + Imprimindo Arquivos no DOS + + Neste ponto você provavelmente não tem uma + impressora funcionando, então aqui vai uma maneira de + criar um arquivo a partir de uma página de manual, + movê-lo para um disquete, e então imprimi-lo do + DOS. Suponhamos que você queira ler cuidadosamente sobre + mudança de permissões em arquivos (muito + importante). Você pode usar man chmod + para ler a respeito. O comando + + + &prompt.user; man chmod | col -b > chmod.txt + + + irá remover códigos de + formatação e enviar a página de manual para + o arquivo chmod.txt em vez de + mostrá-lo na tela. Agora coloque um disquete formatado + no DOS em seu drive de disquete a, use + o su para tornar-se + root, e escreva + + + &prompt.root; /sbin/mount -t msdosfs /dev/fd0 /mnt + + + para montar o drive de disquete em + /mnt. + + Agora (você não precisa mais estar como + root, e você pode executar + exit para voltar para o usuário + inicial jack) você pode ir até + o diretório onde você criou o + chmod.txt e copiar o arquivo para o + disquete com: + + + &prompt.user; cp chmod.txt /mnt + + + e usar ls /mnt para obter a listagem do + diretório /mnt, que deveria mostrar + o arquivo chmod.txt. + + Você pode querer criar um arquivo a partir do + /sbin/dmesg executando: + + + &prompt.user; /sbin/dmesg > dmesg.txt + + + e copiar o dmesg.txt para o disquete. + /sbin/dmesg é o registro das + mensagens de boot, e ele é útil + para entender o que o FreeBSD encontra durante a + inicialização. Se você enviar perguntas + para a &a.questions; ou para o grupo da USENET — como + O FreeBSD não encontra a minha unidade de fita, o + que eu faço? — as pessoas vão querer + saber o que o dmesg diz. + + Você pode desmontar o drive de disquete agora (como + root) para retirá-lo com: + + + &prompt.root; /sbin/umount /mnt + + + e reiniciar para ir para o DOS. Copie os arquivos para um + diretório do DOS, chame-os com o DOS EDIT, &windows; + Notepad ou Wordpad, ou algum outro processador de texto, + faça uma pequena alteração para o arquivo + ser salvo, e imprima como você normalmente faz a partir do + DOS ou Windows. Espero que funcione! Páginas de manual + saem melhor se impressas com o comando print + do DOS. (Copiar arquivos do FreeBSD para uma + partição DOS montada ainda é, em alguns + casos, um pouco arriscado.) + + Obter uma impressora imprimindo do FreeBSD envolve criar uma + entrada apropriada em /etc/printcap e criar + um diretório de spool correspondente + em /var/spool/output. Se sua impressora + está na lpt0 (nos DOS é + chamada de LPT1), você só + precisa ir para /var/spool/output e (como + root) criar o diretório + lpd executando: mkdir + lpd, se ele ainda não existe. Em seguida, a + impressora deve responder se ela estiver ligada durante a + inicialização, e lp ou + lpr deve enviar um arquivo para a impressora. + Se o arquivo vai ser impresso ou não, depende da + configuração, esta é coberta no FreeBSD + handbook. + + + + Outros comando úteis + + + + df + + + mostra os dispositivos montados e o espaço em + disco. + + + + + ps aux + + + mostra os processos rodando. ps ax + exibe uma lista compacta. + + + + + rm filename + + + exclui o arquivo + filename. + + + + + rm -R dir + + + remove o diretório + dir e todos os seus + subdiretórios — seja cuidadoso! + + + + + ls -R + + + lista os arquivos no diretório corrente e + todos os subdiretórios; eu usei uma variante, + ls -AFR > where.txt, para obter uma + lista de todos os arquivos de / e + (separadamente) /usr, antes de + descobrir um jeito melhor de encontrar arquivos. + + + + + passwd + + + para mudar a senha do usuário (ou a senha do + root) + + + + + man hier + + + exibe a página de manual sobre o sistema de + arquivos do &unix; + + + + + Use find para localizar + filename em /usr, ou + qualquer de seus subdiretórios, com + + + &prompt.user; find /usr -name "filename" + + + Você pode usar * como curinga em + "filename" + (que deve estar entre aspas). Se você diz para + find procurar em /, em + vez de /usr, ele vai procurar o arquivo em + todos os dispositivos montados, incluindo CDROM e as + partições DOS. + + Um excelente livro que explica os comandos e + utilitários &unix; é Abrahams & Larson, + Unix for the Impatient (2nd ed., + Addison-Wesley, 1996). Existe também uma grande + quantidade de informações sobre &unix; na + Internet. + + + + Próximos Passos + + Agora você deve ter as ferramentas que você + precisa para explorar e editar arquivos, então você + pode ter tudo ligado e funcionando. Existe uma grande + quantidade de informações no FreeBSD handbook (que + provavelmente está em seu disco rígido) e no + web site do FreeBSD. + Uma grande variedade de pacotes e ports + estáo disponível no CDROM, bem como no site web. + O handbook diz mais sobre como usá-los (obter um pacote, + se ele existir, com pkg_add + /cdrom/packages/All/nomepacote, + onde nomepacote é o nome do + pacote). O CDROM tem uma lista dos pacotes e + ports com uma breve descrição + em cdrom/packages/index, + cdrom/packages/index.txt, e + cdrom/ports/index, com as + descrições completas em + /cdrom/ports/*/*/pkg/DESCR, onde os + * representam subdiretórios das + categorias e dos nomes dos programas, respectivamente. + + Se você achar o handbook muito sofisticado (com + lndir e tudo) sobre a + instalação de ports a partir do + CDROM, aqui está o que normalmente funciona: + + Encontre o port que você quer, + digamos que seja o kermit. Haverá um + diretório para ele no CDROM. Copie o subdiretório + para /usr/local (um bom lugar para + adicionar programas que estarão disponíveis para + todos os usuários) com: + + + &prompt.root; cp -R /cdrom/ports/comm/kermit /usr/local + + + Isso deve resultar em um subdiretório + /usr/local/kermit onde estarão + todos os arquivos do subdiretório + kermit do CDROM. + + Em seguida, crie o diretório + /usr/ports/distfiles, se ele ainda + não existe, usando mkdir. Agora + verifique em /cdrom/ports/distfiles por um + arquivo com o nome que indique o port que + você quer. Copie o arquivo para + /usr/ports/distfiles; nas versões + recentes você pode pular este passo, o FreeBSD vai fazer + isso por você. No caso do kermit + não existe distfile. + + Vá até o subdiretório + /usr/local/kermit, onde estará o + arquivo Makefile. E execute + + + &prompt.root; make all install + + + Durante este processo o port vai obter *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***