ืคืจื•ื™ืงื˜ Redox OS ื”ืฆื™ื’ ืืช ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช pkgar, ืฉื ื›ืชื‘ ื‘- Rust

ืžืคืชื—ื™ ืžืขืจื›ื•ืช ื”ืคืขืœื” ื—ื™ื–ื•ืจ, ื›ืชื•ื‘ ืฉื™ืžื•ืฉ ื‘ืฉืคืช Rust ื•ื‘ืžื•ืฉื’ ื”ืžื™ืงืจื•-ืงืจื ืœ, ื”ืฆื™ื’ ืžื ื”ืœ ื—ื‘ื™ืœื•ืช ื—ื“ืฉ pkgar. ื”ืคืจื•ื™ืงื˜ ืžืคืชื— ืคื•ืจืžื˜ ื—ื‘ื™ืœื” ื—ื“ืฉ, ืกืคืจื™ื™ืช ื ื™ื”ื•ืœ ื—ื‘ื™ืœื•ืช ื•ืขืจื›ืช ื›ืœื™ื ืฉืœ ืฉื•ืจืช ืคืงื•ื“ื” ืœื™ืฆื™ืจื” ื•ืื—ื–ื•ืจ ืฉืœ ืื•ืกืฃ ืงื‘ืฆื™ื ืžืื•ืžืช ืงืจื™ืคื˜ื•ื’ืจืคื™ืช. ืงื•ื“ pkgar ื›ืชื•ื‘ ื‘- Rust ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT.

ืคื•ืจืžื˜ pkgar ืื™ื ื• ืžืชื™ื™ืžืจ ืœื”ื™ื•ืช ืื•ื ื™ื‘ืจืกืœื™ ื•ื”ื•ื ืžื•ืชืื ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ืคืจื˜ื™ื ื”ืกืคืฆื™ืคื™ื™ื ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” Redox OS. ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช ืชื•ืžืš ื‘ืื™ืžื•ืช ืžืงื•ืจ ื‘ืืžืฆืขื•ืช ื—ืชื™ืžื” ื“ื™ื’ื™ื˜ืœื™ืช ื•ื‘ืงืจืช ืฉืœืžื•ืช. ืกื›ื•ืžื™ ื”ืžื—ืื” ืžื—ื•ืฉื‘ื™ื ื‘ืืžืฆืขื•ืช ืคื•ื ืงืฆื™ื™ืช hash blake3. ื ื™ืชืŸ ืœื’ืฉืช ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ืงืฉื•ืจื” ืœืื™ืžื•ืช ืฉืœ pkgar ืžื‘ืœื™ ืœืื—ืกืŸ ื‘ืคื•ืขืœ ืืช ืืจื›ื™ื•ืŸ ื”ื—ื‘ื™ืœื”, ืขืœ ื™ื“ื™ ืžื ื™ืคื•ืœืฆื™ื” ืจืง โ€‹โ€‹ื‘ื—ืœืง ื”ื›ื•ืชืจืช. ื‘ืคืจื˜, ื”ื—ื‘ื™ืœื” ืžื•ืจื›ื‘ืช ืžืงื•ื‘ืฅ ื›ื•ืชืจืช (.pkgar_head) ื•ืงื•ื‘ืฅ ื ืชื•ื ื™ื (.pkgar_data). ื ื™ืชืŸ ืœืงื‘ืœ ื—ื‘ื™ืœืช ืกื™ื›ื•ื ืžืœืื” ื—ืชื•ืžื” ื›ื”ืœื›ื” (.pkgar) ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืงื•ื‘ืฅ ื”ื›ื•ืชืจืช ืœืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื ("cat example.pkgar_head example.pkgar_data > example.pkgar").

ืงื•ื‘ืฅ ื”ื›ื•ืชืจืช ืžื›ื™ืœ ืกื›ื™ืžื™ ื‘ื“ื™ืงื” ื ืคืจื“ื™ื ืขื‘ื•ืจ ื”ื›ื•ืชืจืช ื•ื”ืžื‘ื ื™ื ืขื ืคืจืžื˜ืจื™ื ืžืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื, ื›ืžื• ื’ื ื—ืชื™ืžื” ื“ื™ื’ื™ื˜ืœื™ืช ืœืื™ืžื•ืช ื”ื—ื‘ื™ืœื”. ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื ื›ื•ืœืœ ืจืฉื™ืžื” ืจืฆื™ืคื” ืฉืœ ื›ืœ ื”ืงื‘ืฆื™ื ื•ื”ืกืคืจื™ื•ืช ืฉืกื•ืคืงื• ื‘ื—ื‘ื™ืœื”. ืœืคื ื™ ื›ืœ ืจื›ื™ื‘ ื ืชื•ื ื™ื ืงื™ื™ื ืžื‘ื ื” ืขื ืžื˜ื ื ืชื•ื ื™ื ื”ื›ื•ืœืœ ื‘ื“ื™ืงืช ืกื›ื•ื ืขื‘ื•ืจ ื”ื ืชื•ื ื™ื ืขืฆืžื, ื’ื•ื“ืœ, ื–ื›ื•ื™ื•ืช ื’ื™ืฉื”, ื ืชื™ื‘ ื™ื—ืกื™ ืฉืœ ื”ืงื•ื‘ืฅ ื”ืžื•ืชืงืŸ ื•ืงื™ื–ื•ื– ื”ืคืจืžื˜ืจื™ื ืฉืœ ืจื›ื™ื‘ ื”ื ืชื•ื ื™ื ื”ื‘ื. ืื ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืขื“ื›ื•ืŸ ืงื‘ืฆื™ื ื‘ื•ื“ื“ื™ื ืœื ื”ืฉืชื ื• ื•ืกื›ื•ื ื”ื‘ื“ื™ืงื” ืชื•ืื, ืื– ื”ื ืžื“ืœื’ื™ื ื•ืœื ื ื˜ืขื ื™ื.

ื ื™ืชืŸ ืœื‘ื“ื•ืง ืืช ืชืงื™ื ื•ืช ื”ืžืงื•ืจ ืขืœ ื™ื“ื™ ืงื‘ืœืช ืงื•ื‘ืฅ ื”-header ื‘ืœื‘ื“, ื•ืืช ืชืงื™ื ื•ืช ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื ื”ื ื‘ื—ืจ ืขืœ ื™ื“ื™ ื˜ืขื™ื ืช ื”ืžื‘ื ื™ื ื‘ืœื‘ื“ ืขื ื”ืคืจืžื˜ืจื™ื ืฉืœ ืงื•ื‘ืฅ ื–ื” ื•ื•ื™ื“ื•ื ืฉื”ื ืขื•ืžื“ื™ื ื‘-checksum ื”ืžืื•ืฉืจ ื‘ืงื•ื‘ืฅ ื”-header. ื ื™ืชืŸ ืœื‘ื“ื•ืง ืืช ื”ื ืชื•ื ื™ื ืขืฆืžื ืœืื—ืจ ื˜ืขื™ื ืชื, ื‘ืืžืฆืขื•ืช ื”-checksum ืžื”ืžื‘ื ื” ืขื ืคืจืžื˜ืจื™ื ื”ืงื•ื“ืžื™ื ืœื ืชื•ื ื™ื.

ื—ื‘ื™ืœื•ืช ืžื˜ื‘ืขืŸ ื ื™ืชื ื•ืช ืœืฉื—ื–ื•ืจ, ื›ืœื•ืžืจ ื™ืฆื™ืจืช ื—ื‘ื™ืœื” ืขื‘ื•ืจ ืกืคืจื™ื™ื” ืกืคืฆื™ืคื™ืช ืชืžื™ื“ ืชื‘ื™ื ืœื—ื‘ื™ืœื” ื–ื”ื”. ืœืื—ืจ ื”ื”ืชืงื ื” ื ืฉืžืจื™ื ื‘ืžืขืจื›ืช ืจืง ืžื˜ื-ื ืชื•ื ื™ื, ืืฉืจ ืžืกืคื™ืงื™ื ืœืฉื—ื–ื•ืจ ื”ื—ื‘ื™ืœื” ืžื”ื ืชื•ื ื™ื ื”ืžื•ืชืงื ื™ื (ื”ืจื›ื‘ ื”ื—ื‘ื™ืœื”, ืกื™ื›ื•ืžื™ ื”ื‘ื“ื™ืงื”, ื”ื ืชื™ื‘ื™ื ื•ื–ื›ื•ื™ื•ืช ื”ื’ื™ืฉื” ื›ืœื•ืœื™ื ื‘ืžื˜ื-ื ืชื•ื ื™ื).

ื”ืžื˜ืจื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœ pkgar:

  • ืื˜ื•ืžื™ื•ืช - ืขื“ื›ื•ื ื™ื ืžื•ื—ืœื™ื ืื•ื˜ื•ืžื˜ื™ืช ื‘ื›ืœ ืคืขื ืฉืืคืฉืจ.
  • ื—ื™ืกื›ื•ืŸ ื‘ืชื ื•ืขื” - ื ืชื•ื ื™ื ืžื•ืขื‘ืจื™ื ื‘ืจืฉืช ืจืง ื›ืืฉืจ ื”-hash ืžืฉืชื ื” (ื‘ืžื”ืœืš ื”ืขื“ื›ื•ืŸ ืžื•ืจื™ื“ื™ื ืจืง ืงื‘ืฆื™ื ืฉื”ืฉืชื ื•).
  • ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืืœื’ื•ืจื™ืชืžื™ื ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ืžื”ื™ืจื™ื ืขื ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื (blake3 ืชื•ืžืš ื‘ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ืžืงื‘ื™ืœ ื‘ืขืช ื—ื™ืฉื•ื‘ ื’ื™ื‘ื•ื‘). ืื ื”ื ืชื•ื ื™ื ืžื”ืžืื’ืจ ืœื ื ืฉืžืจื• ื‘ืขื‘ืจ ื‘ืžื˜ืžื•ืŸ, ื ื™ืชืŸ ืœื—ืฉื‘ hash ืขื‘ื•ืจ ื”ื ืชื•ื ื™ื ืฉื”ื•ืจื“ืช ื‘ื–ืžืŸ ื”ื”ื•ืจื“ื”.
  • ืžื™ื ื™ืžืœื™ืกื˜ื™ - ื‘ื ื™ื’ื•ื“ ืœืคื•ืจืžื˜ื™ื ืื—ืจื™ื, pkgar ื›ื•ืœืœ ืจืง ืืช ื”ืžื˜ื-ื ืชื•ื ื™ื ื”ื“ืจื•ืฉื™ื ืœื—ื™ืœื•ืฅ ื”ื—ื‘ื™ืœื”.
  • ืขืฆืžืื•ืช ืฉืœ ืกืคืจื™ื™ืช ื”ื”ืชืงื ื” - ื”ื—ื‘ื™ืœื” ื ื™ืชื ืช ืœื”ืชืงื ื” ื‘ื›ืœ ืกืคืจื™ื™ื”, ืขืœ ื™ื“ื™ ื›ืœ ืžืฉืชืžืฉ (ืขืœ ื”ืžืฉืชืžืฉ ืœื”ื™ื•ืช ื‘ืขืœ ื”ืจืฉืืช ื›ืชื™ื‘ื” ืœืกืคืจื™ื™ื” ืฉื ื‘ื—ืจื”).
  • ืื‘ื˜ื—ื” - ืžื ื•ืช ืชืžื™ื“ ืžืื•ืžืชื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ืช, ื•ื”ืื™ืžื•ืช ืžืชื‘ืฆืข ืœืคื ื™ ื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ื‘ืคื•ืขืœ ืขืœ ื”ื—ื‘ื™ืœื” (ื”ื›ื•ืชืจืช ื ื˜ืขื ืช ืชื—ื™ืœื” ื•ืื ื”ื—ืชื™ืžื” ื”ื“ื™ื’ื™ื˜ืœื™ืช ื ื›ื•ื ื”, ื”ื ืชื•ื ื™ื ื ื˜ืขื ื™ื ืœืชื•ืš ืกืคืจื™ื™ื” ื–ืžื ื™ืช, ืืฉืจ ืžื•ืขื‘ืจืช ืœืกืคืจื™ื™ืช ื”ื™ืขื“ ืœืื—ืจ ืื™ืžื•ืช).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”