นักพัฒนาระบบปฏิบัติการ
รูปแบบ pkgar ไม่ได้แสร้งทำเป็นว่าเป็นสากล และได้รับการปรับให้เหมาะสมโดยคำนึงถึงลักษณะเฉพาะของระบบปฏิบัติการ Redox OS ตัวจัดการแพ็คเกจรองรับการตรวจสอบแหล่งที่มาโดยใช้ลายเซ็นดิจิทัลและการควบคุมความสมบูรณ์ เช็คซัมคำนวณโดยใช้ฟังก์ชันแฮช
ไฟล์ส่วนหัวประกอบด้วยเช็คซัมแยกต่างหากสำหรับส่วนหัวและโครงสร้างพร้อมพารามิเตอร์จากไฟล์ข้อมูล รวมถึงลายเซ็นดิจิทัลเพื่อตรวจสอบแพ็คเกจ ไฟล์ข้อมูลประกอบด้วยรายการไฟล์และไดเร็กทอรีทั้งหมดที่ให้มาในแพ็คเกจตามลำดับ องค์ประกอบข้อมูลแต่ละรายการนำหน้าด้วยโครงสร้างที่มีข้อมูลเมตาซึ่งรวมถึงการตรวจสอบข้อมูล ขนาด สิทธิ์การเข้าถึง เส้นทางสัมพัทธ์ของไฟล์ที่จะติดตั้ง และออฟเซ็ตของพารามิเตอร์ขององค์ประกอบข้อมูลถัดไป หากในระหว่างกระบวนการอัปเดตแต่ละไฟล์ไม่มีการเปลี่ยนแปลงและผลรวมตรวจสอบตรงกัน ไฟล์เหล่านั้นจะถูกข้ามและไม่โหลด
คุณสามารถตรวจสอบความสมบูรณ์ของแหล่งที่มาได้โดยการรับเฉพาะไฟล์ส่วนหัว และความถูกต้องของไฟล์ข้อมูลที่เลือกโดยการโหลดเฉพาะโครงสร้างที่มีพารามิเตอร์ของไฟล์นี้ และตรวจสอบให้แน่ใจว่าเป็นไปตามผลรวมตรวจสอบที่ได้รับการรับรองในไฟล์ส่วนหัว สามารถตรวจสอบข้อมูลได้เองหลังจากโหลดแล้ว โดยใช้การตรวจสอบจากโครงสร้างที่มีพารามิเตอร์อยู่ข้างหน้าข้อมูล
แพ็คเกจสามารถทำซ้ำได้โดยธรรมชาติ ซึ่งหมายความว่าการสร้างแพ็คเกจสำหรับไดเร็กทอรีเฉพาะจะส่งผลให้ได้แพ็คเกจที่เหมือนกันเสมอ หลังการติดตั้ง เฉพาะเมตาดาต้าเท่านั้นที่ถูกบันทึกในระบบ ซึ่งเพียงพอที่จะสร้างแพ็คเกจใหม่จากข้อมูลที่ติดตั้ง (องค์ประกอบของแพ็คเกจ เช็คซัม เส้นทาง และสิทธิ์การเข้าถึงมีอยู่ในเมตาดาต้า)
เป้าหมายหลักของ pkgar:
- Atomicity—การอัปเดตจะถูกนำไปใช้โดยอัตโนมัติทุกครั้งที่เป็นไปได้
- ประหยัดการรับส่งข้อมูล - ข้อมูลจะถูกถ่ายโอนผ่านเครือข่ายเฉพาะเมื่อแฮชเปลี่ยนแปลง (ในระหว่างการอัปเดตจะดาวน์โหลดเฉพาะไฟล์ที่เปลี่ยนแปลงเท่านั้น)
- มีการใช้อัลกอริธึมการเข้ารหัสที่รวดเร็วและมีประสิทธิภาพสูง (blake3 รองรับการประมวลผลข้อมูลแบบขนานเมื่อคำนวณแฮช) หากข้อมูลจากพื้นที่เก็บข้อมูลไม่ได้ถูกแคชไว้ก่อนหน้านี้ แฮชสำหรับข้อมูลที่ดาวน์โหลดสามารถคำนวณได้ในขณะดาวน์โหลด
- เรียบง่าย - ไม่เหมือนกับรูปแบบอื่นๆ pkgar มีเฉพาะข้อมูลเมตาที่จำเป็นในการแตกแพ็คเกจเท่านั้น
- ความเป็นอิสระของไดเร็กทอรีการติดตั้ง - สามารถติดตั้งแพ็คเกจในไดเร็กทอรีใดก็ได้โดยผู้ใช้คนใดก็ได้ (ผู้ใช้ต้องมีสิทธิ์ในการเขียนไปยังไดเร็กทอรีที่เลือก)
- ความปลอดภัย - แพ็กเก็ตจะได้รับการตรวจสอบด้วยการเข้ารหัสเสมอ และจะมีการตรวจสอบก่อนดำเนินการจริงบนแพ็คเกจ (ส่วนหัวจะถูกโหลดก่อน และหากลายเซ็นดิจิทัลถูกต้อง ข้อมูลจะถูกโหลดลงในไดเร็กทอรีชั่วคราว ซึ่งจะถูกย้ายไปยังไดเร็กทอรีเป้าหมายหลังจากนั้น การตรวจสอบ)
ที่มา: opennet.ru