Hic est articulus imaginatio ad lineamenta describenda. Usus actualis hashget (simplex) describitur
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 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 elementum libitum est schematis, non criticum, solum est accelerare et onus in repositoriis reducere. Facile erret (libitum --hashserver
sine ambitu). Praeterea facile potes
Tergum incrementale et differentiale, obsolescentiae meditatum
--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 --expires 2019-06-01
et 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 (
Hashget solum in fontibus fiduciae receptae discretioni tuae innititur. Ipsi, quos certos habebis, adhibebitur.
FilePool et Glacier
mechanism
$ 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
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 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