Whakaitihia nga taapiri ma te 99.5% me te hashget

hashget - he kore utu, he puna tuwhera kaiwhakaora he whaipainga rite ki te purongo ka taea e koe te whakaiti i te rahi o nga taapiri, me te whakarite i nga kaupapa taapiri me te rereke rereke me etahi atu.

He tuhinga tirohanga whanui tenei hei whakaahua i nga ahuatanga. Ko te tino whakamahinga o te hashget (he tino ngawari) e whakaahuatia ana i roto README kaupapa me tuhinga wiki.

Whakataurite

E ai ki te ture o te momo, ka timata tonu ahau me nga mahi whakahirahira - te whakataurite i nga hua:

Tauira raraunga
rahinga wetewete
.tar.gz
hashget.tar.gz

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

5.0.4 koiora Linux
934 Mb
161 Mb (20%)
4.7 Mb ( 0.5 orau )

Debian 9 (RAMA) LXC VM
724 Mb
165 Mb (23%)
4.1 Mb ( 0.5 orau )

He papamuri mo te ahua pai me te whai hua

I nga wa katoa ka hanga e ahau he taapiri o te miihini mariko katahi ano ka hanga, ka raru ahau i te whakaaro kei te he taku mahi. He aha te take i whiwhi ai au i tetahi taapiri nui mai i te punaha, kei reira taku mahi auaha kore utu ko te rarangi kotahi index.html me te kupu "Kia ora te ao"?

He aha te 16 MB /usr/sbin/mysqld kei roto i taku taapiri? He pono kei roto i tenei ao ka whai honore ahau ki te pupuri i tenei konae nui, a ki te kore au, ka ngaro ki te tangata? Ko te nuinga pea kaore. Kei te rongoa i runga i nga tūmau debian tino pono (ko te pono me te wa e kore e taea te whakarite ki nga mea ka taea e au te whakarato), tae atu ki nga taapiri (miriona o ratou) o etahi atu kaiwhakahaere. Me hanga 10+ kape tuatahi o tenei konae nui hei whakapai ake i te pono?

Ko te tikanga hashget me te whakaoti i tenei raruraru. Ina kiki, ka hangaia he taapiri iti rawa. I te wa e wetewete ana - he punaha tino wetewete, he rite ki te ahua o te mea tar -c / tar -x. (Arā, he tākai ngarokore tēnei)

Me pehea te mahi hashget

Kei a hashget nga ariā o te Package me te HashPackage, me to raatau awhina ki te mahi tangohanga.

mōkī (pueke kirihou). He konae (he puranga .deb, .tar.gz ranei) ka taea te tango mai i te Ipurangi, ka taea te tiki mai i tetahi, neke atu ranei nga konae.

HashPackage — he konae JSON iti e tohu ana mo te kete, tae atu ki te URL mokete me nga moni hash (sha256) o nga konae mai i a ia. Hei tauira, mo te mokihi mariadb-server-core 5 megabyte, ko te rahi o te kete hashpackage he 6 kiropaita anake. Tata ki te kotahi mano nga wa iti ake.

Te tangohanga — te hanga i te puranga me te kore he konae taarua (mehemea ka mohio te kai-tango i te waahi ka taea te tango i te kete taketake, ka whakahekehia nga taarua mai i te puranga).

Te takai

I te wa e kohikohi ana, ka karapahia nga konae katoa mai i te whaiaronga e kikihia ana, ka tatauhia o ratou moni hash, a ki te kitea te moni i roto i tetahi o nga HashPackages e mohiotia ana, ka tiakina nga metadata mo te konae (ingoa, hash, mana uru, me etahi atu) i roto i te konae motuhake .hashget-restore.json, ka whakaurua ano ki te puranga.

I roto i te keehi tino ngawari, ko te kohinga tonu he ahua uaua ake i te tar:

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

Kei te wetewete

E rua nga wahanga o te wetewete. Tuatahi ko te wetewete i te tara:

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

ka whakahokia mai i te whatunga:

hashget -u /path/to/data

I te wa e whakaora ana, ka panuihia e te hashget te konae .hashget-restore.json, ka tango i nga kohinga e tika ana, ka wetewetehia, ka tango i nga konae e tika ana, ka whakauruhia ki nga huarahi e hiahiatia ana, me te rangatira / roopu / whakaaetanga.

Nga mea uaua ake

Ko nga mea kua korerohia i runga ake nei kua ranea mo te hunga "e pirangi ana kia rite ki te tar, engari ki te kohi i taku Debian ki te 4 megabytes." Ka titiro tatou ki nga mea uaua ake a muri ake nei.

Taupū

Mena karekau he HashPackage kotahi te hashget, karekau e taea te tango i tetahi mea.

Ka taea hoki e koe te hanga HashPackage a-ringa (me: hashget --submit https://wordpress.org/wordpress-5.1.1.zip -p my), engari he huarahi pai ake.

Ki te tiki i te kete hashpackage e tika ana, he waahi tohu tohu (Ka mahia aunoatia me te whakahau --pack) a heuristics. I te wa e tohuhia ana, me "whangai" ia kōnae ka kitea ki nga heuristic katoa e hiahia ana ki a ia. Ka taea e Heuristics te tohu i tetahi kete hei hanga HashPackage.

Hei tauira, he pai te Debian heuristic ki te konae /var/lib/dpkg/status me te kite i nga kohinga debian kua whakauruhia, a ki te kore e tohuhia (kaore he HashPackage i hangaia mo ratou), tango me te tohu tohu. Ko te hua he hua tino pai - ka tangohia e te hashget nga wa katoa ki te tango i nga OS Debian, ahakoa kei a raatau nga kohinga hou.

Kōnae tohu

Mena ka whakamahia e to whatunga etahi o o kohinga rangatira, he kete whanui ranei kaore i whakauruhia ki roto i te heuristics hashget, ka taea e koe te taapiri i tetahi konae tohu tohu hashget-hint.json ki reira penei:

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

I muri mai, ia wa ka hangaia he purongo, ka tohuhia te kete (mehemea kare ano i mua), ka tangohia nga konae kete mai i te puranga. Kaore he kaupapa e hiahiatia ana, ka taea nga mea katoa mai i te vim me te penapena i nga taapiri katoa. Kia mahara ko te mihi ki te huarahi o te moni hash, mena ka hurihia etahi konae mai i te kete i te rohe (hei tauira, ka hurihia he konae whirihoranga), katahi ka tiakina nga konae kua whakarereketia ki roto i te puranga "penei" ka kore e tapahia.

Mena ka whakahoutia etahi o au ake kete i ia wa, engari kaore i te tino nui nga huringa, ka taea e koe te tohu mo nga putanga nui anake. Hei tauira, i roto i te putanga 1.0 i hanga e ratou he tohu e tohu ana ki mypackage-1.0.tar.gz, a ka tino whakakorehia, katahi ka tukuna e ratou te putanga 1.1, he paku rereke, engari kaore i whakahoutia te tohu. Kei te pai. Ko nga konae e rite ana (ka taea te whakahoki ki) putanga 1.0 ka whakakorehia.

Ko te heuristic e tukatuka ana i te konae tohu he tauira pai mo te mohio ki te tikanga o roto mo te mahi a te heuristic. Ka tukatuka noa i nga konae hashget-hint.json (ranei .hashget-hint.json me te ira) ka wareware ki etahi atu. Mai i tenei konae, ka whakatauhia ko tehea te URL mokete me tohuhia, ka tohuhia e hashget (mehemea kaore ano kia mahia)

HashServer

Ka tino kaha te mahi ki te mahi i te taurangi katoa i te wa e hanga ana i nga taapiri. Ki te mahi i tenei, me tango e koe ia kete, wetewetehia, ka tohuhia. Na reira ka whakamahia e hashget tetahi kaupapa me HashServer. Ina kitea he kete Debian kua whakauruhia, ki te kore e kitea i roto i te HashPackage o te rohe, ka ngana ki te tango noa i te HashPackage mai i te tūmau hash. A, ki te kore tenei e mahi, ka tango a hashget ake me te hash i te kete (ka tuku atu ki te hashserver, kia tukuna e te hashserver a meake nei).

Ko te HashServer tetahi waahanga o te kaupapa, ehara i te mea tino nui, he mahi anake hei tere me te whakaheke i te uta ki runga i nga putunga. He ngawari te mono (he kowhiri --hashserver kahore tawhā). I tua atu, ka taea e koe te ngawari hanga i to ake kaihaapapa.

Ko nga taapiri taapiri me nga taapiri rereke, kua whakamaheretia kua tawhitotia

hashget he tino ngawari te hanga hoahoa te taapiri me te taapiri rereke. He aha tatou e kore ai e taupū i a tatou ake taapiri (me o tatou konae ahurei katoa)? Kotahi te kapa --submit a kua oti koe! Ko te taapiri ka hangaia e te hashget kaore e whakauru i nga konae mai i tenei puranga.

Engari ehara tenei i te huarahi tino pai, na te mea ka puta ke te whakahoki mai ka toia e tatou nga taapiri hashget katoa i roto i te hitori katoa (mehemea kei roto i ia waahanga kotahi te konae motuhake). He tikanga mo tenei kua whakamaheretia te tawhito o nga taapiri. I te wa e tohu ana, ka taea e koe te tohu i te ra paunga o HashPackage --expires 2019-06-01, a i muri i tenei ra (mai i te 00:00), kaore e whakamahia. E kore e taea te muku i te purongo ake i muri i tenei ra (Ahakoa ka taea e te hashget te whakaatu i nga URL o nga taapiri katoa kua pirau/ka pirau i tenei wa, i tetahi ra ranei).

Hei tauira, ki te mahia e matou he taapiri katoa i te 1 me te taurangi mo te roanga o te ora tae noa ki te mutunga o te marama, ka whiwhi matou i tetahi kaupapa taapiri rereke.

Mēnā ka whakarārangihia e mātou ngā pūrua hōu i roto i te āhua rite, ka puta he kaupapa mo te taapiri taapiri.

Kaore i rite ki nga kaupapa tuku iho, ka taea e te hashget te whakamahi i nga punawai maha. Ka whakaitihia te taapiri ma te whakaiti i nga konae mai i nga taapiri o mua (mehemea he) me nga konae whanui (he aha ka taea te tango).

Mena he take kaore matou e whakawhirinaki ki te pono o nga rauemi Debian (https://snapshot.debian.org/) ka whakamahi ranei i tetahi atu tohatoha, ka taea noa e matou te hanga i te taapiri katoa me nga kohinga katoa, ka whakawhirinaki ki runga (ma te whakakore i te heuristics). Inaianei, ki te kore e watea mai ki a matou nga kaitoha katoa o a matou tohatoha (i runga i te Ipurangi mahara, i te wa ranei o te panui zombie), engari kei te pai o taatau taapiri, ka taea e taatau te whakaora mai i nga taapiri rereke poto e whakawhirinaki ana ki o taatau taapiri o mua. .

Ka whakawhirinaki noa a Hashget ki nga puna whakaora pono i runga i to whakaaro. Ko nga mea e whakaarohia ana e koe he pono ka whakamahia.

FilePool me te Glacier

Hangarau KōnaePool ka taea e koe kia kaua e whakapa atu ki nga kaitoro o waho ki te tango i nga kete, engari ka whakamahi i nga kohinga mai i te raarangi aa-rohe, i te kaitoha umanga ranei, hei tauira:

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

ranei

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

Ki te hanga i tetahi puna wai i roto i te raarangi o te rohe, me hanga e koe he raarangi me te maka i nga konae ki roto, ka kitea e te hashget nga mea e hiahiatia ana ma te whakamahi i nga tohu. Kia uru mai te puna kaukau ma te HTTP, me hanga e koe nga hononga hono ma tetahi huarahi motuhake; ka mahia tenei ma te whakahau kotahi (hashget-admin --build /var/www/html/hashdb/ --pool /tmp/pool). Ko te HTTP FilePool ake he konae pateko, no reira ka taea e tetahi tūmau tukutuku ngawari te mahi, he tata kore te kawenga i runga i te tūmau.

He mihi ki a FilePool, ka taea e koe te whakamahi i nga rauemi http anake hei rauemi turanga, engari ano hoki Hei tauira,Amazon Glacier.

Whai muri i te tukunga o te taapiri ki te hukapapa, ka whiwhi tatou i tana Tukuake ID ka whakamahia hei URL. Hei tauira:

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

Inaianei ka hangai nga taapiri hou (rereke) ki runga i tenei taapiri ka poto ake. Whai muri i te wetewete i te diffbackup, ka kite tatou he aha nga rauemi e whakawhirinaki ana:

hashget --info /tmp/unpacked/ list

ka whakamahi noa i te tuhinga anga ki te tango i enei konae katoa mai i Glacier ki te poka wai ka whakahaere i te whakaoranga o mua: hashget -u /tmp/unpacked —pool /tmp/pool

He utu te keemu mo te rama?

I roto i te take ngawari, ka iti ake te utu mo nga taapiri (mehemea ka penapena koe ki tetahi waahi i te kapua mo te moni). Ka nui pea, ka iti ake.

Engari ehara ko tera anake. Ka huri te rahi ki te kounga. Ka taea e koe te whakamahi i tenei ki te tiki i te whakamohoatanga kounga teitei ki to kaupapa taapiri. Hei tauira, i te mea he poto ake o taatau taapiri inaianei, kaore e taea e taatau te mahi i nga taapiri marama, engari i ia ra. Kaua e rongoa mo te ono marama, pera i mua, engari mo te 5 tau. I mua, i penapenahia e koe i roto i te putunga puhoi engari iti "makariri" (Glacier), inaianei ka taea e koe te penapena i roto i te rokiroki wera, mai i te waahi ka taea e koe te tango tere i te taapiri me te whakahoki mai i roto i nga meneti, kaua i te ra.

Ka taea e koe te whakanui ake i te pono o te rokiroki taapiri. Mena ka penapenahia e tatou i tenei wa i roto i te waahi rokiroki kotahi, na ma te whakaiti i te rahi o nga taapiri, ka taea e tatou te penapena i roto i nga waahi rokiroki e 2-3 ka ora ma te mamae mena ka pakaru tetahi.

Me pehea te whakamatau me te timata ki te whakamahi?

Haere ki te wharangi gitlab https://gitlab.com/yaroslaff/hashget, tāuta me te tono kotahi (pip3 install hashget[plugins]) ka panui noa ka mahia te tiimata tere. Ki taku whakaaro ka pau te 10-15 meneti hei mahi i nga mahi ngawari katoa. Na ka taea e koe te ngana ki te kopiri i o miihini mariko, hanga i nga konae tohu mena e tika ana kia kaha ake te whakakoi, purei ki nga puna wai, he putunga raraunga o te rohe me te tūmau hash mena kei te pirangi koe, a hei te ra i muri mai ka kite he aha te rahi o te taapiri taapiri. ka eke ki runga ake i nga ra o inanahi.

Source: will.com

Tāpiri i te kōrero