æ©èœã説æããæŠèŠèšäºã§ãã hashget ã®å®éã®äœ¿çšæ³ (éåžžã«åçŽ) ã¯ã次ã®ãšããã§ãã
æ¯èŒ
ãžã£ã³ã«ã®æ³åã«åŸã£ãŠãããã«é°è¬ããå§ããŸã - çµæãæ¯èŒããŸãã
ããŒã¿ãµã³ãã«
é梱åŸã®ãµã€ãº
.tar.gz
ããã·ã¥ã²ãã.tar.gz
WordPress-5.1.1
43 Mb
11MB (26%)
155 KB ( èŠèŽè
ã®ïŒïŒ%ã )
Linuxã«ãŒãã«5.0.4
934 Mb
161MB (20%)
4.7MB ( èŠèŽè
ã®ïŒïŒ%ã )
Debian 9 (LAMP) LXC VM
724 Mb
165MB (23%)
4.1MB ( èŠèŽè
ã®ïŒïŒ%ã )
çæ³çãã€å¹æçãªããã¯ã¢ãããšã¯ã©ã®ãããªãã®ã§ããã¹ããã®èæ¯
æ°ããäœæããä»®æ³ãã·ã³ã®ããã¯ã¢ãããäœæãããã³ã«ãäœãééã£ãããšãããŠãããšããæèŠã«æ©ãŸãããŸããã ç§ã®è²Žéã§æœã¡ãããšã®ãªãåµé æ§ããHello worldããšããããã¹ããå«ãŸãã XNUMX è¡ã®index.html ã§ããã·ã¹ãã ããããªã倧éã®ããã¯ã¢ãããååŸããã®ã§ãããã?
ããã¯ã¢ããã« 16 MB ã® /usr/sbin/mysqld ãããã®ã¯ãªãã§ãã? ãã®äžçã§ç§ããã®éèŠãªãã¡ã€ã«ãä¿ç®¡ããæ èªã«æµŽããããšãæ¬åœã«å¯èœã§ããããïŒãã倱æããããããã¯äººé¡ã«å€±ãããããšã«ãªãã§ããããïŒ ããããããŒã§ãã ããã¯ãä¿¡é Œæ§ã®é«ã Debian ãµãŒã㌠(ãã®ä¿¡é Œæ§ãšç¶ç¶æ§ã¯ç§ãæäŸã§ãããã®ãšã¯æ¯èŒã§ããŸãã) ãšãä»ã®ç®¡çè ã®ããã¯ã¢ãã (æ°çŸäžå°) ã«ä¿åãããŠããŸãã ä¿¡é Œæ§ãåäžãããããã«ããã®éèŠãªãã¡ã€ã«ã®æåã®ã³ããŒã 10 å以äžäœæããå¿ èŠãããã§ãããã?
äžè¬çã« tar -c
/ tar -x
ã (ã€ãŸãããã¹ã¬ã¹ããã±ãŒãžã³ã°ã§ã)
ããã·ã¥ã²ããã®ä»çµã¿
hashget ã«ã¯ Package ãš HashPackage ã®æŠå¿µããããããããå©çšããŠéè€æé€ãå®è¡ããŸãã
ããã±ãŒãž ïŒãããŒã«è¢ïŒã ã€ã³ã¿ãŒãããããå®å šã«ããŠã³ããŒãã§ããXNUMX ã€ä»¥äžã®ãã¡ã€ã«ãååŸã§ãããã¡ã€ã« (é垞㯠.deb ãŸã㯠.tar.gz ã¢ãŒã«ã€ã)ã
ããã·ã¥ããã±ãŒãž â ããã±ãŒãžãè¡šãå°ã㪠JSON ãã¡ã€ã«ãããã±ãŒãž URL ãšããããã®ãã¡ã€ã«ã®ããã·ã¥ ãµã (sha256) ãå«ãŸããŸãã ããšãã°ã5 ã¡ã¬ãã€ãã® mariadb-server-core ããã±ãŒãžã®å Žåãããã·ã¥ããã±ãŒãžã®ãµã€ãºã¯ããã 6 ãããã€ãã§ãã çŽXNUMXåã®XNUMX以äžã§ãã
éè€æé€ â éè€ãã¡ã€ã«ã®ãªãã¢ãŒã«ã€ããäœæããŸã (éè€æé€ããŒã«ãå ã®ããã±ãŒãžãããŠã³ããŒãã§ããå Žæãç¥ã£ãŠããå Žåãã¢ãŒã«ã€ãããéè€ãæžãããŸã)ã
å è£
ããã¯ããéãããã¯ããããã£ã¬ã¯ããªã®ãã¹ãŠã®ãã¡ã€ã«ãã¹ãã£ã³ããããã®ããã·ã¥åèšãèšç®ããããã®åèšãæ¢ç¥ã® HashPackage ã®ããããã§èŠã€ãã£ãå Žåã¯ããã¡ã€ã«ã«é¢ããã¡ã¿ããŒã¿ (ååãããã·ã¥ãã¢ã¯ã»ã¹æš©ãªã©) ãä¿åãããŸããç¹å¥ãªãã¡ã€ã« .hashget-restore.json å ã«ããããããã¢ãŒã«ã€ãã«å«ãŸããŸãã
æãåçŽãªã±ãŒã¹ã§ã¯ãããã±ãŒãžåèªäœã¯ tar ãšåãããã«è€éã«èŠããŸãã
hashget -zf /tmp/mybackup.tar.gz --pack /path/to/data
РаÑпакПвка
é梱㯠XNUMX 段éã§è¡ãããŸãã ãŸãéåžžã® tar ã®è§£åã§ãã
tar -xf mybackup.tar.gz -C /path/to/data
次ã«ããããã¯ãŒã¯ãã埩å ããŸãã
hashget -u /path/to/data
埩å ãããšããhashget 㯠.hashget-restore.json ãã¡ã€ã«ãèªã¿åããå¿ èŠãªããã±ãŒãžãããŠã³ããŒãããŠè§£åããå¿ èŠãªãã¡ã€ã«ãæœåºããŠãå¿ èŠãªææè ãã°ã«ãŒããã¢ã¯ã»ã¹èš±å¯ã䜿çšããŠå¿ èŠãªãã¹ã«ã€ã³ã¹ããŒã«ããŸãã
ãã£ãšé£ããããš
ãtar ã®ããã«ãããããDebian ã 4 ã¡ã¬ãã€ãã«è©°ã蟌ã¿ããã人ã«ãšã£ãŠã¯ãäžã§èª¬æããå 容ã§ãã§ã«ååã§ãã åŸã§ããã«è€éãªããšãèŠãŠã¿ãŸãããã
ã€ã³ããã¯ã¹äœæ
hashget ã«åäžã® HashPackage ããŸã£ãããªãå Žåãäœãéè€ãæé€ããããšã¯ã§ããŸããã
HashPackage ãæåã§äœæããããšãã§ããŸã (åçŽã«: hashget --submit https://wordpress.org/wordpress-5.1.1.zip -p my
) ã§ããããã£ãšäŸ¿å©ãªæ¹æ³ããããŸãã
å¿
èŠãªããã·ã¥ããã±ãŒãžãååŸããã«ã¯ã次ã®æ®µéããããŸãã ã€ã³ããã¯ã¹äœæ (ã³ãã³ãã§èªåçã«å®è¡ãããŸã) --pack
ïŒãããŠã çµéšåã ã€ã³ããã¯ã¹äœææã«ãhashget ã¯èŠã€ãã£ãåãã¡ã€ã«ãããã®ãã¡ã€ã«ã«é¢å¿ã®ããå©çšå¯èœãªãã¹ãŠã®ãã¥ãŒãªã¹ãã£ãã¯ã«ããã£ãŒããããŸãã ãã¥ãŒãªã¹ãã£ãã¯ã«ãããä»»æã® Package ã«ã€ã³ããã¯ã¹ãä»ã㊠HashPackage ãäœæã§ããŸãã
ããšãã°ãDebian ãã¥ãŒãªã¹ãã£ãã¯ã¯ãã¡ã€ã« /var/lib/dpkg/status ãæããã€ã³ã¹ããŒã«ãããŠãã Debian ããã±ãŒãžãæ€åºããã€ã³ããã¯ã¹ãäœæãããŠããªãå Žå (ãããã«å¯Ÿã㊠HashPackage ãäœæãããŠããªãå Žå)ãããŠã³ããŒãããŠã€ã³ããã¯ã¹ãäœæããŸãã ãã®çµæãéåžžã«çŽ æŽãããå¹æãåŸãããŸããhashget ã¯ãããšãææ°ã®ããã±ãŒãžãæã£ãŠãããšããŠããDebian OS ãåžžã«å¹æçã«éè€æé€ããŸãã
ãã³ããã¡ã€ã«
ãããã¯ãŒã¯ãç¬èªã®ããã±ãŒãžã®äžéšããŸãã¯ããã·ã¥ã²ãã ãã¥ãŒãªã¹ãã£ãã¯ã«å«ãŸããŠããªããããªã㯠ããã±ãŒãžã䜿çšããŠããå Žåã¯ã次ã®ããã«åçŽãª hashget-hint.json ãã³ã ãã¡ã€ã«ããããã¯ãŒã¯ã«è¿œå ã§ããŸãã
{
"project": "wordpress.org",
"url": "https://ru.wordpress.org/wordpress-5.1.1-ru_RU.zip"
}
次ã«ãã¢ãŒã«ã€ããäœæããããã³ã«ãããã±ãŒãžã®ã€ã³ããã¯ã¹ãäœæãã (以åã«äœæãããŠããªãå Žå)ãããã±ãŒãž ãã¡ã€ã«ãã¢ãŒã«ã€ãããéè€æé€ãããŸãã ããã°ã©ãã³ã°ã¯å¿ èŠãªããvim ãããã¹ãŠãå®è¡ã§ãããã¹ãŠã®ããã¯ã¢ããã«ä¿åã§ããŸãã ããã·ã¥ãµã ã¢ãããŒãã®ãããã§ãããã±ãŒãžã®äžéšã®ãã¡ã€ã«ãããŒã«ã«ã§å€æŽãããå ŽåïŒããšãã°ãæ§æãã¡ã€ã«ãå€æŽãããå ŽåïŒãå€æŽããããã¡ã€ã«ã¯ããã®ãŸãŸãã¢ãŒã«ã€ãã«ä¿åãããåãæšãŠãããªãããšã«æ³šæããŠãã ããã
ç¬èªã®ããã±ãŒãžã®äžéšãå®æçã«æŽæ°ããããã®ã®ãå€æŽãããã»ã©å€§ãããªãå Žåã¯ãã¡ãžã£ãŒ ããŒãžã§ã³ã«ã€ããŠã®ã¿ãã³ããäžããããšãã§ããŸãã ããšãã°ãããŒãžã§ã³ 1.0 ã§ã¯ãmypackage-1.0.tar.gz ãæããã³ããäœæãããå®å šã«éè€æé€ãããŸãããã®åŸããããã«ç°ãªãããŒãžã§ã³ 1.1 ããªãªãŒã¹ãããŸãããããã³ãã¯æŽæ°ãããŸããã§ããã 倧äžå€«ã§ãã ããŒãžã§ã³ 1.0 ã«äžèŽãã (埩å ã§ãã) ãã¡ã€ã«ã®ã¿ãéè€æé€ãããŸãã
ãã³ã ãã¡ã€ã«ãåŠçãããã¥ãŒãªã¹ãã£ãã¯ã¯ããã¥ãŒãªã¹ãã£ãã¯ãã©ã®ããã«æ©èœãããã®å éšã¡ã«ããºã ãç解ããããã®è¯ãäŸã§ãã hashget-hint.json ãã¡ã€ã« (ãŸãã¯ãããä»ãã® .hashget-hint.json) ã®ã¿ãåŠçããããã®ä»ã¯ãã¹ãŠç¡èŠãããŸãã ãã®ãã¡ã€ã«ãããã©ã®ããã±ãŒãž URL ã«ã€ã³ããã¯ã¹ãä»ããå¿ èŠããããã決å®ããhashget ã«ãã£ãŠã€ã³ããã¯ã¹ãäœæãããŸã (ãŸã ã€ã³ããã¯ã¹ãäœæãããŠããªãå Žå)ã
ããã·ã¥ãµãŒããŒ
ããã¯ã¢ãããäœæãããšãã«å®å
šãªã€ã³ããã¯ã¹äœæãå®è¡ãããšãéåžžã«åŽåãããããŸãã ãããè¡ãã«ã¯ãåããã±ãŒãžãããŠã³ããŒããã解åããã€ã³ããã¯ã¹ãäœæããå¿
èŠããããŸãã ãããã£ãŠãhashget ã¯æ¬¡ã®ã¹ããŒã ã䜿çšããŸãã
HashServer ã¯ã¹ããŒã ã®ãªãã·ã§ã³ã®èŠçŽ ã§ãããéèŠã§ã¯ãããŸããããªããžããªã®é«éåãšè² è·ã®è»œæžã®ã¿ãç®çãšããŠããŸãã ç°¡åã«ç¡å¹å (ãªãã·ã§ã³) --hashserver
ãã©ã¡ãŒã¿ãªã)ã ããã«ãç°¡åã«
å¢åããã¯ã¢ãããšå·®åããã¯ã¢ãããèšç»çãªå»æ¢
--submit
ããã§å®äºã§ãïŒ hashget ãäœæãã次åã®ããã¯ã¢ããã«ã¯ããã®ã¢ãŒã«ã€ãã®ãã¡ã€ã«ã¯å«ãŸããŸããã
ããããããã¯ããŸãè¯ãã¢ãããŒãã§ã¯ãããŸããã埩å
ãããšãã«ãå±¥æŽå
šäœã®ãã¹ãŠã®ããã·ã¥ãžã§ãã ããã¯ã¢ãããååŸããå¿
èŠãããããšãå€æããå¯èœæ§ãããããã§ã (ããããã«å°ãªããšã XNUMX ã€ã®äžæã®ãã¡ã€ã«ãå«ãŸããŠããå Žå)ã ããã«ã¯ä»çµã¿ããããŸã --expires 2019-06-01
ããã®æ¥ä»ä»¥é (00:00 以é) ã¯äœ¿çšãããªããªããŸãã ãã®æ¥ä»ä»¥éã¯ã¢ãŒã«ã€ãèªäœãåé€ããããšã¯ã§ããŸãã (ãã ããhashget ã¯ãçŸæç¹ãŸãã¯ä»»æã®æ¥ä»ã§å£ããŠãã/å£ããäºå®ã®ãã¹ãŠã®ããã¯ã¢ããã® URL ã䟿å©ã«è¡šç€ºã§ããŸã)ã
ããšãã°ã1 æ¥ã«å®å šããã¯ã¢ãããäœæããææ«ãŸã§ã®æå¹æéã§ã€ã³ããã¯ã¹ãäœæãããšãå·®åããã¯ã¢ãã ã¹ããŒã ãåŸãããŸãã
æ°ããããã¯ã¢ããã«åãæ¹æ³ã§ã€ã³ããã¯ã¹ãä»ãããšãå¢åããã¯ã¢ããã®ã¹ããŒã ãäœæãããŸãã
åŸæ¥ã®ã¹ããŒã ãšã¯ç°ãªããhashget ã§ã¯è€æ°ã®åºç€ãšãªããœãŒã¹ã䜿çšã§ããŸãã ããã¯ã¢ããã¯ã以åã®ããã¯ã¢ããããã®ãã¡ã€ã« (ååšããå Žå) ãšãããªã㯠ãã¡ã€ã« (ããŠã³ããŒãã§ãããã®) ã®äž¡æ¹ã«ãã£ãŠåæžãããŸãã
äœããã®çç±ã§ Debian ãªãœãŒã¹ã®ä¿¡é Œæ§ãä¿¡é Œã§ããªãå Žå (
Hashget ã¯ãã客æ§ã®è£éã«ãããä¿¡é Œã§ããå埩ãœãŒã¹ã®ã¿ã«äŸåããŸãã ä¿¡é Œã§ãããšå€æãããã®ã䜿çšãããŸãã
ãã¡ã€ã«ããŒã«ãšæ°·æ²³
ÐеÑ
аМОзЌ
$ hashget -u . --pool /tmp/pool
ãŸãã¯
$ hashget -u . --pool http://myhashdb.example.com/
ããŒã«ã« ãã£ã¬ã¯ããªã«ããŒã«ãäœæããã«ã¯ããã£ã¬ã¯ããªãäœæããŠããã«ãã¡ã€ã«ãæå
¥ããã ãã§ããhashget èªäœãããã·ã¥ã䜿çšããŠå¿
èŠãªãã®ãèŠã€ããŸãã HTTP çµç±ã§ããŒã«ã«ã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ãç¹å¥ãªæ¹æ³ã§ã·ã³ããªãã¯ãªã³ã¯ãäœæããå¿
èŠããããŸãããã㯠XNUMX ã€ã®ã³ãã³ã (hashget-admin --build /var/www/html/hashdb/ --pool /tmp/pool
ïŒã HTTP FilePool èªäœã¯éçãã¡ã€ã«ã§ãããããåçŽãª Web ãµãŒããŒã§ããã°ã©ãã§ããµãŒãã¹ãæäŸã§ãããµãŒããŒã®è² è·ã¯ã»ãŒãŒãã§ãã
FilePool ã®ãããã§ãhttp(s) ãªãœãŒã¹ãããŒã¹ ãªãœãŒã¹ãšããŠäœ¿çšã§ããã ãã§ãªãã
ããã¯ã¢ãããæ°·æ²³ã«ã¢ããããŒãããåŸããã®ã¢ããããŒã ID ãååŸããããã URL ãšããŠäœ¿çšããŸãã äŸãã°ïŒ
hashget --submit Glacier_Upload_ID --file /tmp/my-glacier-backup.tar.gz --project glacier --hashserver --expires 2019-09-01
çŸåšãæ°ãã (å·®å) ããã¯ã¢ããã¯ãã®ããã¯ã¢ããã«åºã¥ããŠãããããçããªããŸãã tar 㧠diffbackup ã解åãããšãäŸåããŠãããªãœãŒã¹ãããããŸãã
hashget --info /tmp/unpacked/ list
ãããŠãã·ã§ã« ã¹ã¯ãªããã䜿çšããŠãããããã¹ãŠã®ãã¡ã€ã«ã Glacier ããããŒã«ã«ããŠã³ããŒãããéåžžã®ãªã«ããªãå®è¡ããã ãã§ã: hashget -u /tmp/unpacked âpool /tmp/pool
ãã®ã²ãŒã ã«ã¯ããããã®äŸ¡å€ãããã ãããïŒ
æãåçŽãªã±ãŒã¹ã§ã¯ãããã¯ã¢ããã«æ¯æãè²»çšãåçŽã«å®ããªããŸã (ããã¯ã¢ããããéã®ããã«ã¯ã©ãŠãã®ã©ããã«ä¿åããå Žå)ã ãããããããããã£ãšå°ãªããããããŸããã
ããããããã ãã§ã¯ãããŸããã éã¯è³ªã«å€ãããŸãã ããã䜿çšããŠãããã¯ã¢ãã ã¹ããŒã ãé«å質ã«ã¢ããã°ã¬ãŒãã§ããŸãã ããšãã°ãããã¯ã¢ãããçããªã£ãã®ã§ãæ¯æã®ããã¯ã¢ããã§ã¯ãªããæ¯æ¥ã®ããã¯ã¢ãããäœæã§ããããã«ãªããŸããã 以åã®ããã«5ãæã§ã¯ãªããXNUMX幎éä¿ç®¡ããŸãã 以åã¯ãé床ã¯é ããå®äŸ¡ãªãã³ãŒã«ããã¹ãã¬ãŒãž (Glacier) ã«ä¿åããŠããŸããããçŸåšã¯ããã ã¹ãã¬ãŒãžã«ä¿åã§ããããã«ãªãããããããã€ã§ãããã¯ã¢ããããã°ããããŠã³ããŒãããŠãXNUMX æ¥ã§ã¯ãªãæ°åã§åŸ©å ã§ããŸãã
ããã¯ã¢ããã¹ãã¬ãŒãžã®ä¿¡é Œæ§ãé«ããããšãã§ããŸãã çŸåš 2 ã€ã®ä¿ç®¡æœèšã«ä¿ç®¡ããŠããå Žåãããã¯ã¢ããã®éãæžããããšã§ã3 ïœ XNUMX ã€ã®ä¿ç®¡æœèšã«ä¿ç®¡ãããã®ãã¡ã® XNUMX ã€ãç ŽæããŠãåé¡ãªã察åŠã§ããããã«ãªããŸãã
è©ŠããŠäœ¿ãå§ããã«ã¯ã©ãããã°ããã§ããïŒ
gitlabããŒãžã«ç§»åããŸã pip3 install hashget[plugins]
) ãèªãã§ãã¯ã€ãã¯ã¹ã¿ãŒããå®è¡ããã ãã§ãã ç°¡åãªäœæ¥ã§10ïœ15åçšåºŠããããšæããŸãã 次ã«ãä»®æ³ãã·ã³ã®å§çž®ãè©Šããå¿
èŠã«å¿ããŠå§çž®ã匷åããããã«ãã³ã ãã¡ã€ã«ãäœæããèå³ãããã°ããŒã«ãããŒã«ã« ããã·ã¥ ããŒã¿ããŒã¹ãããã·ã¥ ãµãŒããŒãè©Šããç¿æ¥ã«ã¯å¢åããã¯ã¢ããã®ãµã€ãºã確èªããŸããæšæ¥ã®äžäœã«ãªããŸãã
åºæïŒ habr.com