المحتوى عن 'تجزئة'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. غطّينا في درس سابق كيفية إنشاء أشكال مخصّصة باستخدام التأثيرات ثلاثية الأبعاد وخاصية تحرير النقاط في PowerPoint. وفي هذا الدرس سنتعرّف على أوامر الدمج التي تساعدنا على تخصيص الأشكال وإنشاء أشكال جديدة متنوّعة باستخدام تلك المضمّنة في البرنامج. ولا يقتصر عمل خاصية الدمج على الأشكال فحسب، وإنّما يمكن أن تعمل مع النصوص والصور أيضًا. بشكل افتراضي، لا يمكن الوصول إلى أوامر الدمج إلّا عند إنشاء شكل ما لفتح تبويب تنسيق Format السياقي، كما أنّها لا تصبح فعّالة إلّا في حال إنشاء شكلين (أو أكثر) وتحديدهما معًا: يتضمّن دمج الأشكال خمسة أنواع سنشرح كلّ منها على حدة: اتحاد Union دمج Combine تجزئة Fragment تقاطع Intersect طرح Subtract اتحاد Union يعمل هذا الأمر على تحويل الأشكال المحدّدة إلى شكل واحد سواء كانت متراكبة/متداخلة أو لا، ويكون الشكل الناتج بنفس تنسيق الشكل الذي قمنا بتحديده أولا قبل تطبيق الأمر. مثال: دمج الشكلين التاليين المتراكبين باستخدام الأمر Union: نقوم بتحديد شكل الدائرة أولًا، نضغط على مفتاح Shift ثم نحدّد شكل النجمة ونختار Union من قائمة Merge Shapes: ستظهر معاينة للشكل الناتج بمجرّد تمرير الفأرة فوق الخيار. ننقر عليه لتوحيد الشكلين، وسنلاحظ أنّ الشكل الناتج يكون باللون الأزرق لأنّنا حدّدنا الدائرة الزرقاء أولا. أمّا إذا قمنا بتحديد النجمة في البداية وبعدها الدائرة فسنحصل على نفس الشكل لكن هذه المرة سيكون بتنسيق النجمة؛ ليس لون التعبئة فقط وإنّما لون الإطار وتأثيرات الشكل أيضًا: والشيء نفسه ينطبق على الأشكال غير المتراكبة، فعند تطبيق أمر Union على الشكلين المنفصلين التاليين سيتم تحوليهما إلى شكل واحد، ونستدل إلى ذلك بواسطة إطار التحجيم والتدوير الذي يحيط بالشكلين معًا: دمج Combine يعمل هذا الأمر على اقتطاع الأجزاء المتراكبة من الأشكال ويترك الأجزاء غير المتراكبة، ويكون الشكل الناتج بنفس تنسيق الشكل الذي قمنا بتحديده أولًا. مثال: دمج الشكلين التاليين باستخدام الأمر Combine: نحدّد الشكل الذي نريد الاحتفاظ بتنسيقه أولًا، نضغط على مفتاح Shift ثم نحدّد الجزء الثاني ونختار Combine من قائمة Merge Shapes: ملاحظة: إذا كانت الأشكال غير متراكبة سيعمل هذا الأمر مثل أمر التجميع Group، ويمكن إلغاء التجميع بهذه الطريقة باستخدام أمر التراجع Undo (Ctrl+ Z) لعدم إتاحة خيار إلغاء التجميع Ungroup. تجزئة Fragment يعمل هذا الأمر على تجزئة/تقطيع الشكل إلى مجموعة أشكال منفصلة بناءً على المناطق المتراكبة/المتداخلة من الأشكال المحدّدة. كما يحتفظ بتنسيق الشكل الذي قمنا بتحديده أولًا قبل تطبيق الأمر. مثال: لتطبيق أمر التجزئة على الشكلين من المثال السابق، نحدّدهما ثم نختار Fragment من قائمة Merge Shapes: لن نلحظ أي تغيير في اللحظة التي تطبّق بها الأمر، لكن لو حاولنا تحريك الشكل سنجد أنّه تحوّل إلى مجموعة أشكال أصغر يختلف عددها باختلاف المناطق المتراكبة: سيكون كل جزء ناتج عن التجزئة مستقل بحد ذاته، قابل للتحرير والتنسيق، ويمكن استخدامه لإنشاء أشكال أخرى مختلفة. تقاطع Intersect يعمل هذا الأمر على إنشاء شكل جديد ناتج من منطقة التقاطع بين جميع الأشكال المتراكبة ويزيل المناطق غير المتراكبة. ويكون الشكل الناتج بنفس تنسيق الشكل الذي قمنا بتحديده في البداية قبل تطبيق الأمر. مثال1: في الشريحة أدناه لدينا شكلان؛ الدائرة والمتجهات الأربعة: لدمج الشكلين باستخدام أمر التقاطع، نحدّدهما معًا ثم نختار Intersect من قائمة Merge Shapes: كما نلاحظ، تمت إزالة المناطق غير المتراكبة وإبقاء المنطقة التي تمثّل التقاطع بين الشكلين. مثال2: قمنا بإضافة أربعة أشكال معينية إلى الشكلين السابقين ونريد تطبيق أمر التقاطع على جميع الأشكال: نحدد الأشكال الستة معًا ثم نختار Intersect من قائمة Merge Shapes: نلاحظ أنّ النتيجة فراغ! لأنّه كما ذكرنا أعلاه يقوم الأمر بإنشاء شكل جديد ناتج من تقاطع "جميع الأشكال"، وبما أنّ الأشكال الستة في المثال أعلاه لا تتقاطع جميعها في منطقة معيّنة، تمت إزالة كل الأشكال. طرح Subtract يعمل هذا الأمر على طرح (إزالة) المنطقة المتراكبة للأشكال الأخرى من الشكل الذي قمنا بتحديده أولا. كما يحتفظ بتنسيق الشكل الذي حدّدناه أولًا أيضًا. مثال: في الشريحة أدناه لدينا ثلاثة أشكال؛ مربّع ونصفي دائرة: لتطبيق الأمر طرح، نحدّد الأشكال الثلاثة معًا، مع الانتباه إلى الشكل الذي نحدّده أولًا، ثم نختار Subtract كم قائمة Merge Shapes: بما أنّنا حدّدنا المربّع أولًا، تم طرح الأشكال الخضراء وترك مكانها فارغًا. استخدام أوامر الدمج مع الصور والنصوص يمكن تطبيق أوامر الدمج على الصور والنصوص أيضًا، كما على الأشكال، لإنشاء عناصر إبداعية ملفتة للنظر. على سبيل المثال، يمكن أن ندمج الصورة داخل النص لنحصل على تأثير جميل باستخدام الأمر Intersect. نقوم أولا بإدراج الصورة (Insert> Pictures)، ثم ندرج فوقها النص المرغوب (Insert> Text Box): بعد ذلك نحدّد الصورة، نضغط على مفتاح Shift، ثم نحدّد مربّع النص ونذهب إلى Format (Drawing Tools)> Merge Shapes> Intersect: سيتم دمج الصورة مع النص وتحويل العنصرين إلى صورة واحدة. نضيف عليها بعض اللمسات، مثل الظلال أو الحدود إلى أن نحصل على نص جميل وجذّاب: أمثلة سنستعرض مثالين بسيطين على ما يمكن إنشاؤه من الأشكال المخصصة باستخدام أوامر الدمج والأشكال الأساسية في بوربوينت. إنشاء زهرة الكرز لإنشاء زهرة الكرز الموضّحة في الصورة أدناه نتبع الخطوات التالية: نرسم دائرة بأي حجم كان مع الضغط على المفتاح Shift أثناء الرسم لكي تكون أقطارها متساوية، ثم نضغط على المفتاحين Ctrl+ D لتكرار الشكل. بعد ذلك نضع الدائرة الأولى فوق الثانية بحيث يتقاطعان في منطقة ما في الوسط: نحدّد الدائرتين معًا ثم نذهب إلى Format> Merge Shapes> Intersect لكي نحصل على شكل الورقة: لكي نحصل على شكل مقارب لبتلة الزهرة، نقوم برسم شكل معيني بنفس عرض القطر الأفقي للورقة تقريبًا ونضعه فوق الورقة على مسافة معيّنة من الأعلى: نحدد الشكلين معًا ثم نختار Fragment من قائمة Merge Shapes: نقوم بإزالة الجزأين الموضحين في الصورة أدناه لنحصل على شكل البتلة: نحدد الشكل ثم نذهب إلى Format> Shape Fill> Gradient> More Gradients: من جزء Format Shape نغيّر الإعدادات التالية: Gradient Fill Type > Radial Direction > From Center نحدد نقطة التدرج الثانية ونختار اللون الزهري من قائمة Color Position> 75% Line > No Line بعد ذلك نكرر الشكل 4 مرّات، ونرتب البتلات حتّى نحصل على الشكل المرغوب. وأخيرًا نحدّد البتلات الخمسة ثم ننقر عليها بزر الفأرة الأيمن ونختار Group> Group لتحويلها إلى شكل واحد: إنشاء أيقونة Wi-Fi لإنشاء شكل علامة Wi-Fi الموضّحة أدناه نتبع الخطوات التالية: نرسم دائرة بقطر 12 سم ونكررها خمس مرّات (نضغط Ctrl+ D خمس مرات). بعد ذلك نغيّر أقطار الدوائر الخمس إلى 10، 8، 6، 4، 2 على التوالي. ثم نرتب الدوائر الستة بحيث يكون مركزها واحد (بالاستعانة بخطوط الدلائل): نحدّد جميع الدوائر ثم نذهب إلى Format> Merge Shapes> Combine لاقتطاع المناطق المتراكبة: نرسم معين قطره الأفقي مساوٍ لقطر الدائرة الكبيرة (12 سم)، نقوم بموضعة رأسه السفلي عند مركز الدوائر: نحدّد المعين والشكل الناتج من دمج الدوائر ثم نطبق الأمر Intersect من قائمة Merge Shapes: بعد ذلك نرسم دائرة صغيرة بقطر 1 سم ونضعها في موضع مناسب أسفل الشكل الناتج من التقاطع: نحدد الشكلين معًا ثم نقوم بتجميعهما كما في المثال السابق (Group). وأخيرًا ننسّق الشكل الناتج بتطبيق النمط الأسود من مجموعة Shape Styles في تبويب Format: خاتمة تتيح لنا أوامر الدمج الكثير من المرونة للتلاعب بالأشكال المضمّنة في بوربوينت وإنشاء أنواع لا حصر لها من الأشكال لتصميم عروض تقديمية فريدة. وقد لاحظنا من خلال الأمثلة أنّه بخطوات بسيطة يمكن أن نحصل على أشكال تختلف تمامًا عن الشكل الأساسي الذي بدأنا منه. ويمكنك أن تكتشف بنفسك المزيد مما يمكن بفعله باستخدام هذه الأوامر الرائعة، فلا حدود هنا للإبداع. هل تستخدم أوامر الدمج في تصميم عروضك التقديمية؟ شاركنا بأفكارك ونصائحك عبر صندوق التعليقات.
  2. يوجد لدى كثيرين خلط بين مصطلحات متقاربة هي التعميّة Encryption، الترميز Encoding، التجزئة Hashing والتشويش Obfuscation. سيتناول هذا المقال ماهية كلّ واحد من هذه المصطلحات. الترميز يهدف الترميز إلى تحويل بياناتٍ ليصبح بإمكان أنظمة مختلفة التعامل معها بطريقة صحيحة وآمنة. على سبيل المثال: إرسال ملفات تنفيذية في بريد إلكتروني أو عرض محارف Characters خاصّة على صفحة ويب. ليس الغرض هنا إبقاءَ المعلومة سريّة بل التأكد من أن التعامل معها سيكون على النحو الأمثل. يحوّل الترميز البيانات من صيغة إلى أخرى بآلية متاحة للعموم ويمكن بالتالي عكسُ التحويل بسهولة. لا تحتاج البيانات بعد ترميزها لمفتاح سري حتى يمكن التعامل معها، إذ أن المطلوب الوحيد ليمكنَ فك الترميز هو الخوارزمية Algorithm المستخدمة فيه. أمثلة: ASCII ،Unicode، ترميز روابط URL و Base64. التعمية تُستخدَم التعميّة لتحويل صيغة البيانات بغرض إبقائها مجهولة للآخرين؛ مثلا عند إرسال رسالة إلى شخص لا تريد أن يتمكن غيره من قراءتها أو لإيصال كلمة مرور بسريّة على الإنترنت. تهدف التعمية، بدلا من التركيز على قابلية استخدام المعلومة، إلى التأكد من أنه لا يمكن لغير المصرّح لهم الاستفادة من البيانات. تحوّل التعميّة البيانات إلى صيغة أخرى لا يمكن سوى لأشخاص محدّدين فهمُها. يُستخدَم لتنفيذ التعمية مفتاح تعمية إضافة إلى خوارزمية والنص المراد تحويله. يتطلب نزعُ التعمية الحصولَ على النص المعمَّى، خوارزمية التعميّة والمفتاح السري (نفس مفتاح التعمية أو مفتاح سري آخر). أمثلة: AES ،Blowfish و RSA. التجزئة تعمل التجزئة على التأكد من سلامة البيانات Integrity، بمعنى إن حدث تعديل عليها فستستطيع معرفة ذلك. تأخذ عمليّة التجزئة مُدخَلا عشوائيا وتُنتِج سلسلة محارف ثابتة الطول لديها الخصائص التالية: نحصُل دائما على نفس النتيجة بتنفيذ العمليّة على نفس المُدخَل. لا يجوز أن تُنتج العملية نفس المُخرَج لمُدخلات متعدّدة. يجب ألا يكون بالإمكان استنتاج المُدخَل من المُخرَج. يؤدي أي تعديل على مُدخَل مّا إلى تغييرات كبيرة في نتيجة تطبيق العملية عليه. تُستخدَم التجزئة مع الاستيثاق Authentication للحصول على دليل قوي أن رسالة مّا لم يُعدَّل عليها. تتم العملية بأخذ مُدخَل معيَّن، تعميّته بمفتاح محدَّد، تجزئته بنفس المفتاح، ثم تعميّة المفتاح بالمفتاح العمومي Public key الخاص بالمرسَل إليه ثم توقيع التجزئة بالمفتاح السريّ الخاص بالمرسِل. يفتح المرسَل إليه الرسالة ثم يفكّ تعمية المفتاح المستخدَم لتعميّة الرسالة باستخدام مفتاحه السّري مما يمكّنه من الحصول على النص الأصلي للرسالة. يمكنها بعدها تجزئة الرسالة ومقارنة نتيجة التجزئة بالتجزئة الموقَّعة من المرسِل فإن حصل تطابق فهذا يعني أن الرسالة لم يُعدَّل عليها وأنها أرسلت من الشخص المُنتظَر. أمثلة: SHA-3 و MD5 (أصبح قديما) التشويش يهدف التشويش إلى جعل المعلومة أصعب فهما، لتصعُب مهاجمتها أو نسخها. من الاستخدامات الشائعة له تشويش الشفرة المصدرية لجعل تكرار منتَج معيَّن أصعب عند تطبيق الهندسة العكسية Reverse engineering عليه. من المهم ملاحظة أن التشويش ليس تحكما قويا مثل التعميّة بل مجرّد عرقلة. يمكن غالبا عكسُه، مثل ما يحدُث مع الترميز، بنفس الطريقة التي يتمّ بها. يقتصر التشويش في حالات أخرى على عمليات يدوية تأخذ الكثير من الوقت لإجرائها. يجب الانتباه أيضا إلى أنه يوجد حدّ للتشويش حسب المحتوى. عند تشويش شفرة برمجية مثلا فالحدّ هو أن نتيجة التشويش يجب أن تبقى في حدود ما يمكن للحاسوب التعامل معه وإلا فإن البرنامج سيتوقّف عن العمل. أمثلة: مشوِّش JavaScript و ProGuard. ملحوظة: ربما تتساءل متى يُستحسن استخدام التشويش بدلا من التعمية؛ والجواب هو أن التشويش يُستخدَم لجعل البيانات أصعب فهما على مستغِلّ محدَّد (شخص مّا) مع إبقائها في متناول مستغِلّ آخر (حاسوب). بالنسبة للتعميّة فيصعُب في جميع الأحوال الاستفادة من البيانات دون الحصول على المفتاح السّري. خلاصة يهدف الترميز إلى الإبقاء على قابلية استخدام البيانات، ويمكن عكسُه بنفس خوارزمية الترميز؛ أي أنه لا يحتاج لمفاتيح سرية. تُستخدَم التعمية للحفاظ على خصوصية البيانات وتتطلّب إزالةُ التعمية استخدامَ مفتاح سري. تُستخدَم التجزئة لغرض التحقق من سلامة البيانات باكتشاف وجود تعديلات تدلّ عليها مُخرجات التجزئة. يُستخدم التشويش لمنع الأشخاص من فهم معنى بيانات خصوصا شفرات برمجية للحد من إمكانية تطبيق الهندسة العكسية على برنامج أو سرقة وظائفه. ترجمة -وبتصرّف- لمقال Encoding vs. Encryption vs. Hashing vs. Obfuscation لصاحبه Daniel Miessler.
  3. نتطرّق في هذا المقال من سلسلة الدروس عن شهادة RHCSA من RedHat لكيفيّة إعداد نظام التخزين وضبطه على RedHat Enterprise Linux 7 باستخدام الأداة Parted وهي الأداة المبدئيّة للتعامل مع وحدات التخزين في RHEL؛ سنقدّم أيضا مدير نظام التخزين System storage manager, SSM الذي يسهّل المهمّة كثيرا. إنشاء التجزئات Partitions والتعديل عليها في RedHat Enterprise Linux تُستَخدم الأداة parted مبدئيا للتعامل مع التجزئات في RHEL؛ ويمكن باستخدامها: عرض جدول التجزئات الحاليّة، التعديل على التجزئات الحاليّة بزيادة حجمها أو نقصه، إنشاء تجزئات جديدة على المساحة الفارغة من القرص أو على أجهزة تخزين جديدة. ملحوظة: نستخدم آلة تخيّلية باستخدام VirtualBox كما هو مشروح في درس تثبيت Red Hat Enterprise Linux باستخدام VirtualBox. أضفنا إليها قرصا تخيّليا جديدا لنختبر عليه أوامر parted. تمكن إضافة القرص التخيلي باختيّار إعدادات الآلة Settings، ثم تحديد التخزين Storage من نافذة الإعدادات ثم إنشاء قرص تخيليّ بالنقر عل أيقونة الإضافة التي تظهر بجانب خيّار Controller: SATA عند الحوم حوله بالمؤشر. يُستحسَن قبل البدء في إنشاء تجزئات جديدة أو التعديل على التجزئات الموجودة التأكّد من عدم استخدام أيّ من التجزئات على القرص. إن كانت لديك مساحة إبدال Swap على القرص فستحتاج لتعطيلها. الطريقة الأسهل لتهيئة هذه المتطلّبات هو إقلاع النظام على وضع الإنقاذ Rescue mode باستخدام وسيط التثبيت (قرص ضوئي أو مفتاح USB): اذهب إلى قائمة الأجهزة الطرفيّة Devices في VirtualBox ثم اختر الأقراص الضوئيّة Optical devices وحدّد مسار ملفّ ISO الخاصّ بتثبيت النظام. بعد إعادة تشغيل النظام والإقلاع على وسيط التثبيت تظهر قائمة الاختيّار التاليّة؛ حدّد خيار Troubleshooting (استكشاف الأخطاء). تظهر قائمة Troubleshooting؛ اختر منها Rescue a Red Hat Enterprise Linux system (أصلح نظاما يستخدم RHEL) انتظر قليلا حتى تظهر لك إمكانيّة تحديد الخيّار. توجد أربعة خيارات اختر منها Skip to shell (تجاوز إلى الصّدفة) بكتابة الرقم الظاهر أمامها (3). تحصُل باتّباع الخطوات السابقة على صدفة يمكنك تنفيذ أوامر Parted منها. إنشاء تجزئة جديدة نستخدم الأمر parted على النحو التالي لإنشاء تجزئة جديدة على القرص sdb (أي القرص الثاني، يُشار للقرص الأوّل بـ sda): # parted /dev/sdb ملحوظة 1: يحتوي المجلّد dev/ على ملفّات خاصّة للتعامل مع العتاد؛ يستخدم النظام الملفّ dev/sda/ للتعامل مع القرص الأوّل في الجهاز، dev/sdb/ مع الثاني، dev/sdc/ مع الثالث، وهكذا. يُشار إلى التجزئات الموجودة على قرص بأرقام: dev/sda1/ التجزئة الأولى من القرص الأول، dev/sda2/ التجزئة الثانية من القرص الأول، dev/sdb1/ التجزئة الأولى من القرص الثاني، وهكذا. ملحوظة 2: يحوي القرص الأول dev/sda/ ملفّات نظام التشغيل المثبّت على الجهاز. تطبيق أوامر بطريقة خاطئة على هذا القرص قد يجعل النظام غير قابل للاستخدام. سيظهر محثّ جديد لإدخال الأوامر الخاصّة بالأداة parted: نفّذ الأمر print في سطر أوامر parted للحصول على قائمة بالتجزئات الحاليّة على القرص: لا توجد حتى الآن أية تجزئة على القرص الذي تبلغ مساحته 8,5GB. سننشئ على هذا القرص تجزئة أوّليّة بمساحة تبلغ 7GB. نهيّئ Format التجزئة بنظام الملفّات xfs الذي يُستخدَم مبدئيا على RHEL؛ إلا أن بإمكانك الاختيار من بين نظم ملفّات أخرى كثيرة. سنبدأ بإنشاء التجزئة باستخدام الأمر mkpart ثم نهيّئها باستخدام الأمر mkfs.fstype؛ إذ أن دعم الأمر mkpart لأنظمة الملفات الحديثة ليس جيّدا. نضبُط في ما يلي لصيقة Label للقرص ثم ننشئ تجزئة أوليّة على القرص dev/sdb/ تبدأ من أول القرص (%0) وتنتهي عند 7GB (أي 7000MB)؛ ثم نستخدم الأمر print في الأداة Parted لعرض جدول تجزئات القرص. أثناء عمليّة الإنشاء يُطلّب منّا نوعيّة نظام الملفّات الذي نريد، نترك الخيار المبدئي. ملحوظة: لصيقة القرص Disk lable (تُسمّى أيضا جدول التجزئة Partition table أو خريطة التجزئة Partition map) هو سجّل يستخدمه النظام للحصول على معلومات عن التجزئة. يدعم الأمر mklable صيغ تجزئة محدّدة من بينها bsd، gpt، msdos وmac. نستخدم الآن الأمر mkfs.xfs لتهيئة التجزئة التي أنشأناها. نخرج من سطر الأوامر الخاص بالأداة Parted بتنفيذ الأمر quit ثم ننفّذ الأمر على النحو التالي: # mkfs.xfs /dev/sdb1 # parted /dev/sdb print لاحظ إرفاق التجزئة أثناء إنشائها ببيانات وصفيّة Meta data خاصّة بنظام الملفّات xfs. تغيير مساحة تجزئة تتيح الأداة Parted أمر resize لتغيير مساحة التجزئة، إلا أن هذا الأمر لا ينطبق سوى على نظم الملفّات القديمة مثل ext2، fat32 وfat16؛ أي أن الطريقة الوحيدة لتغيير مساحة التجزئة هي بحذفها ثم إنشائها من جديد وهو ما يعني حذف محتويات التجزئة وضياعها. تستخدم توزيعة RHEL نمط تجزئة LVM لتلافي هذه الصعوبة في إدارة التجزئات (سنرى كيف يعمل بعد قليل). نعرض في ما يلي لائحة بالتجزئات على القرص sdb ثم نحذف التجزئة الأولى: # parted /dev/sdb print # parted /dev/sdb rm 1 من المستحسَن ألا تستخدم هذا الأمر على نظام إنتاج حقيقي. مدير التجزئات المنطقية Logical volume manager رأينا أنّ تعديل مساحة التجزئات الموجودة على القرص بعد إنشائها بالطريقة التقليديّة المشروحة أعلاه صعب وربما يؤدي لفقدان بيانات؛ لهذا يجب النّظر إلى إمكانيّة الاستعانة بمدير التجزئات المنطقيّة LVM. يعمل مدير التجزئات على تجميع وسائط تخزين عدّة لتبدو كأنها وسيط تخزين واحد ثم إنشاء تجزئات انطلاقا من هذه الوحدة المجمَّعة. تكمُن الميزة التي تقدّمها هذه الطريقة في سهولة تمديد أو تقليص التجزئات المنطقيّة دون مصاعب تُذكر. يبيّن المخطَّط التالي البنية الأساسيّة لمدير التجزئات المنطقيّة. سنشرح في ما يلي أساسيّات استخدام مدير التجزئات المنطقيّة LVM. نهيّئ لهذا الغرض قرصين ملموسين تخيّليّيْن جديديْن بنفس طريقة إنشاء القرص التخيّلي في الفقرات السابقة. سنستخدم القرصيْن لإنشاء مجموعة تجزئة Volume group ننشئ عليها التجزئات المنطقيّة. إنشاء التجزئات الملموسة Physical Volumes نبدأ بإنشاء تجزئتيْن جديدتين ملموستيْن تأخذ كلّ واحدة منهما كامل القرص الذي توجد عليه. بالنسبة للقرص التخيلي الثالث (الأول هو قرص النظام، الثاني هو القرص الذي استخدمناه في الجزء الأول من المقال): # parted /dev/sdc (parted) mklable msdos (parted) mkpart Partition type? primary/secondary? p File system type? [ext2]? Start? 0% End? 100% (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 8590MB sector size (logical/physical): 512B/512B Partition Table: msdos Disk flags: Number Start End Size Type File system Flags 1 1049kb 8590MB 8589MB primary quit نعيد نفس الشيء بالنسبة للرابع: # parted /dev/sdd ننفذ بالعودة إلى سطر الأوامر بعد تهيئة التجزئتين الأمرين التاليّين: # pvcreate /dev/sdc1 # pvcreate /dev/sdd1 تظهر في كلّ مرة رسالة بأن إنشاء التجزئة الملموسة تم بطريقة صحيحة. الأمر pvcreate جزء من مدير التجزئات المنطقيّة ومهمّته إنشاء التجزئات الملموسة التي سنجمّعها كما سنرى من أجل إنشاء تجزئات منطقية في ما بعد. إن أردت إظهار معلومات عن التجزئات الملموسة التي أنشأناها بالأمر pvcreate فيمكنك استخدام الأمر pvdisplay: # pvdisplay /dev/sdc1 # pvdisplay /dev/sdd1 يُظهر الأمر اسمَ التجزئة والمجموعة التي تنتمي إليها مع بيانات أخرى. لا توجد لحدّ الساعة مجموعة تجزئات؛ لذا سننشئ واحدة. إنشاء مجموعة تجزئات Volume group يُستخدم الأمر vgcreate لإنشاء مجموعة تجزئات. ننشئ في الأمر التالي مجموعة تجزئات باسم hsoub_vg تتكون من تجزئتين ملمومستين هما dev/sdc/1 و dev/sdd1/: # vgcreate hsoub_vg /dev/sd{c,d}1 تظهر رسالة تفيد بإنشاء مجموعة التجزئات. ستلاحظ الآن عند تنفيذ الأمر pvdisplay /dev/sdv1 اسم المجموعة ضمن معلومات التجزئة. إن أردت رؤية معلومات عن مجموعة التجزئات فيمكنك تنفيذ الأمر vgdisplay: # vgdisplay hsoub_vg إنشاء تجزئات منطقية جهّزنا مجموعة التجزئات؛ يمكننا الآن استخدامها لإنشاء تجزئات منطقية باستخدام الأمر lvcreate. يمكن أن نحدّد مساحة التجزئة إما بالوحدة (GB مثلا) أو بمداها (100 بالمئة)، المعطى الأخير للأمر هو اسم مجموعة التجزئات التي نريد تطبيق الأمر عليها: # lvcreate -L 3G -n vol01_docs hsoub_vg # lvcreate -L 1G -n vol02_logs hsoub_vg # lvcreate -l 100%FREE -n vol03_homes hsoub_vg يحدّد الخيار L- مساحة التجزئة بالوحدة، l- النسبة من المجموعة و n-اسم التجزئة المنطقيّة. في الأمرين الأول والثاني أعلاه أنشأنا تجزئتين منطقيتين مساحتاهما على التوالي 3G و1G. في الأمر الثالث طلبنا أن تأخذ التجزئة كامل المساحة المتبقيّة على مجموعة التجزئة . يمكن باستخدام الأمر lvdisplay إظهار التجزئات المنطقية الموجودة على مجموعة تجزئات كالتالي: # lvdisplay hsoub_vg تهيئة التجزئات المنطقية وتركيبها يمكنك بعد إنشاء التجزئات المنطقيّة تهيئتها بنظام الملفات الذي تريد؛ نستخدم في المثال التالي نظام الملفّات ext4 (من المهمّ اختيار نظام الملفات المناسب؛ xfs مثلا لا يدعم تغيير مساحة التجزئة): # mkfs.ext4 /dev/hsoub_vg/vol01_docs # mkfs.ext4 /dev/hsoub_vg/vol02_logs # mkfs.ext4 /dev/hsoub_vg/vol03_homes لاحظ مسار التجزئات المنطقيّة. توجد مجموعة التجزئات على المسار dev/hsoub_vg/ حيث hsoub_vg هو مجموعة التجزئة، وبداخل المجلّد توجد التجزئات المنطقيّة التي أنشأناها سابقا. يأتي بعد التهيئة تركيبُ التجزئات حتى يمكن استخدامها: # mkdir /mnt/docs /mnt/logs /mnt/homes # mount /dev/hsoub_vg/vol01_docs /mnt/docs # mount /dev/hsoub_vg/vol02_logs /mnt/logs # mount /dev/hsoub_vg/vol03_homes /mnt/homes ملحوظة: يعني التركيب Mounting إتاحة إمكانية الوصول لنظام الملفات انطلاقا من نقطة معينة في شجرة ملفات لينكس. بدون هذه الخطوة لا يمكن استعمال التجزئة. يمكن الآن تخزين الملفّات في المجلّد mnt/docs/ وسيضعها النظام على التجزئة المنطقيّة vol01_docs. ينطبق نفس المبدأ على بقيّة التجزئات والمسارات. حذف التجزئات المنطقية، مجموعة التجزئات والتجزئات الملموسة نستخدم الأوامر vgremove، lvremove وpvremove لحذف تجزئة منطقية، مجموعة تجزئات وتجزئات ملموسة على التوالي. سنحتاج أولا لفصلها (نزع تركيبها) بالأمر umount: # umount /mnt/docs /mnt/logs /mnt/homes # lvremove /dev/hsoub_vg/vol01_docs /dev/hsoub_vg/vol02_logs /dev/hsoub_vg/vol03_homes ستظهر رسالة تطلُب منك تأكيد رغبتك في حذف التجزئات؛ اضغط زر y للتأكيد. ثم نحذف مجموعة التجزئات ومن بعدها التجزئات الملموسة: # vgremove /dev/hsoub_vg # pvremove /dev/sd{b,c}1 سنخرج الآن من وضع الإنقاذ بعد أن رأينا آلية عمل التجزئات المنطقية. استخدم الأمر exit للخروج من وضع الإنقاذ ثم انزع القرص الضوئي التخيلي حتى يستطيع النظام الإقلاع من القرص التخيليّ (يمكن أيضا إطفاء الآلة التخيليّة مباشرة من VirtualBox ونزع القرص الضوئي ثم تشغيلها من جديد). استخدام مدير وسائط التخزين SSM لإنشاء التجزئات المنطقية وإدارتها مدير وسائط التخزين SSM (اختصار لـ System storage manager) هو أداة تعمل واجهةً بين لإدارة وسائط التخزين بطريقة أسهل. رأينا في الفقرات السابقة أنّه يلزم تنفيذ خمسة أوامر لإنشاء تجزئة منطقيّة والبدء في استخدامها (mkfs ، lvcreate ، vgcreate ،pvcreate و mount). يمكن باستخدام ssm اختصار هذه الخطوات في خطوة واحدة. نبدأ بتحديث حزم النظام وتثبيت مدير وسائط التخزين: $ su - Password: # yum update && yum install system-storage-manager ثم نستخدم الأمر ssm لإنشاء تجزئات بنفس الخاصيّات السابقة: # ssm create -s 3G -n vol01_docs -p hsoub_vg --fstype ext4 /mnt/docs /dev/sd{c,d}1 # ssm create -s 1G -n vol02_logs -p hsoub_vg --fstype ext4 /mnt/logs # ssm create -n vol03_homes -p hsoub_vg --fstype ext4 /mnt/homes ملحوظة: تأكد من وجود المجلدات على المسارات mnt/logs ، /mnt/docs/ و mnt/homes/ حتى يمكن تركيب التجزئات عليها. يمكن من الأوامر استنتاجُ عمل الخيارات: المساحة: s-. اسم التجزئة المنطقية: n-. مجموعة التجزئات: p-. نقطة التركيب: المسارات mnt/logs، /mnt/docs/ وmnt/homes/. التجزئات الملموسة: dev/sd{c,d}1/. لم نحدّد في الأمر الأخير مساحة التجزئة؛ في هذه الحالة تأخذ التجزئة كامل المساحة المتبقيّة على مجموعة التجزئات. حدّدنا في الأمر الأول التجزئات الملموسة التي ستتكوّن منها مجموعة التجزئات؛ بينما لم نفعل ذلك في الأمريْن الآخريْن إذ لم نعد نحتاجه بعد إنجاز المهمة في الأمر الأول. نفَّذ ssm في الأوامر أعلاه المهامّ التالية: إعداد التجزئات الملموسة. إنشاء مجموعة تجزئات. إنشاء تجزئات منطقيّة. تهيئة التجزئات المنطقيّة. تركيب التجزئات المنطقيّة. يمكننا الآن عرض معلومات عن التجزئات الملموسة، مجموعات التجزئات والتجزئات المنطقيّة على التوالي بالأوامر: # ssm list dev # ssm list pool # ssm list vol من أهم الميزات التي توفّرها التجزئات المنطقيّة إمكانيّة التعديل على مساحتها (تصغيرها أو تكبيرها) مباشرة. نفرض مثلا أن التجزئة vol02_logs توشك على الامتلاء بينما توجد مساحة فارغة كبيرة على التجزئة vol03_homes. لحد الساعة لا توجد مساحة فارغة على مجموعة التجزئات hsoub_vg لأننا استهلكناها كلَّها بإنشاء تجزئات منطقية عليها؛ يمكن التأكد من ذلك بتنفيذ الأمر ssm list pool: ما سنفعله هو تقليص مساحة التجزئة vol03_homes ثم منح المساحة المقتطعة منها للتجزئة الممتلئة vol02_logs . يعدّل الأمر التالي على التجزئات المنطقيّة بحيث تصبح مساحة vol03_homes تساوي 4GB بدلا من 11GB: # ssm resize -s 4G /dev/hsoub_vg/vol03_homes إن أعدنا تنفيذ الأمر ssm list pool الآن فسنرى وجود مساحة غير مستقلة على المجموعة hsoub_vg. يمكننا الآن زيادة مساحة التجزئة vol02_logs: # ssm resize -s+2G /dev/hsoub_vg/vol02_logs يطلُب الأمر زيادة مساحة التجزئة vol02_logs بـ2GB. يمكن باستخدام الأمر ssm remove حذفُ تجزئة منطقيّة على النحو التالي: # ssm remove /dev/hsoub_vg/vol01_docs ستظهر رسالة تطلب منك التأكيد على خيّار الحذف. لحذف مجموعة تجزئات نحذف التجزئات المنطقيّة أولا ثم ننفّ الأمر: # ssm remove hsoub_vg إدارة التجزئات المعماة بواسطة SSM يتوفّر مدير وسائط التخزين SSM على إمكانيّة تعميّة تجزئات موجودة أو إنشاء تجزئات وتعميّتها. سنحتاج لهذا الغرض لتثبيت حزمة cryptsetup إن لم تكن مثبّتة قبلا، على النحو التالي: # yum update && yum install cryptsetup ثم ننفذ الأوامر التالية لإنشاء تجزئات معمّاة، سيُطلب منك إدخال عبارة سرّ Passphrase وتأكيدها. # ssm create -s 3G -n vol01_docs -p hsoub_vg --fstype ext4 --encrypt luks /mnt/docs /dev/sd{c,d}1 # ssm create -s 1G -n vol02_logs -p hsoub_vg --fstype ext4 --encrypt luks /mnt/logs # ssm create -n vol03_homes -p hsoub_vg --fstype ext4 --encrypt luks /mnt/homes لا تختلف الأوامر عن الأوامر السابقة لإنشاء التجزئات سوى في إضافة الخيار encrypt-- الذي يحدّد نوعيّة التعميّة (luks في حالتنا، وهي طريقة تعميّة ينتشر استخدامها على أنظمة لينكس). يجب أن نضيف التجزئات إلى ملف etc/fstab/ حتى تكون متاحة بعد إقلاع النظام. سنستخدم معرّفات التجزئات UUID التي يمكننا الحصول عليها بتنفيذ الأمر blkid: # blkid -o value UUID /dev/hsoub_vg/vol01_docs # blkid -o value UUID /dev/hsoub_vg/vol02_logs # blkid -o value UUID /dev/hsoub_vg/vol03_homes ثم نضع المحتوى التالي في الملفّ etc/crypttab/ (استخدم المعرفات التي حصلت عليها في الخطوة السابقة): docs UUID=ba77d113-f849-4ddf-8048-13860399fca8 none logs UUID=58f89c5a-f694-4443-83d6-2e83878e30e4 none homes UUID=92245af6-3f38-4e07-8dd8-787f4690d7ac none ثم نضيف ما يلي إلى ملفّ etc/fstab/ (أسفل المحتوى الموجود في الملفّ): # Logical volume vol01_docs: /dev/mapper/docs /mnt/docs ext4 defaults 0 2 # Logical volume vol02_logs /dev/mapper/logs /mnt/logs ext4 defaults 0 2 # Logical volume vol03_homes /dev/mapper/homes /mnt/homes ext4 defaults 0 2 لاحظ أن الاسم الظاهر بعد dev/mapper/ هو نفس المعرّف المحدَّد في الملفّ etc/crypttab/. نفّذ الأمر systemctl reboot لإعادة التشغيل وستجد أنّ النظام يطلُب عبارة السرّ من أجل تركيب التجزئات. ملحوظة: تأكّد من كتابة التعليمات في الملفّات etc/crypttab و etc/fstab/ بطريقة صحيحة؛ وإلا فيمكن ألّا يقلع النظام. إن حدث خطأ ستُطلَب منك كلمة سر الحساب الجذر؛ ويمكنك بعدها تصحيح محتوى الملفّ ثم إعادة تشغيل النظام بالأمر السابق. يمكنك التأكد من أنّ التجزئات رُكِّبت في النقاط التي حدّدناها سلفا بتنفيذ الأمر mount لإظهار نقاط التركيب ثم استخدام grep لاختيار تلك التي توجد بها mnt حيث ركّبنا التجزئات: # mount | grep "mnt" /dev/mapper/logs on /mnt/logs type ext4 (rw,realtime,seclabel,data=ordered) /dev/mapper/docs on /mnt/docs type ext4 (rw,realtime,seclabel,data=ordered) /dev/mapper/homes on /mnt/homes type ext4 (rw,realtime,seclabel,data=ordered) خاتمة رأينا في هذا الدرس مبادئ إعداد نظام التخزين بالطريقة التقليدية وباستخدام أدوات إدارة التجزئات الحديثة مثل lvm و ssm. من المهم الانتباه إلى التعامل مع التجزئات يؤثّر مباشرة على عمل النظام ويمكن لخطأ في تنفيذ أمر مّا أن يجعل النظام غير قابل للاستخدام؛ لذا تدرّب أولا على نظام غير أساسي (أو تخيلي، وهي الطريقة الأسهل) إلى أن تتأكد من فهمك لآلية عمل مختلف الأدوات قبل أن تنتقل إلى بيئة إنتاج. ترجمة -وبتصرّف- للمقال RHCSA Series: Using ‘Parted’ and ‘SSM’ to Configure and Encrypt System Storage – Part 6 لصاحبه Gabriel Cánepa.