الفرق بين المراجعتين لصفحة «التجهيز التقني»

من ويكي أضِف
اذهب إلى التنقل اذهب إلى البحث
(←‏خطوات وشرح وتوصيات بخصوص: استخدام الإنترنت)
 
(42 مراجعة متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
 +
يمكن استخدام الموارد والتوصيات المطروحة أدناه في تشغيل بيئة تستخدم لينكس بالكامل كنظام تشغيل، سواء كانت مكتبية أو مؤسسة .
 +
 
= قبل المعسكر=
 
= قبل المعسكر=
 +
 
==خطوات وشرح وتوصيات بخصوص ==
 
==خطوات وشرح وتوصيات بخصوص ==
  
سطر 6: سطر 9:
 
==== توصيلات الكهرباء ====
 
==== توصيلات الكهرباء ====
  
−
*توصيلات الشبكة
+
*توصيلات الشبكة  
  
 
*الشبكة السلكية
 
*الشبكة السلكية
  
−
*الشبكة اللاسلكية
+
*الشبكة اللاسلكية  
  
 
*إعداد الشبكة والأجهزة بأقل جهد ممكن
 
*إعداد الشبكة والأجهزة بأقل جهد ممكن
 +
 +
* تقدير مناسب لحجم استهلاك المعسكر للإنترنت، بالذات في السياقات التي تستخدم شبكات المحمول
  
 
====إعداد بوابة الشبكة====
 
====إعداد بوابة الشبكة====
 +
''للمقال التفصيلي، انظر [[خادوم المعسكر]]''
  
 
الدور المنوط ببوابة الشبكة هو توفير:
 
الدور المنوط ببوابة الشبكة هو توفير:
سطر 22: سطر 28:
 
* خادم أسماء (DNS) بتخزين مؤقت (cache)
 
* خادم أسماء (DNS) بتخزين مؤقت (cache)
 
* خادم وكيل لصفحات الويب (web proxy) شفاف (transparent) بتخزين مؤقت أيضا.
 
* خادم وكيل لصفحات الويب (web proxy) شفاف (transparent) بتخزين مؤقت أيضا.
 +
* خادم وكيل/خبيئة للحزم.
 +
* نقطة مناسبة للتحقيق في مشاكل الشبكة (debugging and logging)
  
 
الجهاز الذي سيلعب هذا الدور لا يحتاج إلى مواصفات عالية، ويحتاج إلى بطاقتي شبكة، واحدة داخلية وأخرى خارجية.
 
الجهاز الذي سيلعب هذا الدور لا يحتاج إلى مواصفات عالية، ويحتاج إلى بطاقتي شبكة، واحدة داخلية وأخرى خارجية.
  
−
الإعداد المقترح يشتمل تثبيت dnsmaq، الذي سيقوم بالقيام بدور خادم dhcp وخادم الأسماء، وخادم وكيل لصفحات الويب squid
+
الإعداد المقترح يشتمل تثبيت dnsmaq، الذي سيقوم بالقيام بدور خادم dhcp وخادم الأسماء، وخادم وكيل لصفحات الويب squid و squid-deb-proxy
  
 
الأوامر المستخدمة على نظام دبيان (lenny) أو (squeeze):
 
الأوامر المستخدمة على نظام دبيان (lenny) أو (squeeze):
سطر 33: سطر 41:
 
يجب تعديل قواعد المرور على الجدار الناري (linux iptables) ليقوم الخادم بدوره كبوابة ولدعم NAT وكذلك لتحويل الخادم الوكيل إلى خادم وكيل شفاف (بحيث لا يحتاج إلى إعدادات خاصة على الأجهزة المستفيدة (clients).
 
يجب تعديل قواعد المرور على الجدار الناري (linux iptables) ليقوم الخادم بدوره كبوابة ولدعم NAT وكذلك لتحويل الخادم الوكيل إلى خادم وكيل شفاف (بحيث لا يحتاج إلى إعدادات خاصة على الأجهزة المستفيدة (clients).
  
 +
==إعدادات dnsmasq ==
  
−
==إعدادات dnsmasq ==
+
=== إستخدام dnsmasq كخادم الإعدادات التلقائية للشبكة (dchp) ===
 +
 
 +
apt-get install dnsmasq
 +
 
 +
في ملف /etc/dnsmasq.conf
 +
 
 +
فعّلو
 +
listen-address=127.0.0.1
 +
listen-address=192.168.10.4 
 +
 
 +
# DHCP range
 +
dhcp-range=192.168.10.10,192.168.10.50,12h
 +
dhcp-lease-max=25
  
 
=== حجوزات العناوين المسبقة ===
 
=== حجوزات العناوين المسبقة ===
  
 +
 +
* أقتراح استخدام avahi/bonjour
 +
إن منظومة تشبيك بلا إعدادات (zeroconf) يمكن تشغيلها بسهولة في لينكس، حيث أن خدمة Avahi تعمل بشكل مبدئي لدى تنصيب اوبونتو، وهي تسمح بأن تقوم الأجهزة بالإستجابة لطلبات الأسماء تلقائيا بإستخدام النطاق local. وبالتالي ما يلزم هو إعداد صحيح لاسماء الأجهزة وبعدها يمكن إستخدام صيغة
 +
<hostname>.local
 +
لإيجاد الأجهزة على الشبكة (لاحظ أن ذلك منوط بشرط أن يكون الجهاز يعمل)
 +
 +
* إستخدام عناوين مسبقة الحجز
 
في ملف /etc/dsnmasq.conf إبحث عن إعداد dhcp-host، مثلا:
 
في ملف /etc/dsnmasq.conf إبحث عن إعداد dhcp-host، مثلا:
  
سطر 43: سطر 71:
  
 
مما سيسمح لك بإضافة عناوين وأسماء محددة مسبقا للأجهزة، وذلك سيسهل إدراتها لاحقا.
 
مما سيسمح لك بإضافة عناوين وأسماء محددة مسبقا للأجهزة، وذلك سيسهل إدراتها لاحقا.
 +
 +
''ملاحظة: يمكنكم بعد تجهيز المختبرات وترتيب الأجهزة فيها (والتي تكون في الغالب نسخ من جهاز واحد نسخت بإستخدام clonezilla أو مقابل له)، يمكنكم بعدها تغيير إسم الجهاز (hostname) وإعادة تشغيل الشبكة بعدها، سيساعد هذا على الحصول على عنوان عتاد الشبكة (MAC Address) وإسم الجهاز من سجل خادم dhcp وإستخراجهم لعنونة الأجهزة بعناوين مسبقة الحجز (ipreservation)، وبالتالي يمكن عمل تنظيم العناوين والأسماء بأي شكل نرغبه.''
  
 
== إعدادات squid3 ==
 
== إعدادات squid3 ==
سطر 55: سطر 85:
  
 
=== إعداد خادم تحديثات محلي ===
 
=== إعداد خادم تحديثات محلي ===
−
{{TODO}}
+
ْ{{TODO}}
 +
لإعداد خادم تحديثات محلي، يمكن تثبيت خادم squid-deb-proxy من حزم اوبونتو. يعمل تلقائيا تقريبا، قد تحتاج إلى فتح بعض مخازن الحزم في ملف الإعدادات. عدا ذلك، يعمل بشكل ممتاز!
 +
 
 +
على الأجهزة الزبون، كل ما تحتاجه هو تثبيت squid-deb-proxy-client وسيقوم هو بالإستكشاف مستعينا بavahi
 +
 
 +
في حال إحتجت إلى الإتصال بخادم التحديثات من شبكة أخرى وبالتالي avahi لن يعمل، حوّل إلى مستخدم جذر:
 +
sudo -s
 +
ثم اشر إلى خادم الخبيئة (التغيرات مؤقتة، فقط لإستخدام وقتي)
 +
export http_proxy=http://serverIP:port
 +
حيث port تكون إفتراضيا 8000
 +
 
 +
ثم قومو بتشغيل أوامر apt-get كالعادة لكن دون إستخدام sudo وذلك لأن sudo لا يمرر المتغيرات المحلية في القشرة (shell)
 +
 
 +
نصائح: قم بتشغيل التحديثات على جهاز واحد، وإنتظر حتى ينتهي قبل البدء بالآخرين للإستفادة القصوى من الخبيئة.
 +
 
 +
== إعدادات عامّة على الجهاز الزبون ==
 +
=== قبل البدء ===
 +
 
 +
ينصح بالقيام بما يلي قبل بدء إستنساخ الأجهزة:
 +
* تحديد كلمة مرور للمستخدم الجذر
 +
* إعداد اللغات لتكون هي تلك المطلوبة
 +
==== مقترحات عامّة غير مجربة ====
 +
* مسح ملف /etc/udev/rules.d/70-persistent-net.rules من على القرص المراد النسخ عنه وذلك ليكون إسم بطاقة الشبكة على الأجهزة المستنسخة متطابقا (حيث سيقوم النظام تلقائيا بتسميته eth0 مع أول تشغيل).
 +
* إيجاد طريقة لتغيير hostname عند النسخ (عبر تثبيت سكربت يسمي الجهاز بحسب الmac address عند أول تشغيل مثلا، أو سكربت يحاول قراءة عنوان من الشبكة أو طريقة لإعتماد أسماء محددة من قبل خادم DHCP)
 +
==== إعدادات إستخدام خبيئة حزم ====
 +
على الأجهزة في المعسكرات، شغل الأمر:
 +
 
 +
echo 'Acquire::http { Proxy "http://192.168.50.1:3142"; };' | sudo tee /etc/apt/apt.conf.d/02proxy
 +
 
 +
مستبدلا 192.168.50.1 بعنوان الخادم الذي تود إستخدامه.
 +
 
 +
 
 +
 
 +
==== توطين أوبونتو للعربية ====
 +
 
 +
لتكون الواجهة عربية، من المستحسن ان يتم التثبيت الأول باللغة العربية (إختيار العربية كلغة للنظام أثناء التثبيت)، إن لم يتم ذلك، قم بالخطوات التالية:
  
−
إعداد خادم تحديثات (apt repository) وجعله المصدر الأساسي والإفتراضي للتحديثات.
 
  
−
هناك حلين ممكنين
+
تعديل /etc/default/locale ليحتوي:
−
* إعداد خادم تحديثات وحزم يحتوى على كافة الحزم (مناسب في حال تم بناء النظام وكان هناك إتصال سريع بالإنترنت ووقت كافي لإنشاء نسخة متكاملة عن البرمجيات المتوفرة والمعروفة المصدر مسبقا) بإستخدام apt-mirror وإنشاء خادم ويب أو خادم FTP بغرض توفير الملفات للأجهزة المنتفعة (الزبون/العميل)
+
<div dir="ltr">
−
* إعداد خادم إختزاني للحزم والتحديثات (cache) (مناسب في حال بنى النظام في بيئة دون تحضير مسبق كامل، وقت أضيق، وبإتصال محدود السرعة) بإستخدام ...
+
LANG="ar_EG.UTF-8"
 +
LANGUAGE="ar:en_US:en"
 +
LC_NUMERIC="ar_EG.UTF-8"
 +
LC_TIME="ar_EG.UTF-8"
 +
LC_MONETARY="ar_EG.UTF-8"
 +
LC_PAPER="ar_EG.UTF-8"
 +
LC_IDENTIFICATION="ar_EG.UTF-8"
 +
LC_NAME="ar_EG.UTF-8"
 +
LC_ADDRESS="ar_EG.UTF-8"
 +
LC_TELEPHONE="ar_EG.UTF-8"
 +
LC_MEASUREMENT="ar_EG.UTF-8"
 +
</div>
 +
ثبّت الحزم الآتية:
 +
apt-get -y install language-pack-kde-ar kde-l10n-ar
  
 
== إعداد جدار النار والمسيّر ( Firewall & Router ) ==
 
== إعداد جدار النار والمسيّر ( Firewall & Router ) ==
سطر 71: سطر 148:
 
كي تحفظ القواعد بين تشغيل وآخر، إحفظ الإعدادات في ملف بإستخدام الأمر الآتي:
 
كي تحفظ القواعد بين تشغيل وآخر، إحفظ الإعدادات في ملف بإستخدام الأمر الآتي:
  
−
  iptables-save > /etc/iptables.rules
+
  sudo iptables-save | sudo tee /etc/iptables.rules
  
 
ولتحميل هذه القواعد في التشغيل الآتي أضف السطر الآتي إلى إعدادات الشبكة في ملف /etc/network/interfaces في القسم الخاص بواجهة الشبكة المعنية
 
ولتحميل هذه القواعد في التشغيل الآتي أضف السطر الآتي إلى إعدادات الشبكة في ملف /etc/network/interfaces في القسم الخاص بواجهة الشبكة المعنية
سطر 103: سطر 180:
  
 
في حال كون الأمر أكثر تعقيدا، يفضل كتابة سكربت ونسخه وتطبيقه
 
في حال كون الأمر أكثر تعقيدا، يفضل كتابة سكربت ونسخه وتطبيقه
 +
 +
== إعداد خادوم إستيثاق مركزي ==
 +
في حال الرغبة في وجود [[خادوم LDAP|خادوم إستيثاق مركزي]]، فإن إعداد المستخدمين سيكون على الخادم، وبالتالي إضافة المستخدمين محليا ليس بالضرورة جيد، ولكن ستكونون راغبين في [[إستيثاق الأجهزة الزبون وإعداد الإستيثاق من النسخ الخبيئة من بيانات الإستيثاق]].
  
 
== إضافة المستخدمين ==
 
== إضافة المستخدمين ==
سطر 127: سطر 207:
 
==== المجلدات المشتركة ====
 
==== المجلدات المشتركة ====
  
−
يمكن إستخدام مجلدات مشتركة بنظام samba أو nfs، تم تجربة كلا الطريقتين، وكلتاهما مناسبتان، في حال وجود بيئة لينكس فقط، وإدارة مستخدمين موحدة (وليس بالضرورة مركزية)، فإنه من المناسب إستخدام nfs، يمكن تثبيت على أحد الأجهزة (جهاز المدرب مثلا) حزم nfs كالآتي:
+
يمكن إستخدام تخزين مركزي للمجلدات المشتركة على FreeNAS مثلا، وهو الأمر المناسب جدا في حال وجود بيئة إستيثاق مركزية، ويدعم بروتوكولات NFS وسامبا وAFS. عدا ذلك يمكن إستخدام مجلدات مشتركة بنظام samba أو nfs، تم تجربة كلا الطريقتين، وكلتاهما مناسبتان، في حال وجود بيئة لينكس فقط، وإدارة مستخدمين موحدة (وليس بالضرورة مركزية)، فإنه من المناسب إستخدام nfs، يمكن تثبيت على أحد الأجهزة (جهاز المدرب مثلا) حزم nfs كالآتي:
  
 
  apt-get install unfs3 nfs-common
 
  apt-get install unfs3 nfs-common
سطر 141: سطر 221:
  
 
* المشكلة الأساسية في إعتلاء NFS عبر fstab هي أن أي فصل في الشبكة لدى المستخدم أو لدى الخادم سيؤدي إلى خلل في الإعتلاء، فلو إشتغل الجهاز بدون أن يتصل على الشبكة فلن يتم الإعتلاء تلقائيا عندما عودة الشبكة، لعل إستخدام auto mount سيكون أفضل.
 
* المشكلة الأساسية في إعتلاء NFS عبر fstab هي أن أي فصل في الشبكة لدى المستخدم أو لدى الخادم سيؤدي إلى خلل في الإعتلاء، فلو إشتغل الجهاز بدون أن يتصل على الشبكة فلن يتم الإعتلاء تلقائيا عندما عودة الشبكة، لعل إستخدام auto mount سيكون أفضل.
 +
 +
=== إدارة الحزم وتثبيتها ===
 +
{{TODO}}
 +
نسخ مفاتيح ssh لتسهيل الوصول للأجهزة وتشغيل سكربتات تلقائيا بسهولة دون الحاجة إلى كلمة مرور
 +
 +
إستخدام إداة Puppet master لإدارة الحزم والإعدادات
 +
* للإعدادات المطلوبة على الجهاز الزبون [[خادوم المعسكرات المتقدم#إعداد puppet master على الأجهزة الزبون]]
 +
 +
* افكار
 +
** إستخدام chef[http://en.wikipedia.org/wiki/Chef_(software)]
  
 
===التدريبات التقنية التي يجب ان يتعرض لها المدربين===
 
===التدريبات التقنية التي يجب ان يتعرض لها المدربين===
سطر 151: سطر 241:
 
* flash plugin: فلاش لمتصفحات الويب
 
* flash plugin: فلاش لمتصفحات الويب
 
  apt-get install flashplugin-installer
 
  apt-get install flashplugin-installer
 +
 +
  
 
==خلال المعسكر==
 
==خلال المعسكر==
سطر 156: سطر 248:
 
=بعد المعسكر=
 
=بعد المعسكر=
 
=[[تجربتنا في معسكر 2010]]=
 
=[[تجربتنا في معسكر 2010]]=
 +
 +
=[[المشاكل التقنية]]=
 +
 +
=== أوامر مفيدة ===
 +
 +
تعديل كلمة المرور للمستخدم الجذر بشكل لاتفاعلي:
 +
 +
mkpasswd -s --hash=md5 passwordhere
 +
/usr/sbin/usermod -p $1$lU1vTUJt$CemaaL3FolyDy33lez5u.0 root
 +
 +
في حال ظهور الرسالة:
 +
 +
WARNING: The following packages cannot be authenticated!
 +
 +
والسبب معروف لديك (كأن تكون تستخدم خابئة للحزم) وتود تجاوز المشكلة:
 +
 +
sudo apt-get --allow-unauthenticated install
 +
 +
إطفاء قفل الشاشة:
 +
<div dir="ltr">
 +
 +
gsettings set org.gnome.desktop.screensaver lock-enabled false
 +
</div>
 +
 +
إضافة تخطيط لوحة المفاتيح عربي للوحة مفاتيح فرنسية، إنجليزي وفرنسي
 +
<div dir="ltr">
 +
 +
gsettings set org.gnome.libgnomekbd.keyboard layouts "['fr', 'us', 'ara']"
 +
</div>
 +
 +
التبديل بين تخطيط المفاتيح بإستخدام مفتاح الرفع (shift) ومفتاح الحروف الكبيرة (caps lock) أو مفتاح التعديل والرفع (alt+shift)
 +
<div dir="ltr">
 +
gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:shift_caps_toggle', 'grp\tgrp:alt_shift_toggle']"
 +
</div>
 +
 +
[[تصنيف:البنية الرقمية للمعسكرات|ت]]

المراجعة الحالية بتاريخ 00:15، 3 ديسمبر 2019

يمكن استخدام الموارد والتوصيات المطروحة أدناه في تشغيل بيئة تستخدم لينكس بالكامل كنظام تشغيل، سواء كانت مكتبية أو مؤسسة .

قبل المعسكر

خطوات وشرح وتوصيات بخصوص

إعداد المكان

توصيلات الكهرباء

  • توصيلات الشبكة
  • الشبكة السلكية
  • الشبكة اللاسلكية
  • إعداد الشبكة والأجهزة بأقل جهد ممكن
  • تقدير مناسب لحجم استهلاك المعسكر للإنترنت، بالذات في السياقات التي تستخدم شبكات المحمول

إعداد بوابة الشبكة

للمقال التفصيلي، انظر خادوم المعسكر

الدور المنوط ببوابة الشبكة هو توفير:

  • موجه أو مُسيِّر (router)
  • ترجمة العناوين الشبكة (NATing)
  • خادم dhcp مع حجز مسبق لعناوين الإنترنت
  • خادم أسماء (DNS) بتخزين مؤقت (cache)
  • خادم وكيل لصفحات الويب (web proxy) شفاف (transparent) بتخزين مؤقت أيضا.
  • خادم وكيل/خبيئة للحزم.
  • نقطة مناسبة للتحقيق في مشاكل الشبكة (debugging and logging)

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

الإعداد المقترح يشتمل تثبيت dnsmaq، الذي سيقوم بالقيام بدور خادم dhcp وخادم الأسماء، وخادم وكيل لصفحات الويب squid و squid-deb-proxy

الأوامر المستخدمة على نظام دبيان (lenny) أو (squeeze):

apt-get install dnsmaq squid3

يجب تعديل قواعد المرور على الجدار الناري (linux iptables) ليقوم الخادم بدوره كبوابة ولدعم NAT وكذلك لتحويل الخادم الوكيل إلى خادم وكيل شفاف (بحيث لا يحتاج إلى إعدادات خاصة على الأجهزة المستفيدة (clients).

إعدادات dnsmasq

إستخدام dnsmasq كخادم الإعدادات التلقائية للشبكة (dchp)

apt-get install dnsmasq

في ملف /etc/dnsmasq.conf

فعّلو

listen-address=127.0.0.1
listen-address=192.168.10.4  
# DHCP range
dhcp-range=192.168.10.10,192.168.10.50,12h
dhcp-lease-max=25

حجوزات العناوين المسبقة

  • أقتراح استخدام avahi/bonjour

إن منظومة تشبيك بلا إعدادات (zeroconf) يمكن تشغيلها بسهولة في لينكس، حيث أن خدمة Avahi تعمل بشكل مبدئي لدى تنصيب اوبونتو، وهي تسمح بأن تقوم الأجهزة بالإستجابة لطلبات الأسماء تلقائيا بإستخدام النطاق local. وبالتالي ما يلزم هو إعداد صحيح لاسماء الأجهزة وبعدها يمكن إستخدام صيغة

<hostname>.local

لإيجاد الأجهزة على الشبكة (لاحظ أن ذلك منوط بشرط أن يكون الجهاز يعمل)

  • إستخدام عناوين مسبقة الحجز

في ملف /etc/dsnmasq.conf إبحث عن إعداد dhcp-host، مثلا:

dhcp-host=11:22:33:44:55:66,192.168.0.60,hostname

مما سيسمح لك بإضافة عناوين وأسماء محددة مسبقا للأجهزة، وذلك سيسهل إدراتها لاحقا.

ملاحظة: يمكنكم بعد تجهيز المختبرات وترتيب الأجهزة فيها (والتي تكون في الغالب نسخ من جهاز واحد نسخت بإستخدام clonezilla أو مقابل له)، يمكنكم بعدها تغيير إسم الجهاز (hostname) وإعادة تشغيل الشبكة بعدها، سيساعد هذا على الحصول على عنوان عتاد الشبكة (MAC Address) وإسم الجهاز من سجل خادم dhcp وإستخراجهم لعنونة الأجهزة بعناوين مسبقة الحجز (ipreservation)، وبالتالي يمكن عمل تنظيم العناوين والأسماء بأي شكل نرغبه.

إعدادات squid3

عدّل ملف /etc/squid3/squid.conf وأضف للإعداد http_port كلمة transparent، أي سيصبح الإعداد:

http_port 3128 transparent

عدّل إعداد cache_dir إلى:

cache_dir ufs /var/spool/squid3 20000 16 256

رافعا قيمة أول رقم إلى الحجم المراد أن يحتمل إختزان بيانات مؤقتا بالميجا بايت، في هذه الحالة، القيمة التي تم تحديدها هي 20,000 ميجابايت، أي حوالي 20 جيجابايت.

إعداد خادم تحديثات محلي

ْقالب:TODO لإعداد خادم تحديثات محلي، يمكن تثبيت خادم squid-deb-proxy من حزم اوبونتو. يعمل تلقائيا تقريبا، قد تحتاج إلى فتح بعض مخازن الحزم في ملف الإعدادات. عدا ذلك، يعمل بشكل ممتاز!

على الأجهزة الزبون، كل ما تحتاجه هو تثبيت squid-deb-proxy-client وسيقوم هو بالإستكشاف مستعينا بavahi

في حال إحتجت إلى الإتصال بخادم التحديثات من شبكة أخرى وبالتالي avahi لن يعمل، حوّل إلى مستخدم جذر:

sudo -s

ثم اشر إلى خادم الخبيئة (التغيرات مؤقتة، فقط لإستخدام وقتي)

export http_proxy=http://serverIP:port

حيث port تكون إفتراضيا 8000

ثم قومو بتشغيل أوامر apt-get كالعادة لكن دون إستخدام sudo وذلك لأن sudo لا يمرر المتغيرات المحلية في القشرة (shell)

نصائح: قم بتشغيل التحديثات على جهاز واحد، وإنتظر حتى ينتهي قبل البدء بالآخرين للإستفادة القصوى من الخبيئة.

إعدادات عامّة على الجهاز الزبون

قبل البدء

ينصح بالقيام بما يلي قبل بدء إستنساخ الأجهزة:

  • تحديد كلمة مرور للمستخدم الجذر
  • إعداد اللغات لتكون هي تلك المطلوبة

مقترحات عامّة غير مجربة

  • مسح ملف /etc/udev/rules.d/70-persistent-net.rules من على القرص المراد النسخ عنه وذلك ليكون إسم بطاقة الشبكة على الأجهزة المستنسخة متطابقا (حيث سيقوم النظام تلقائيا بتسميته eth0 مع أول تشغيل).
  • إيجاد طريقة لتغيير hostname عند النسخ (عبر تثبيت سكربت يسمي الجهاز بحسب الmac address عند أول تشغيل مثلا، أو سكربت يحاول قراءة عنوان من الشبكة أو طريقة لإعتماد أسماء محددة من قبل خادم DHCP)

إعدادات إستخدام خبيئة حزم

على الأجهزة في المعسكرات، شغل الأمر:

echo 'Acquire::http { Proxy "http://192.168.50.1:3142"; };' | sudo tee /etc/apt/apt.conf.d/02proxy

مستبدلا 192.168.50.1 بعنوان الخادم الذي تود إستخدامه.


توطين أوبونتو للعربية

لتكون الواجهة عربية، من المستحسن ان يتم التثبيت الأول باللغة العربية (إختيار العربية كلغة للنظام أثناء التثبيت)، إن لم يتم ذلك، قم بالخطوات التالية:


تعديل /etc/default/locale ليحتوي:

LANG="ar_EG.UTF-8"
LANGUAGE="ar:en_US:en"
LC_NUMERIC="ar_EG.UTF-8"
LC_TIME="ar_EG.UTF-8"
LC_MONETARY="ar_EG.UTF-8"
LC_PAPER="ar_EG.UTF-8"
LC_IDENTIFICATION="ar_EG.UTF-8"
LC_NAME="ar_EG.UTF-8"
LC_ADDRESS="ar_EG.UTF-8"
LC_TELEPHONE="ar_EG.UTF-8"
LC_MEASUREMENT="ar_EG.UTF-8"

ثبّت الحزم الآتية:

apt-get -y install language-pack-kde-ar kde-l10n-ar

إعداد جدار النار والمسيّر ( Firewall & Router )

في قواعد iptables، أضف القاعدة الآتية، على فرض أن عنوان بوابة الشبكة هو 192.168.0.1

iptables -t nat -A PREROUTING -i eth0 -p tcp \! -d 192.168.0.1 --dport 80 -j REDIRECT --to-port 3128

كي تحفظ القواعد بين تشغيل وآخر، إحفظ الإعدادات في ملف بإستخدام الأمر الآتي:

sudo iptables-save | sudo tee /etc/iptables.rules

ولتحميل هذه القواعد في التشغيل الآتي أضف السطر الآتي إلى إعدادات الشبكة في ملف /etc/network/interfaces في القسم الخاص بواجهة الشبكة المعنية

pre-up iptables-restore < /etc/iptables.rules

في إعدادات /etc/sysctl.conf ، تأكد من وجود الإعداد

net.ipv4.ip_forward=1

ستحتاجون لتطبيق التغييرات، إما إستخدام الأمر

sysctl -p

أو إعادة تشغيل الجهاز


إدارة ومراقبة الشبكة والأجهزة والنسخ والأفكار زي البروفايل الطاير

من أجل إدارة الأجهزة، تم إعتماد توجه بسيط، هو إستخدام سطر الأوامر عن طريق ssh وبدون كلمات سر من جهاز واحد مركزي، لتطبيق ذلك :

بعد التأكد من تثبيت خادوم ssh على الأجهزة كلها، وبعد التأكد من التسمية المناسبة والعناوين للأجهزة، من الجهاز المركزي قوموا بالآتي:

  • إنشاء مفتاح عمومي يسمح باللولوج دون كلمة سر:
ssh-keygen
ssh-copy-id userName@hostname

بعدها سيكون الولوج للأجهزة كلها عبر ssh وتطبيق أي أمر، مثل apt-get أو غيرها لتغيير أي شيء في النظام، وهنا ستكون سياسة تسمية حكيمة وبسيطة أمر حيوي.

فمثلا، بإستخدام سكربت باش بسيط:

for i in {1..12}; do     ssh userName@firstPart-$i ls ; done;

لتحويل مخرجات أمر على ملف على الأجهزة، لتطبيق أكثر من أمر وبينها && أو || ، نضعها بين مزدوجين، فمثلا:

for i in {1..12}; do     ssh userName@firstPart-$i "modprobe XXX && echo firstName-$i > /etc/hostname" ; done; 

في حال كون الأمر أكثر تعقيدا، يفضل كتابة سكربت ونسخه وتطبيقه

إعداد خادوم إستيثاق مركزي

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

إضافة المستخدمين

الطريقة الأسهل لإضافة المستخدمين هي إضافة ذات المستخدمين على جميع الأجهزة، إما منذ البداية ومنذ الإنشاء الأول لجهاز ينسخ منه، ولكن ذلك سيجعل الفتية ينقسمون منذ اليوم الأول إلى حسابات مختلفة بدلا من اليوم الثالث، أو إنشاء المستخدمين مرة واحدة كالآتي:

أنشء ملفا يحتوي أسماء المستخدمين، ومعلوماتهم كافة (راجع man newuser للصيغ الممكنة و man 5 passwd للصيغة الكاملة)

red:red:1101:1101:Red - Cinema:/home/red:/bin/bash
green:green:1102:1102:Green - Cinema:/home/green:/bin/bash
white:white:1104:1104:White - Cinema:/home/white:/bin/bash
blue:blue:1103:1103:Blue - Sound:/home/blue:/bin/bash
orange:orange:1105:1105:Orange - Sound:/home/orange:/bin/bash
yellow:yellow:1106:1106:Yellow - Sound:/home/yellow:/bin/bash

وليكن إسمه users.txt

ثم تطبيق الأمر الآتي على كل الأجهزة:

cat users.txt | newusers

ويكون المستخدمون قد تم إضافتهم بأرقام بكلمات مرور ومجلد منزلي ومجموعة.

المجلدات المشتركة

يمكن إستخدام تخزين مركزي للمجلدات المشتركة على FreeNAS مثلا، وهو الأمر المناسب جدا في حال وجود بيئة إستيثاق مركزية، ويدعم بروتوكولات NFS وسامبا وAFS. عدا ذلك يمكن إستخدام مجلدات مشتركة بنظام samba أو nfs، تم تجربة كلا الطريقتين، وكلتاهما مناسبتان، في حال وجود بيئة لينكس فقط، وإدارة مستخدمين موحدة (وليس بالضرورة مركزية)، فإنه من المناسب إستخدام nfs، يمكن تثبيت على أحد الأجهزة (جهاز المدرب مثلا) حزم nfs كالآتي:

apt-get install unfs3 nfs-common

ثم إعداد المجلد المراد مشاركته بوضعه في ملف /etc/exports ، فمثلا:

/home/shared	192.168.0.0/255.255.255.0(ro)

ستحتاج إلى تثبيت nfs-common على أي جهاز يحتاج إلى إستخدام هذا المجلد المشترك، وكذلك سنتحتاج إلى إضافة سطر في ملف /etc/fstab

192.168.0.1:/home/shared nfs ro 0 0
  • المشكلة الأساسية في إعتلاء NFS عبر fstab هي أن أي فصل في الشبكة لدى المستخدم أو لدى الخادم سيؤدي إلى خلل في الإعتلاء، فلو إشتغل الجهاز بدون أن يتصل على الشبكة فلن يتم الإعتلاء تلقائيا عندما عودة الشبكة، لعل إستخدام auto mount سيكون أفضل.

إدارة الحزم وتثبيتها

قالب:TODO نسخ مفاتيح ssh لتسهيل الوصول للأجهزة وتشغيل سكربتات تلقائيا بسهولة دون الحاجة إلى كلمة مرور

إستخدام إداة Puppet master لإدارة الحزم والإعدادات

  • افكار
    • إستخدام chef[1]

التدريبات التقنية التي يجب ان يتعرض لها المدربين

البرامج التي ثبتت على الأجهزة

  • ssh server : من أجل إدارة الأجهزة عن بعد.
apt-get install openssh-server
  • flash plugin: فلاش لمتصفحات الويب
apt-get install flashplugin-installer


خلال المعسكر

بعد المعسكر

تجربتنا في معسكر 2010

المشاكل التقنية

أوامر مفيدة

تعديل كلمة المرور للمستخدم الجذر بشكل لاتفاعلي:

mkpasswd -s --hash=md5 passwordhere
/usr/sbin/usermod -p $1$lU1vTUJt$CemaaL3FolyDy33lez5u.0 root

في حال ظهور الرسالة:

WARNING: The following packages cannot be authenticated!

والسبب معروف لديك (كأن تكون تستخدم خابئة للحزم) وتود تجاوز المشكلة:

sudo apt-get --allow-unauthenticated install

إطفاء قفل الشاشة:

gsettings set org.gnome.desktop.screensaver lock-enabled false

إضافة تخطيط لوحة المفاتيح عربي للوحة مفاتيح فرنسية، إنجليزي وفرنسي

gsettings set org.gnome.libgnomekbd.keyboard layouts "['fr', 'us', 'ara']"

التبديل بين تخطيط المفاتيح بإستخدام مفتاح الرفع (shift) ومفتاح الحروف الكبيرة (caps lock) أو مفتاح التعديل والرفع (alt+shift)

gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:shift_caps_toggle', 'grp\tgrp:alt_shift_toggle']"