Difference between pages "Install/pt-br/Portage" and "Template:File"

From Funtoo
< Install(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
=== Introduzindo o Portage ===
<includeonly><div style="margin-bottom: 0.3em; padding: 3px; border: none;"><tt>{{#if:{{{name|}}}|'''{{{name|}}}'''{{#set:Mentions file={{#explode:{{{name}}}|/|-1}}}}}}</tt><span style="color: #888;"> {{#if:{{{lang|}}}| ({{{lang}}} source code)}}</span> {{#if:{{{desc|}}}| - {{{desc}}}}}{{#tag:{{#if:{{{lang|}}}|syntaxhighlight|pre}}|
 
{{{body}}}
Portage, o gerenciador de pacotes do Funtoo Linux possui um comando chamado <code>emerge</code> que é utilizado para construir e instalar pacotes a partir do código fonte. ele também cuida para instalar todas as dependências de pacotes. Você invoca o emerge assim:
|lang={{{lang}}}}}
 
</div>{{#if:{{{recipe|}}}|{{#subobject:|step={{{step|}}}|In recipe={{{recipe|}}}|action={{{action}}}|filename={{{name}}}|body={{{body}}}}}</includeonly>
<console>
(chroot) # ##i##emerge packagename
</console>
 
Quando você instala um pacote especificando seu nome na linha de comando, o Portage grava seu nome no arquivo <code>/var/lib/portage/world</code>. Ele faz assim por que ele assume que, desde que você tem instalado o pacote por nome, você quer considerá-lo parte do seu sistema e quer manter o pacote atualizado no futuro. Isso é recurso útil, desde quando pacotes estão sendo adicionados a configuração <code>world</code>, podemos atualizar nosso sistema inteiro ao digitar:
 
<console>
(chroot) # ##i##emerge --sync
(chroot) # ##i##emerge -auDN @world
</console>
 
Esse é o modo "oficial" de atualizar o seu sistema Funtoo Linux. Acima, nós atualizamos nossa arvore Portage (Portage tree) utilizando o git para obter a ultima versão dos ebuilds (scripts), e depois executar um comando emerge para atualizar o conjunto de pacotes <code>world</code>. As opções especificadas diz ao <code>emerge</code> para:
 
* '''<code>a</code>''' - Nos mostra o que será emergido (emerged), e nos '''perguntará''' se queremos prosseguir.
* '''<code>u</code>''' - ''Atualiza'' os pacotes que especificarmos -- não emerja-os novamente se eles já estão emergidos.
* '''<code>D</code>''' - Considere a arvore de dependência inteira de pacotes quando procurar por atualizações. Em outras palavras, faça uma atualização '''profunda'''.
* '''<code>N</code>''' - Atualizar quaisquer pacotes que tenha alterado ('''novas''') configurações de USO.
 
Você deve também considerar passar <code>--with-bdeps=y</code> quando emergir @world, ao menos de vez em quando. Isso atualizará as build dependencies também.
 
Claro que, as vezes queremos instalar um pacote mas não adicioná-lo ao arquivo <code>world</code>. Com frequência isso é feito por que você só quer o pacote instalado temporariamente ou por que você sabe que pacote é uma dependência de outro pacote. Se esse comportamento for desejado, você invoca o emerge assim:
 
<console>
(chroot) # ##i##emerge -1 packagename
</console>
 
Usuários avançados podem estar interessado na página wiki do [[Pt-br/Emerge|Emerge]].
 
==== Atualizando o World ====
 
Agora é na verdade uma hora muito boa para atualizar o sistema por completo e pode ser uma boa ideia fazer tal antes do primeiro boot.
 
<console>
(chroot) # ##i##emerge --sync
(chroot) # ##i##emerge -auDN @world
</console>
 
{{fancyimportant|1=
Certifique-se de que leu quaisquer mensagens de post do emerge e de seguir as instruções. É especialmente verdade se você atualizou o perl ou python.}}

Revision as of 03:39, February 19, 2015