Cum pot configura și a refuzat să apt-oglindă depozit local pentru ubuntu pentru a accelera testarea

Atunci cand este testat pe un pleybukov pur Ubuntu (cum altfel?) Cel mai mare timp deasupra capului (subiectivă) și, desigur, cel mai mare trafic petrecut pe instalarea pachetelor din magazia de sistem. Acest lucru este vizibil mai ales atunci când vezi că același test rulează Travis IC de 1,5 ori mai rapid.

Tl; dr: nu fac depozit locale prin intermediul apt-oglinda pentru mici probleme, nu-l merita. În schimb, aveți nevoie pentru a ridica server de cache prin intermediul apt-cacher-ng.

Cum pot configura și a refuzat să apt-oglindă depozit local pentru ubuntu pentru a accelera testarea

Configurarea apt-oglindă

Pentru a sincroniza magazia locală cu primul exemplu de realizare un singur - apt-oglindă. Site-ul oficial spune că avem inteligent, așa că instrucțiunile sale sunt în 3 rânduri:

Este într-adevăr este aproape la fel de simplu. Aproape.

Selectarea cel mai rapid magaziei

Pachetul nu se află în arhivele Ubuntu, astfel încât să se balanseze de la depozitul Debian Ca rezultat, veți obține o listă a celor 3 mai rapide (de ping) registrele centrale:

configurație

  • Schimbarea archive.ubuntu.com pe mirror.yandex.ru.
  • Scoateți Depozitul Multiverse (standard nu Docker container Ubuntu, probabil, nu foarte necesar, dar de economisire doar 13 GB).
  • Schimbarea oglinda de stocare fel, fără a uita apoi copiați script-gol într-o nouă locație /var/spool/apt-mirror/var/postmirror.sh. în caz contrar apt-oglindă va scădea la sfârșitul unei erori. Am o oglindă va fi stocat în / var / backup / apt-oglindă (pe backup pe disc, o mulțime de locuri)

Este sub formă de comenzi:

Adăugați la cron pentru a actualiza magazia, voi alerga la 1 am:

Configurarea se întoarce Nginx la magazia, am o astfel de configurație:

Totul este gata, rulați apt-oglindă și să aștepte o zi: am sifonat 142 GB. Mai mult decât atât, actualizarea va cântări, de asemenea, în mod semnificativ ca am realizat a doua zi am fugit din nou apt-oglindă, el a descărcat 1,5 GB.

După aceea puteți schimba magazia sistemului dumneavoastră Ubuntu local și bucurați-vă de viteza.

data = „Eroare“ slug = „Eroare / de ce-ai-ar trebui să-nu-uz-apt-oglindă-pentru-ansiblu-teste-in-docher“ În timp ce există, beneficiază de dreptul, desigur, nu sa întâmplat. Din anumite motive (probabil, motivul pentru care locul de pe disc), pompe apt-oglindă numai pachete amd64, din cauza a ceea ce jură apt-get update:

Părea să fie bine, dar eu sunt sigur că în testele nenul apt-get cod de ieșire se va opri toate, deci va trebui să se stabilească.

Eroarea este pe askubuntu.com. Datorită persoanei care a oferit soluția și displăcut faptul că nu există decât omul sources.list.

Soluția se propune: să se precizeze în mod explicit în sources.list. că numai în depozitul de pachete amd64, care este, în schimb:

Cu configurare apt-oglindă terminat, ne trece pentru a fi utilizate în teste.

Trecerea Docker container la un depozit apt locală

  1. [Mod Bad] prin DNS spoofing
  2. [Bună Metoda] Schimbare /etc/apt/sources.list

Am ales una bună. Acest lucru se face prin montarea fișierul în locul /etc/apt/sources.list:

Nu pentru a trage cu ei artefacte, fișierul este creat de echipa.

După această verificare, ar trebui să funcționeze bine:

În cazul în care o eroare readlink readlink: optiune ilegala - f. atunci este posibil să se așeze pe MacOS, și trebuie să facă o bere instala coreutils și să înregistreze în PATH ceea ce el cere.

compararea vitezei

Am petrecut aproximativ 4 ore încercând să creeze un depozit local, vedeți cât de mult am salvat timp. o viteză de 30 Mbps în mine.

Am comparat testul molecula de timp practica 3 roluri ansiblu, aici sunt rezultatele:

Concluzii despre apt-oglindă

Rezultatele am fost un pic supărat. Sa dovedit că creșterea izbitoare în viteză, pe care am sperat nu ar fi.

  • odată ce am luat timp pentru a testa de fiecare dată să aștepte mai puțin
  • Aceasta reduce dorința de a testa nu pe o mașină curată
  • canal de Internet nu este angajată în ore de lucru
  • efect este slab, 20-30%
  • dificultăți în transmiterea dosarului sources.list
  • plecare din configurația standard Gitlab CI
  • configs diferite pentru Travis CI și Gitlab CI

Pe baza acestei făcut pentru o concluzie: este potrivit doar pentru utilizare locală continuă, în alte cazuri, mai mari decât dezavantajele.

Ceva e în neregulă aici ...

După aceea, m-am gândit: cum să facă „mare“? Dintre cele mai importante decizii pentru arhive locale, știu doar Artifactory. M-am dus să văd modul în care acestea au lucruri cu oglinzi și FOUND. ele pot fi o oglindă, dar sunt recomandate pentru utilizarea lor, astfel că este ineficient. În schimb, ei propun să le utilizeze ca un server de cache. Astfel de lucruri ...