كيف يمكنني القطران ملفات أكبر من الذاكرة الفعلية باستخدام بيرل أرشيف::القطران ؟
سؤال
أنا باستخدام بيرل أرشيف::القطران وحدة نمطية.المشكلة مع ذلك هو يسحب كل شيء على الذاكرة و لا الأرشفة ثم يكتب على نظام الملفات حتى لا يكون هناك قيود على الحد الأقصى لحجم الملف الذي يمكن أرشفة.أكثر من مرة يقول من الذاكرة.في حالة جنو القطران ، فإنه يأخذ قطعة من ملفات المحفوظات و يكتب على ذكرى لذلك يمكن التعامل مع الملفات من أي حجم.كيف يمكنني القيام بذلك باستخدام بيرل أرشيف::القطران وحدة.
المحلول
ويبدو ان هناك وحدة نمطية مختلفة التي لا تستخدم بنية في الذاكرة: <لأ href = "http://search.cpan.org/dist/Archive-Tar-Streamed/lib/Archive/Tar /Streamed.pm "يختلط =" noreferrer "> الأرشيف :: :: قطران المتدفقة . الجانب السلبي هو أنه يتطلب القطران لتكون متاحة على نظام تشغيل عليه. ومع ذلك، فإنه أفضل من دمية التوتير القطران نفسك.
نصائح أخرى
يبدو أرشيف::القطران::المجمع هو أفضل رهان.لقد جربت ذلك بنفسي ، ولكنه يستخدم النظام الخاص بك tar
للتنفيذ و لا تبقى الملفات في الذاكرة.
خلافا شاس.أوين الجواب ، أرشيف::القطران::المتدفقة لا الحفاظ على ملفات في الذاكرة ، لا استخدام النظام الخاص بك tar
.فإنه يستخدم في الواقع أرشيف::القطران داخليا, ولكن العمليات ملف واحد في وقت واحد (الاستفادة من حقيقة أن القطران المحفوظات يمكن أن تكون متصلا).وهذا يعني أن الأرشيف::القطران::المتدفقة يمكن التعامل مع المحفوظات أكبر من الذاكرة ، طالما أن كل ملف في أرشيف تناسب في الذاكرة.ولكن هذا ليس ما طلبته.