Redigendum tergum per 99.5% cum hashget

hashget - suus liber, fons aperto deduplicator utilitas est similis archivi qui permittit te signanter reducere ad magnitudinem tergum, necnon incrementales et differentiales technas et plus ordinare tergum.

Hic est articulus imaginatio ad lineamenta describenda. Usus actualis hashget (simplex) describitur README proiciamus, wiki documenta.

collatio

Iuxta legem generis incipiam ilico cum scelesti - comparatione eventus:

Data sample
pacto magnitudine
.tar.gz
hashget.tar.gz

WordPress-5.1.1
Search 43
11 Mb (26%)
155 Kb ( 0.3% )

Linux kernel 5.0.4
Search 934
161 Mb (20%)
4.7 Mb ( 0.5% )

Debian 9 (LAMP) LXC VM
Search 724
165 Mb (23%)
4.1 Mb ( 0.5% )

Background in quo sit tergum optimum et efficax sit

Quotiens feci tergum novi virtualis machinae creatae, perversa sum affectus quod aliquid mali facerem. Cur hefty tergum a systemate accipio, ubi inaestimabilis et incorruptibilis foecunditas una linea index est.html cum textu "Salve mundi"?

Cur in tergum meum 16 MB /usr/sbin/mysqld est? Itane fieri potest ut in hoc mundo mihi honor tanti fasciculi retineatur, et si deficiat, humanitati amittetur? Verisimile n. Reposita est in servientibus debianis valde locupletibus (quorum fides et uptime) cum illis quae providere possum comparari non possunt, tum in tergum (decies centena milia earum) aliorum adminorum. Num vere postulo ut 10+ 000 exemplum huius magni momenti documenti ad emendare fidem?

Fere hashget et hanc quaestionem solvit. Cum stipata, parvum tergum creat. Cum vestimenta - ratio omnino inpedita, simile quid esset, si tar -c / tar -x. (In aliis verbis, hoc est sine damno packaging)

Quomodo hashget opera

hashget notiones Sarcinae et HashPackage habet, cum eorum ope deduplicationem efficit.

sarcina (Plastic bag). Fasciculus (plerumque in archivo .deb vel .tar.gz) quod secure ex Interreti detrahi potest, et ex quo una vel plures tabulae haberi possunt.

HashPackage - fasciculus JSON parva Sarcina repraesentans, incluso fasciculo URL et fasciculorum summarum (sha256) ex ea. Exempli gratia, pro fasciculo 5 megabyte mariadb-server-core, hashpackage magnitudine tantum 6 chilioctetis est. Mille fere minus.

Deduplicatio - archivum sine duplicata tabula condens (si deduplicator novit ubi sarcina originali deponi potest, duplicata ex archivo reducit).

Packaging

Cum stipare, omnia fasciculi e indice referta lustrantur, summae earum hae calculatae sunt, et si summa in una notarum HashPackages invenitur, metadata circa tabella (nomen, Nullam, accessum iura, etc.) servata est. in speciali fasciculo .hashget-restore.json, quod etiam in archivo continebitur.

In casu simplicissimo, ipsa sarcina non magis quam bitumen perplexa spectat;

hashget -zf /tmp/mybackup.tar.gz --pack /path/to/data

unpacking

Vestis fit duobus gradibus. Primo bitumine infrequentia solitum;

tar -xf mybackup.tar.gz -C /path/to/data

inde restitues a retis;

hashget -u /path/to/data

Cum restituendo, hashget legit fasciculum .hashget-restitue, fasciculos necessarias inprimit, illas unpack et necessarias tabulas extrahit, eas in viis requisitis cum permissionibus possessoris/coe//cibus insertis.

Difficilius sunt

Quod supra dictum est, iam satis est iis qui "bitumen esse volunt, sed Debianum in 4 megabytes" facere. Inspice plura postea implicata.

Indexing

Si hashget unam omnino HashPackage non habuit, simpliciter aliquid deduplicare non posset.

HashPackage manually creare potes etiam (solum: hashget --submit https://wordpress.org/wordpress-5.1.1.zip -p my) , sed via commodior est.

Ut hashpackage ad necessaria, scaena est indexing (Id est sponte supplicium cum imperio --pack) et Heuristics. Cum indexing, hashget "pascitur" unumquodque fasciculus inventus est omnibus praesto heuristicis qui in ea sunt interested. Heuristics tunc indicare potest aliquem Sarcinam creare HashPackage.

Exempli gratia, Debian heuristicus tabellam /var/lib/dpkg/statum amat et fasciculos debianos inauguatos deprehendit, et si non sunt inscriptae (nulla HashPackage illis creata est), eas downloads et indices. Effectus valde nice effectus est - hashget semper efficaciter duplicare Debian OSes, etsi recentissimas sarcinas habent.

Monitus files

Si retis tuis aliquibus fasciculis proprietatis tuis utitur vel in sarcina publica quae in heuristicis hashget non comprehenditur, simplicem hashget-hint.json fasciculum adiicere potes ei sic:

{
    "project": "wordpress.org",
    "url": "https://ru.wordpress.org/wordpress-5.1.1-ru_RU.zip"
}

Deinceps, quoties archivum creetur, fasciculum indicetur (si antea non fuerit), ac fasciculi fasciculi ex archivo deduplicato. Nulla programmatio opus est, omnia ex vi fieri possunt et nisi in omni tergum. Nota quaeso quod gratiarum summae accessus, si aliquae fasciculi e fasciculo localiter mutentur (exempli gratia, fasciculi configurationis mutatur), tunc tabulae mutatae in archivo "ut" servabuntur nec mutilabuntur.

Si nonnullae e fasciculis propriis periodice renovantur, sed mutationes non valde magnae sunt, solum ad maiores versiones indicare potes. Exempli gratia, in versione 1.0 admonitus demonstraverunt mypackage-1.0.tar.gz, et erit omnino deduplicata, tunc versionem 1.1 dimiserunt, quae leviter diversa est, sed admonitio non renovata est. Bene est. Tantum imagini quae inserere (reddi potest) versioni 1.0 deduplicatae sunt.

Scapus heuristicus qui processus admonitus est exemplum bonum ad cognoscendum internam mechanismum quomodo heuristici operantur. Hashget-hint.json imaginum tantum processuum (vel .hashget-hint.json cum puncto) et cetera omnia ignorat. Ex hoc fasciculo, utram sarcinam URL indicet, ac indices hashget (si antea non fecisset) decernit.

HashServer

Satis intensum esset ad plenam indexing cum tergum creandi. Ad hoc faciendum, debes singulas sarcinas extrahere, eam fac et indicem. Ergo hashget utitur ratione cum HashServer. Cum involucrum Debian inauguratum detegatur, si in loci HashPackage non invenitur, primum tentatio facta est ut HashPackage de Nullam servo detrahendum est. Et solum si hoc non operatur, hashget se downloads et sarcinam emittit (et uploads ad hashservi, ut in futuro providet hashservus).

HashServer elementum libitum est schematis, non criticum, solum est accelerare et onus in repositoriis reducere. Facile erret (libitum --hashserver sine ambitu). Praeterea facile potes fac tua hashserver.

Tergum incrementale et differentiale, obsolescentiae meditatum

hashget id facillime ad tabulam incremental et differentialis tergum. Cur non ipsum nostrum tergum (cum omnibus fasciculis singularibus) indicemus? Unus dolor --submit et facta es! Proximum tergum quod hashget gignit tabulas ex hoc archivo non includit.

Sed hoc non est valde bonum accessus, quia eveniat ut omnia restituenda debeamus in tota historia detrahere tergum (si singula saltem singula documenta contineant). Est hoc mechanism cogitavit obsolescentiam tergum. Cum indexing, specificare potes date expirata HashPackage --expires 2019-06-01et post hunc diem (ab 00:00), non adhibebitur. Ipsum archivum post hunc diem deleri non potest (Quamvis hashget inscriptiones omnium tergum quae commode demonstrare possunt/ in tempore vel in quolibet die putrida erunt).

Exempli gratia, si plenam tergum in 1st et indicemus cum vita sua usque ad finem mensis, rationem differentialem habebimus tergum.

Si novos tergum eodem modo indicemus, schema tergum incrementi erit.

Dissimiles technas traditionales, hashget multiplicibus fontibus utere permittit. Tergum reducendum erit tum reducendo lima ex priorum tergum (si quis) et per tabulas publicas (quod deponi potest).

Si aliqua de causa fides Debianarum facultatum non confidimus (https://snapshot.debian.org/) vel alia distributione utitur, solum totum tergum semel cum omnibus fasciculis facere possumus, et tunc in ea confidere.per inactivare Heuristics). Nunc, si omnes servientes distributionum nostrarum eveniunt ut perpendat nobis (in mnemosyno interreti vel in apocalypsi zombie), sed tergum nostrum in ordine sunt, ex aliquo brevi diffusculo recuperare possumus quod tantum in superioribus nostris tergum nititur. .

Hashget solum in fontibus fiduciae receptae discretioni tuae innititur. Ipsi, quos certos habebis, adhibebitur.

FilePool et Glacier

mechanism FilePool permittit tibi ne ministros externos assidue contactum ad sarcinas electronicas adhibeas, sed fasciculis utere ex directorio locali vel servo corporato, exempli gratia:

$ hashget -u . --pool /tmp/pool

aut

$ hashget -u . --pool http://myhashdb.example.com/

Ad piscinam in directorio locali facere, solum opus est directorium creare et fasciculos in illam mittere, ipsum hashget quid opus est ut hashes senties. Ad piscinam pervia HTTP accessibilis, symlinka peculiariter creare debes, hoc uno mandato facto (hashget-admin --build /var/www/html/hashdb/ --pool /tmp/pool). HTTP FilePool ipsa tabulae statice sunt, ut quilibet simplex servo telae servire potest, onus in calculonis fere nulla est.

Gratias FilePool, non solum facultates ut basis, sed etiam . uti potes exempli gratiaAmazon.

Tergum ad glaciem imposuistis, id onerati eius accipimus et illo ut domicilio utimur. Exempli gratia:

hashget --submit Glacier_Upload_ID --file /tmp/my-glacier-backup.tar.gz --project glacier --hashserver --expires 2019-09-01

Nunc nova tergum in hoc tergum fundabitur et brevius erit. Post bitumen diffbackup nudare, videre possumus quibus opibus innitatur;

hashget --info /tmp/unpacked/ list

et modo concha scriptione utere ut omnia haec lima a Glacier ad piscinam extrahat ac solitam recuperationem deteges: hashget -u /tmp/unpacked -pool /tmp/stagnum

Estne ludus tanti lucernae?

In simplicissimo casu, simpliciter minus pro tergum reddes (si alicubi in nube pecuniam reponis). Multo fortasse, nedum.

Sed id fringilla nisi. Quantitas convertitur in qualitatem. Hoc uti potes, ut Phasellus summus qualitas ad tergum tuum propositum. Exempli causa, cum terga nostra breviora sint, non menstrua tergum, sed quotidiana facere possumus. non sex menses, ut prius, sed 5 annos condite. Antea, in lento sed vili "frigido" repositione (Glacier), nunc illud in calido repositorium recondere potes, unde semper cito tergum depone et minuta, non die, restitue.

Augere potes fidem tergum repono. Si nunc in una facultate repono, reducendo volumen tergum, facilitates in 2-3 repositione reponere poterimus, sine dolore si unus ex eis laedatur.

Quomodo temptare et satus usura?

Vade ad gitlab paginam https://gitlab.com/yaroslaff/hashget, uno imperio install (pip3 install hashget[plugins]) et mox lege et initio vivos exequi. Puto tollet 10-15 minuta ad omnia simplicia facienda. Tunc conari potes machinis virtualibus tuis comprimere, ac documenta innuere si necesse est ut compressionem validiorem reddas, cum lacunis ludere, database loci Nullam et servo Nullam si interest, et posterus dies vide quantam quantitatem incrementi tergum erit super hesternum.

Source: www.habr.com