RichStyle: The Angel is in The Detail.

أساسيات جنو/لينكس

مفهوم المستودعات

فيما يلي سلسلة من المقالات الموجزة تستهدف الراغبين في التوجه لاستخدام نظام التشغيل جنو/لينكس. مبدئياً، هذه المقالات تستند في مضامينها إلى نسخة LinuxMint 14 «Nadia» الإصدار MATE 32-bit، من توزيعة لينكس منت، والتي تتصدر —وفقاً لموقع DistroWatch.com— لائحة توزيعات جنو/لينكس الأكثر استخداماً على مستوى العالم.

من أبرز المفاهيم التي يتعين على الوافدين إلى عالم جنو/لينكس من بيئة ويندوز إدراكها واستيعابها مفهوم المستودعات Repositories، فعليه تبنى مفاهيم إدارة البرمجيات وتثبيتها في جنو/لينكس.

مجتمع جنو/لينكس في جوهره، مجتمع تعاوني، تعتمد المشاريع فيه على بعضها بشدة، فحرية الاستخدام التي توفرها تلك البرمجيات تعبد الطريق قانوناً أمام المطورين نحو الاستفادة من جهود التطوير فيما بينهم. يتحول كل مشروع قائم بذاته وظيفياً، ومدار من قبل طرف محدد، إلى حزمة برمجية package مستقلة بذاتها، إلا أنها تعتمد غالباً في تشغيلها بعد تثبيتها على توفر حزم أخرى.

على سبيل المثال، لو أنك طورت برنامجاً مكتوباً بلغة بايثون، فلا بد لتشغيله على حاسب معين من توفر لغة بايثون على ذلك الحاسب.

في بيئة ويندوز ستجد نفسك عادة أمام خيارين لا ثالث لهما:

في حين أن هذه الخطوة تجري في بيئة جنو/لينكس بصورة تلقائية دون تدخل من المستخدم، كل ما عليك القيام به كمطور هو أن تخبر الحزمة الخاصة بك أنها بحاجة لحزمة بايثون، وما إن يطلب المستخدم تثبيت الحزمة الخاصة بك على جهازه حتى يجري تثبيت حزمة بايثون معها من المستودع تلقائياً.

ففي بيئة جنو/لينكس يتم تجميع كل هذه الحزم في أرشيف أو مخزن مركزي واحد يدعى المستودع Repository، يحوي —إلى جانب تلك الحزم— فهرساً بكل هذه الحزم وعلاقاتها ببعضها، بما يسمح لها بالتخاطب فيما بينها.

عملياً، يتوضع المستودع (بما فيه من حزم مضافاً إليها فهرس الحزم) على أحد مواقع الإنترنت أو الشبكة الداخلية «الإنترانت»، في حين تنطوي كل نسخة من النظام على نسخة من ذلك الفهرس محلياً.

مخطط النشر UML Deployment للعلاقة بين جنو/لينكس ومستودعاته
مخطط النشر UML Deployment للعلاقة بين جنو/لينكس ومستودعاته

وعليه، فالبحث عن برنامج ما واستكشافه يتم محلياً، أما تثبيته فيتم باستدعائه —هو وكافة الحزم التي يحتاجها، تلقائياً— من المستودع.

علاقة الاعتمادية هذه، بين حزم برمجية مخزنة عن بعد، تجعل من الإنترنت شريان الحياة النابض في بيئة جنو/لينكس، فمن العسير جداً تصور إمكانية استخدام جنو/لينكس دون توفر اتصال بالإنترنت يمكن الاعتماد عليه، وأعتقد أن هذا ما أخر انتشار نظام جنو/لينكس مقارنة بنظام ويندوز في منطقتنا العربية ردحاً من الزمن.