Difference between pages "Test" and "Install/pt-br/Portage"

(Difference between pages)
 
(Introduzindo o Portage)
 
Line 1: Line 1:
{{#get_web_data:url=http://build.funtoo.org/index.xml|format=xml|use xpath|data=builds=/subarches/subarch[@name='amd64-bulldozer']/@builds}}
+
=== Introduzindo o Portage ===
;Builds: {{#external_value:builds}}
+
  
{{fullurl:News:The Many Builds of Funtoo Linux}}
+
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:
{{#widget:AddThis}}
+
  
I like the {{f|/etc/make.conf}} file, which can also be referred to as {{f|/etc/portage/make.conf}}. It is a groovy file. Another cool file is {{f|/etc/fstab}}.
+
<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.
 +
 
 +
Of course, sometimes we want to install a package but not add it to the <code>world</code> file. This is often done because you only want the package installed temporarily or because you know the package in question is a dependnecy of another package. If this behavior is desired, you call emerge like this:
 +
 
 +
<console>
 +
(chroot) # ##i##emerge -1 packagename
 +
</console>
 +
 
 +
Advanced users may be interested in the [[Emerge]] wiki page.
 +
 
 +
==== Updating World ====
 +
 
 +
Now is actually a very good time to update the entire system and it can be a good idea to do so prior to first boot.
 +
 
 +
<console>
 +
(chroot) # ##i##emerge --sync
 +
(chroot) # ##i##emerge -auDN @world
 +
</console>
 +
 
 +
{{fancyimportant|1=
 +
Make sure you read any post emerge messages and follow their instructions. This is especially true if you have upgraded perl or python.}}

Revision as of 14:52, February 7, 2015

Introduzindo o Portage

Portage, o gerenciador de pacotes do Funtoo Linux possui um comando chamado emerge 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:

(chroot) # emerge packagename

Quando você instala um pacote especificando seu nome na linha de comando, o Portage grava seu nome no arquivo /var/lib/portage/world. 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 world, podemos atualizar nosso sistema inteiro ao digitar:

(chroot) # emerge --sync
(chroot) # emerge -auDN @world

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 world. As opções especificadas diz ao emerge para:

  • a - Nos mostra o que será emergido (emerged), e nos perguntará se queremos prosseguir.
  • u - Atualiza os pacotes que especificarmos -- não emerja-os novamente se eles já estão emergidos.
  • D - Considere a arvore de dependência inteira de pacotes quando procurar por atualizações. Em outras palavras, faça uma atualização profunda.
  • N - Atualizar quaisquer pacotes que tenha alterado (novas) configurações de USO.

Você deve também considerar passar --with-bdeps=y quando emergir @world, ao menos de vez em quando. Isso atualizará as build dependencies também.

Of course, sometimes we want to install a package but not add it to the world file. This is often done because you only want the package installed temporarily or because you know the package in question is a dependnecy of another package. If this behavior is desired, you call emerge like this:

(chroot) # emerge -1 packagename

Advanced users may be interested in the Emerge wiki page.

Updating World

Now is actually a very good time to update the entire system and it can be a good idea to do so prior to first boot.

(chroot) # emerge --sync
(chroot) # emerge -auDN @world
Important

Make sure you read any post emerge messages and follow their instructions. This is especially true if you have upgraded perl or python.