Crie seu repositório local do Arch Linux

repositório

Se você faz parte dos usuários que normalmente têm uma boa conexão à Internet e atualiza diretamente dos repositórios de Arch Linux, este artigo não é para você, mas para quem tem limitações em termos de largura de banda.

Como exemplo, coloco meu caso. A conexão à Internet durante o horário de trabalho é muito mais lenta do que à noite (quando todos dormem), claro. O que eu faço é ir ao El Palacio Central de Computing, onde há melhor largura de banda e vários repositórios são atualizados, e copio o espelho do Arch.

Desta forma, só tenho que atualizar os pacotes que chegam aos poucos durante a noite, o que é muito melhor do que perder 45GB de uma vez. mas claro, como faço para atualizar?

Bem, basicamente, existem duas maneiras muito fáceis de fazer isso, ambos postados no Wiki de Arch Linux.

Usando Rsync

Se tivermos domínio de Rsync, podemos criar nosso próprio script que inclui ou exclui certos pacotes ao copiar um espelho de Arch Linux. Se quiser mais fácil, basta usar este script:

#! / bin / bash ###################################################### ############################################################### ### ### Geralmente é desaprovado criar um espelho local devido à largura de banda necessária. ### Uma das alternativas provavelmente atenderá às suas necessidades. ### LEMBRE-SE: ### * A largura de banda não é gratuita para os espelhos. Eles devem pagar por todos os dados que fornecem a você ### => Isso ainda se aplica, embora você pague seu ISP ### => Existem muitos pacotes que serão baixados que você provavelmente nunca usará ### => Operadores de espelho irão muito preferível que você baixe apenas os pacotes de que precisa ### * Realmente, consulte as alternativas nesta página: ### https://wiki.archlinux.org/index.php?title=Local_Mirror ### Se você for CERTE-SE ABSOLUTAMENTE que um espelho local é a única solução sensata, então este script ### o ajudará a criá-lo. ############################################################### ############################################################ Configuração FONTE = 'rsync: //mirror.example.com/archlinux' DEST = '/ home / user / archlinux' BW_LIMIT = '500' REPOS = 'core extra' RSYNC_OPTS = "- rtlHq --delete-after --delay-updates --copy-links --safe-links --max-delete = 1000 --bwlimit = $ {BW_LIMIT} --delete-excluded --exclude =. * --log-file = / home / user / archlinux / archlinux .log "LCK_FLE = '/ var / run / repo-sync.lck' # Certifique-se de que apenas 1 instância seja executada if [-e" $ LCK_FLE "]; então OTHER_PID = `/ bin / cat $ LCK_FLE` echo" Outra instância já em execução: $ OTHER_PID "exit 1 fi echo $$>" $ LCK_FLE "para REPO em $ REPOS; faça echo "Sincronizando $ REPO" / usr / bin / rsync $ RSYNC_OPTS $ {SOURCE} / $ {REPO} $ {DEST} feito # Cleanup / bin / rm -f "$ LCK_FLE" exit 0

Aqui, a única coisa que precisamos modificar são as variáveis:

SOURCE = 'rsync: //mirror.example.com/archlinux' DEST = '/ home / user / archlinux'

Bem, temos que colocar de qual espelho queremos conectar e em qual pasta será copiado.

Usando LFTP

Se não podemos usar Rsync, seja porque o HP do nosso administrador de ISP o bloqueou, ou por outro motivo, há sempre a segunda opção, neste caso ftp.

No Arch Wiki, temos este script:

#! / usr / bin / lftp -f lcd / local / caminho / para / seu / espelho abra ftp.archlinux.org (ou qualquer que seja o seu espelho favorito) # Use 'cd' para mudar para o diretório apropriado no espelho, se necessário. mirror -cve -x '. * i686. *' core & mirror -cve -x '. * i686. *' extra & mirror -cve -x '. * i686. *' community & mirror -cve -x '. * i686. * 'pool de cd multilib e lcd mirror -cve -x'. * i686. * 'community & mirror -cve -x'. * i686. * 'packages &

Embora particularmente quando eu uso LFTP, tenho outra variante. O que faço é colocar o seguinte em um arquivo .txt:

lftp -e "mirror --delete --only-newer / archlinux / extra / os / x86_64 / / home / user / archlinux / extra / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp - e "mirror --delete --only-newer / archlinux / community / os / x86_64 / / home / user / archlinux / community / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp -e " mirror --delete --only-newer / archlinux / multilib-staging / os / x86_64 / / home / user / archlinux / multilib-staging / os / x86_64 / "http://mirror.us.leaseweb.net/ lftp - e "mirror --delete --only-newer / archlinux / core / os / x86_64 / / home / user / archlinux / core / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp -e " espelho --delete --only-newer / archlinux / extra / os / i686 / / home / user / archlinux / extra / os / i686 / espelho "http://mirror.us.leaseweb.net/ lftp -e" - -delete --only-newer / archlinux / community / os / i686 / / home / user / archlinux / community / os / i686 / "http://mirror.us.leaseweb.net/ lftp -e" espelho --delete --only-newer / archlinux / multilib-staging / os / i686 / / home / user / archlinux / multilib-staging / os / i686 / "http: // mirro r.us.leaseweb.net/ lftp -e "mirror --delete --only-newer / archlinux / core / os / i686 / / home / user / archlinux / core / os / i686 /" http: // mirror. us.leaseweb.net/

E eu corro:

lftp -f /ruta/archivo.txt

E é assim que eu atualizo meus repositórios locais ...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   curefox dito

    Muito útil e prático.

  2.   Cocólio dito

    Muito boa verdade, sempre me perguntei como essa tarefa era feita, mas nunca me dignei a descobrir como era feita, espero que publique como apontar o atualizador do repositório para o disco loca, obrigado.

    1.    Júlio César dito

      pacman.conf

      [arco]
      siglevel = PackageRequired
      Server = file: /// mnt / repo / arch

    2.    elav. dito

      Uff, eu sabia que tinha sobrado algo.

  3.   Carlos dito

    Algum tempo atrás eu também precisei fazer isso porque tive que reinstalar todo o meu sistema Archlinux e não queria baixar todos os gnome e aplicativos novamente, pois minha conexão era limitada. Não sei se pode sair de outro site aqui mas caso alguém se interesse http://www.kr105.shekalug.org/2011/10/16/crear-un-repositorio-local-en-archlinux/ 🙂

  4.   apenas-outro-dl-usuário dito

    Quantos GB tem o repositório ArchLinux inteiro?

    1.    ldd dito

      algo para 40GB, o que eu gostaria de saber é que só podemos copiar os pacotes para 64bits e descartar i686

  5.   Azazel dito

    Arch… (suspiro) Algum dia, quando eu tiver meu próprio computador, tentarei instalá-lo.

  6.   eliotime3000 dito

    Gostaria que houvesse uma versão LTS do Arch e usar o AUR como backport.

    1.    freebsddick dito

      Bem, não sei ... talvez na planerta dos macacos seja possível

      1.    eliotime3000 dito

        Já que percebi que não havia, então me dedicarei a tirar o máximo proveito do Slackware e aprender mais sobre o OpenBSD.

    2.    biscoito dito

      Haha, isso seria o completo oposto do que Arch representa.

  7.   como quem dito

    No meu caso, em geral, sempre encontro o pacote que procuro, seja no repo oficial, seja no AUR, embora, quando não o é, meu repo pessoal nunca me falha.

    Aparentemente, Elav pegou o vírus Arch + versionitis 😛

    1.    como quem dito

      Uau, então o navegador Steam usa WebKit 😮
      * Jogando Portal do meu Arch *

  8.   xino93 dito

    elav, já que eles estão postando arto de arch, você poderia fazer um post para deixar o KDE bonito, com sorte e sem os pacotes AUR ...

    1.    elav. dito

      Para tornar o KDE bonito, você não precisa de AURs, apenas kde-look.org e devianart.com para encontrar bons temas para Plasma, Aurorae, QtCurve, Ícones ... e assim por diante. De qualquer forma, escrevo na minha lista de tarefas.

  9.   Tito dito

    Oi. Estou visitando este blog há um mês, e este é meu primeiro comentário.

    Para Debian e repositórios como Ubuntu, etc, existe um pacote: debmirror. Uma vez instalado, você deve configurá-lo indicando os repositórios, arquitetura, etc. que deseja sincronizar. Debmirror é um script perl que usa rsync.

    Anos atrás, fui professor de um módulo de ciência da computação, no qual, entre outras coisas, tive que ensinar como instalar um sistema operacional. Minha escolha Debian. Usamos o CD netinst. Como todos os pacotes tinham que ser baixados para cada aluno, eram 20, e a conexão com a internet estava ruim, isso não estava indo bem. No começo eu usei um proxy, mas não melhorou muito. Então decidi instalar um pequeno servidor onde instalei os repositórios que usei. Desta forma a instalação correu bem, até picos de 100 Mbit / s, que a rede dava. Os alunos deveriam indicar que os repositórios estavam no servidor da sala de aula e acessados ​​via FTP. Os repositórios Debian Lenny tinham pouco mais de 20 GB de tamanho e ele os sincronizava duas vezes por semana, segunda e quinta às 2:00.

    Saudos,

  10.   Leão dito

    Guia muito bom. É verdade que no início o Arch parece complicado demais, mas graças a guias como esses não há nada impossível.

  11.   cat_sk8 dito

    obrigado

  12.   Jordi dito

    Oi .. meu problema também é a velocidade da internet .. mas eu uso ubuntu .. posso fazer o mesmo mas para ubuntu?
    obrigado

  13.   bosito7 dito

    Obrigado Elav, também estamos queimando com rsync aqui, obrigado por nos mostrar uma alternativa, salu2 de Santiago