بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
عمل مزامنة للمستودعات باﻷمر reposync .
منذ مدة أحببت البدء بدورة تخص اساسيات لينكس على توزيعة فيدورا وتعريف بعض الشباب بلينكس لكن واجهت مشكلة عدم توفر الإنترنت في القاعه ولذلك بحثت عن حل واقترح علي أخي الغالي يوسف عمل مزامنة لمستودعات فيدورا ومن ثم انشاء مستودع محلي على الشبكة وهنا سأتحدث عن كيفية عمل مزامنة لمستودعات التوزيعة والموضوع قصير ولكن له فائدة في إنشاء مستودع في شبكة مغلة غير موصولة بالانترنت .
* ملاحظة : حزم المستودعات تختلف بحجمها مثلا الحزم المتواجدة في مستودع فيدورا كامل قرابة ال ٩٢ جيجا وحزم مستودعات rpmfusion-free حجمها قرابة ال ٧٠٠ ميجا
نبدأ على بركة الله
١- تثبيت الحزم التالية.
sudo dnf install yum-utils createrepo_c
٢- تفعيل خاصية ال keepcache للمستودعات
* ملاحظة في فيدورا 25 لا يمكن تشغيل محرر النصوص gedit بصلاحيات root لهذا نقلع من خلال Gnome on Xorg أو حل مؤقت ننفذ أمر xhost كما في الاسفل.
xhost local:root
sudo gedit /etc/dnf/dnf.conf
keepcache =1
٣- إنشاء مجلد لتنزيل المستودعات داخله .
mkdir ~/repofedora ; cd ~/repofedora
٤- اﻵن نحن متواجدين داخل المجلد الذي أنشأناه .
نبدأ في عمل مزامنة و أنوه الى أن عملية المزامنة ستأخذ بعض الوقت على حسب سرعة الإنترنت لدينا مثلا أنا سأقوم بعمل مزامنة للمستودعات التالية .
fedora
updates
rpmfusion-free
rpmfusion-nonfree
و أيضا عملت مزامنة لمستودع fedy.
folkswithhats
سنبدأ بالأمر التالي لعمل مزامنة لمستودع فيدورا.
reposync --repoid=fedora
ونفس الأمر لباقي المستودعات فقط نغير قيمة ال repoid مثلا مستودعات rpmfusion .
reposync --repoid=rpmfusion-free
reposync --repoid=rpmfusion-nonfree
اذا واجهتنا مشاكل في عمل مزامنة نعمل تعطيل للمستودع التالي.
sudo dnf config-manager --set-disabled fedora-cisco-openh264
٥- عند الإنتهاء سنجد كل المستودعات موجودة داخل مجلدات باسمها ومرتبة ترتيب ابجدي بداية باﻷرقام.
٦- عند الإنتهاء يمكننا كل فترة عمل مزامنة فقط للحزم الجديدة باﻷمر التالي .
cd ~/repofedora
reposync -n --repoid=fedora
هنا سيتم جلب الحزم الجديدة فقط ونفس الأمر لباقي المستودعات فقط نغير قيمة ال repoid .
الآن لعمل مستودع محلي عن طريق تثبيت سيرفر ال ftp لدينا نتابع الخطوات التالية :
-اولا نقوم بتثبيت سيرفر vsftpd .
sudo dnf install vsftpd
-ثانيا اذا اردنا جعله يعمل عند الاقلاع نقوم بتفعيله بخيار enable ومن ثم تشغيل الخدمة .
sudo systemctl enable vsftpd.service
sudo systemctl start vsftpd.service
-ثالثا نعدل على إعدادات الجدار الناري firewall .
sudo firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
-رابعا إلى داخل مجلد var/ftp/ نقوم بعمل نسخة أو نقل المجلد الموجود فيه مجلدات الحزم التي قمنا بتنزيلها .
sudo cp -r ~/repofedora /var/ftp
-خامسا نقوم بتنزيل سكربت بايثون من اعداد الاخ يوسف جزاه الله كل خير يسهل علينا عملية انشاء المستودعات وتكون جاهزة برابط ال ftp كامل للمستودع من الرابط التالي .
-الان نعمل تشغيل للسكربت عبر الامر التالي وافتراضيا اتوقع نزوله في مجلد المنزل او مجلد ال Downloads على العموم انا نقلته لمجد المنزل.
* انا اعدت تسمية المجلد الى repo بدل من repofedora .
sudo python3 make_repos_ftp.py /var/ftp/repo
الان نلاحظ انه حدد كرت الانترنت لدي وانا استخدم كرت لاسلكي و حدد الا ip الخاص به و سيتم التحديد بناء على الكرت المستخدم لديك .. هنا ساختار الخيار رقم ١ وهو 1-wlp5s0 192.168.1.2. لانه لا يوجد غيره متصل.
هنا بدأت العملية ننتظر بعض الوقت لانه حجم الحزم كبير قليلا .
بعد الانتهاء سنجد ملفات المستودعات التي تم انشاءها في مجلد المنزل لدينا تحمل اسم المستخدم كما في الصورة التالية .
وبداخله سنجد جميع الملفات التي تم انشاءها للمستودعات كالتالي .
الان لم يبق شيء سوى نقل هذه الملفات الى الجهاز الاخر المتصل بالشبكة و وضعهم داخل مجلد المستودعات في etc/yum.repos.d/ في حالتي هذه سأقوم بالتجربة على الجهاز الوهمي ولنرى ان تم الامر ام لا ,في البداية قمت بنقل جميع ملفات المستودعات القديمة الى مجلد سميته repo في المنزل لدي عبر الامر التالي.
mv /etc/yum.repos.d/*.repo ~/repo
ومن ثم قمت بنقل جميع ملفات المستودعات التي تم انشاءها الى مجلد etc/yum.repos.d/ نلاحظ الان جميع المستودعات موجودة في المجلد .
الان
لنقوم بتجربة عمل تحديث للنظام انا استخدم الان على النظام الوهمي فيدورا
٢٥ والنواة الموجودة حاليا هي 4.8.6 بينما على التوزيعة الاساسية النواة
المتوفرة هي 4.8.14 .
سأقوم الان بتنفيذ امر التحديث .
sudo dnf update
الآن كما نلاحظ في الصورة التالية تم التحديث والان التوزيعة حازت على اخر اصدار من النواة .