Difference between pages "Pt-br/Emerge" and "Install/pt-br/Portage"

(Difference between pages)
(Remove packages)
 
(Introduzindo o Portage)
 
Line 1: Line 1:
== Principiando com o emerge ==
+
=== Introduzindo o Portage ===
Emerge é o front-end para o gerenciador de Portage do funtoo. Com o emerge é fácil instalar, atualizar ou remover pacotes.
+
  
=== Atualizar a Base de Dados de Pacote ===
+
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:
'''Sincronize base de dados de pacote local. Isso atualizará sua arvore Portage local com a ultima versão do Funtoo ebuilds.'''
+
<console>
+
###i## emerge --sync
+
</console>
+
  
=== Buscar pacotes ===
 
'''Busca pacotes por nome.'''
 
 
<console>
 
<console>
###i## emerge -s firefox
+
(chroot) # ##i##emerge packagename
###i## emerge --search firefox
+
 
</console>
 
</console>
  
'''Busca pacotes pode descrição.'''
+
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>
+
###i## emerge -S web browser
+
###i## emerge --searchdesc web browser
+
</console>
+
  
=== Install packages ===
 
'''Instalar pacote.'''
 
 
<console>
 
<console>
###i## emerge firefox
+
(chroot) # ##i##emerge --sync
 +
(chroot) # ##i##emerge -auDN @world
 
</console>
 
</console>
  
'''Instalar múltiplos pacotes.'''
+
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:
<console>
+
###i## emerge firefox thunderbird
+
</console>
+
  
'''Instalar pacotes. Pedir por confirmação antes de realizar quaisquer alterações. Exibe saída em verbose.'''
+
* '''<code>a</code>''' - Nos mostra o que será emergido (emerged), e nos '''perguntará''' se queremos prosseguir.
<console>
+
* '''<code>u</code>''' - ''Atualiza'' os pacotes que especificarmos -- não emerja-os novamente se eles já estão emergidos.
###i## emerge -av firefox
+
* '''<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'''.
###i## emerge --ask firefox
+
* '''<code>N</code>''' - Atualizar quaisquer pacotes que tenha alterado ('''novas''') configurações de USO.
</console>
+
  
=== Removes pacotes ===
+
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.
'''Remove pacote.'''
+
<console>
+
###i## emerge -C firefox
+
###i## emerge --unmerge firefox
+
</console>
+
  
'''Remove pacote. Pergunta por confirmação antes de realizar quaisquer alterações.'''
+
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>
+
###i## emerge -aC firefox
+
</console>
+
  
'''Remove pacotes órfãos. Pergunta por confirmação antes de realizar quaisquer alterações.'''
 
 
<console>
 
<console>
###i## emerge -a --depclean
+
(chroot) # ##i##emerge -1 packagename
 
</console>
 
</console>
  
=== Update packages ===
+
Usuários avançados podem estar interessado na página wiki do [[Pt-br/Emerge|Emerge]].
'''Update all packages.'''
+
<console>
+
###i## emerge -uDN @world
+
</console>
+
  
'''Update all packages. Ask for confirmation before performing any changes. Show verbose output.'''
+
==== Atualizando o World ====
<console>
+
 
###i## emerge -uavDN @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>
+
  
'''When upgrading to a new version of perl, it is necessary to also run <code>perl-cleaner</code> afterwards:'''
 
 
<console>
 
<console>
###i## emerge -auvDN @world
+
(chroot) # ##i##emerge --sync
###i## perl-cleaner --all
+
(chroot) # ##i##emerge -auDN @world
 
</console>
 
</console>
  
{{Note|This requirement of running <code>perl-cleaner</code> will eventually go away, once all perl-related ebuilds are updated to EAPI 5. EAPI 5 is a version of the Ebuild specification that supports smart updating of perl-related bits.}}
+
{{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 17:02, 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.

Claro que, as vezes queremos instalar um pacote mas não adicioná-lo ao arquivo world. 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:

(chroot) # emerge -1 packagename

Usuários avançados podem estar interessado na página wiki do 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.

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

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.