Portage com GIT no Gentoo

Publicado por Xerxes em 15/01/2021

[ Hits: 2.654 ]

 


Portage com GIT no Gentoo



GIT é melhor que o RSYNC. Mais veloz e não tem limite de vezes por dia.

Para usar o GIT no Portage do Gentoo faça o seguinte.

Instale o GIT:

# emerge --ask dev-vcs/git

Crie o arquivo:

# vim /etc/portage/repos.conf

Coloque o conteúdo:

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /var/db/repos/gentoo

#sync-type = rsync
#sync-uri = rsync://rsync.de.gentoo.org/gentoo-portage/

sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo.git
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-keyserver = hkps://keys.gentoo.org
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes

Salve e feche.

Delete a árvore antiga do Portage:

# rm -r /var/db/repos/gentoo

Refaça-a com GIT:

# emerge --sync

ou:

# eix-sync

Execute novamente para testar.

Fontes:
Outras dicas deste autor

Compilando UnNethack no Kubuntu 16.04

Habilitando "hot corner" no Ubuntu 19.04

Melhorando o controle de janelas no LXDE (Openbox)

Solucionando o "javac: command not found"

Erro ao importar arquivo XML no OJS (Open Journal System)

Leitura recomendada

Fonte pequena no console do Debian

Configurando o diretório home em partição diferente

Corrigindo incompatibilidade do kdemod após o "nascimento" do KDE 4.1 no Arch

Papel de parede aleatório no Fluxbox

Instalando fontes da Microsoft no Debian

  

Comentários
[1] Comentário enviado por maurixnovatrento em 15/01/2021 - 23:31h


Muito bom.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por M4iir1c10 em 16/01/2021 - 08:41h

Perdoe-me pela pergunta, não estou menosprezando sua dica, ao contrario foi muito boa dica. Então só quero entender a vantagem do git sobre o rsync.
Não uso Gentoo, uso Debian, mas já tinha o Sabayon e entendo um pouco como funciona o emerge.
Apt baixa a lista de aplicativos e compara o que está instalado na máquina e instala apenas os binários desse aplicativo ou o aplicativo que você indicar no comando. Pelo que me lembro, o Emerge não tem binários, apenas o código-fonte e as instruções de compilação de texto.

O Rsync baixa o que você pediu para baixar, até aí tudo bem. Mas a forma como o git faz o download leva todo o repositório através do git clone. Então o problema começa na minha cabeça, porque por exemplo, se eu não quero instalar o KDE, não vejo a necessidade de baixar sua ebuild ... Mas se for so isso tudo bem porque ebuilds são apenas texto... Mas git como uma plataforma de desenvolvimento de código tem um histórico completo de mudanças ... isto é, cópias e cópias e mais cópias de ebuilds, a cada modificação ... isso para o uso geral de quem não é desenvolvedor é desnecessário.

Fiz o clone na minha máquina para ter uma ideia, só nos ebuilds de todo o repositório ativo ou seja as ultimas versoes temos 170Mb de arquivos... e dos arquivos de histórico de desenvolvimento temos 5,6Gb de arquivos compactados.

Agora, depois de toda essa história, vem a minha pergunta. O emerge usando o git irá clonar todo o repositório, incluindo aplicativos desinstalados e histórico compactado? ou como o apt irá baixar apenas os arquivos ativos dos aplicativos indicados no comando ou já instalados?

[3] Comentário enviado por xerxeslins em 17/01/2021 - 02:28h


[2] Comentário enviado por M4iir1c10 em 16/01/2021 - 08:41h
...

Agora, depois de toda essa história, vem a minha pergunta. O emerge usando o git irá clonar todo o repositório, incluindo aplicativos desinstalados e histórico compactado? ou como o apt irá baixar apenas os arquivos ativos dos aplicativos indicados no comando ou já instalados?


Olha... eu não tenho conhecimento técnico para te responder com precisão. O que eu sei é o seguinte: rsync demora bem mais para terminar a sincronia do que o git. E o git baixa apenas o que foi alterado, não baixa tudo. Em outras palavras: ele só vai baixar um ebuild novo quando realmente for necessário; não vai baixar todos eles e nem vai baixar um que já existe e não sofreu modificação.









Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts