Situatie
Fie că este vorba de scopuri de cercetare sau de curiozitate, știți care sunt pachetele și depozitele de date mai populare decât celelalte pe Ubuntu, ați putea dori să găsiți statisticile de descărcare ale unui anumit pachet dintr-un Ubuntu PPA (arhiva personală a pachetelor). Din fericire, avem o modalitate bună de a face acest lucru în cateva minute.
Pentru cei care nu știu; un PPA este un depozit de pachete care este găzduit pe Launchpad.net, un sistem online construit în principal pentru a servi Ubuntu și infrastructura acestuia. Launchpad găzduiește aceste depozite și permite oricui să creeze un PPA gratuit pentru uz propriu oricând dorește. Vom învăța împreună cum să obținem statisticile de descărcare ale unui anumit pachet dintr-un anumit PPA care ne interesează.
Obținerea statisticilor de descărcare a unui PPA
Launchpad oferă un API public care vă permite (chiar dacă ați fost un utilizator non-logged sau neînregistrat) pentru a obține statisticile de descărcare ale oricărui PPA pe care îl doriți de la Launchpad. Deci, dacă scrieți doar un mic script pentru a rula aganistul API un pachet specific din PPA pe care îl doriți, sarcina este ușor de făcut.
Din fericire, mulți oameni au făcut acest lucru în trecut. Unul dintre cele mai bune instrumente pe care le-am găsit a fost instrumentul “PPAstats” dezvoltat de Jean-Philippe Orsini. Este un instrument simplu de a genera un raport complet HTML despre un anumit AEE care să indice numărul de descărcări pe zi, pe pachet, pe versiune pentru orice depozit pe care îl doriți.
Solutie
Instrucțiunile de instalare sunt disponibile pe pagina web a proiectului. Din păcate, pachetul Ubuntu este disponibil numai până la Ubuntu 16.04, deci pentru a instala instrumentul, va trebui să îl compilați din codul sursă pe propria distribuție.
Acest lucru nu este greu, trebuie doar să descărcați ultimul cod sursă (din 2016, este ppastats-1.3.3.tar.gz) și să lucrați la el. Principalul lucru pe care l-am găsit în timpul compilării este că există o linie lipsă în fișierul src / pstr.c, linia 21, trebuie să adăugați acest lucru acolo:
#include <stdlib.h>
Apoi, în directorul principal al proiectului, ar trebui să puteți rula:
./configure
face
sudo face instalare
Și depanați-vă tot drumul și instalați singur dependențele necesare. La instalarea Ubuntu 18.04 LTS am descoperit că aveam nevoie de următoarele pachete: libjsc-c-dev libjsc-c3: i386 ocaml-base-nox libreact-ocaml libresl-ocaml libvl-ocaml libcurlpp0 libcurl4- gnutls-dev libcurlpp-dev.
După ce instalați instrumentul, pentru a genera un raport, trebuie să executați următoarea comandă:
ppastats -o output / jfi ppastats
Înlocuiți ieșirea / cu numele directorului la care trebuie generat raportul HTML și activele acestuia, înlocuiți jfi cu numele proprietarului PPA și ppastats cu numele PPA. După ce a terminat, ar trebui să obțineți aceste fișiere în folderul de ieșire, deschideți index.html principal într-un browser pentru a vedea raportul. Apoi puteți citi statisticile de acolo.
Notă importantă: Mulți dezvoltatori nu reconstruiesc pachete pentru diferite versiuni Ubuntu, ci mai degrabă o construiesc doar o singură dată pentru o versiune Ubuntu (de ex. 18.10) și apoi să copieze binarele în celelalte versiuni de sucursale. Acest lucru vă va determina să nu puteți vedea numărul de descărcări pe diferite versiuni Ubuntu, deoarece toate acestea ar fi același număr (sau foarte asemănător), deci aveți grijă.
Am întrebat despre asta în timp ce căutam statisticile mele de descărcare PPA și acesta a fost răspunsul:
Launchpad este capabil să colecteze statistici numai prin observarea fișierelor care se pot descarca. Aceasta înseamnă că, dacă aceeași binară a fost copiată între serii sau arhitecturi, nu este posibil ca Launchpad să distingă întreaga serie sau arhitectură la care descărcarea ar trebui să fie atribuită. Pe plan intern, fiecare fișier binar se află într-o găleată unică, însă multe obiecte binary_package_publishing_history de pe API pot hărți în aceeași buchetă dacă reprezintă același fișier.
Deci, fiecare descărcare contează într-un singur număr, dar numărul poate fi returnat de mai multe BPPH-uri dacă ați copiat binare între serii sau dacă binarul este independent de arhitectură.
Merită de menționat, de asemenea, că infrastructura Launchpad este foarte instabilă; Uneori, veți primi o eroare de 503 atunci când încercați să utilizați instrumentul pentru a vă obține agenții de PPA aganiști mari / PPA-uri actualizate zilnic. Nu este vorba doar despre API-ul Launchpad, dar chiar și site-ul însuși întoarce de obicei 503 de erori atunci când navighează din când în când .. Deci, trebuie să fii răbdător și să încerci în vremuri de noapte când e mai puțină încărcătură.
De asemenea, puteți încerca să utilizați acest mic script Python pentru a face sarcina. Mai întâi trebuie să instalați pachetul lanspadlib prin pip pentru Python:pip instalare launchpadlib
Apoi, salvați scriptul Python într-un fișier numit ppa.py și rulați scriptul ca acesta pentru a obține statisticile de descărcare: mhsabbagh @ mysimplepc: ~ $ python ppa.py -p verde-recorder -s bionic -a amd64 fossproject / ppa
verde-recorder bionic amd64 9465
Desigur, rezultatul este doar numărul de descărcări pe serii și arhitectură, dar îl puteți folosi dacă doriți să obțineți acest lucru sau dacă PPAstats nu funcționează bine cu dvs. Înlocuiți argumentele date în funcție de nevoile dvs.
Concluzie
PPAstats este un instrument foarte frumos pentru a obține un raport vizualizat despre statisticile de descărcare pe care le doriți pentru orice PPA Ubuntu. În afară de metoda de instalare, totul este atât de ușor de utilizat folosind instrumentul. Acum puteți găsi statisticile de descărcare ale oricărui PPA pe care îl doriți.
Leave A Comment?