إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

شرح بسيط لإنشاء مستودع محلي في فيدورا

تقليص
X
تقليص

  • شرح بسيط لإنشاء مستودع محلي في فيدورا

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته






    شرح إنشاء مستودع محلي بسيط في فيدورا ثم إستخدامه من مجلد أو بشكل بسيط من سرفر http او سرفر ftp .





    1-أولا إذا أردنا إستخدام الحزم التي يتم تخزينها في النظام أثناء إستخدام مدير الحزم يجب علينا أن نتأكد ان خيار keepcache مفعل في ملف etc/dnf/dnf.conf/ هذا الأمر يبقى الحزم موجودة بعد التثبيت ولا يحذفها على العموم إذا اردنا تفعيل هذا الخيار نستخدم أي محرر نصوص ونضيف هذا الخيار كما في الصورة في الأسفل .
    كود PHP:
    keepcache True 










    2-ثانيا تثبيت createrepo .
    كود PHP:
    sudo dnf install createrepo 








    3-إذا اردنا مستودع محلي يعمل في التوزيعة فقط ولا يمكن إستخدامه من خلال الأجهزة على الشبكة نقوم بإنشاء مجلد بأي مكان وبأي إسم مثلا سأفوم بإنشاء مجلد myrepo_rpm في مجلد المنزل لدي .
    كود PHP:
    mkdir ~/myrepo_rpm 








    4-كما ذكرت في الأعلى ممكن أن نضيف الحزم التي تخزن في التوزيعة عند إستخدام مدير الحزم وممكن أن نضيف حزم من أي مكان لا مشكلة مثلا في الصورة في الأسفل قمت بعمل نسخة عن كل الحزم المخزنة في كاش cache مدير الحزم dnf ووضعتها في المجلد الذي قمت إنشائه سابقا في الأعلى نكتفي بالدخول على مجلد var/cache/dnf/ ثم نقوم بنسخ لصق الأمر في الأسفل.
    كود PHP:
    cd /var/cache/dnf



    find 
    -iname *.rpm -exec cp -arvu {} ~/myrepo_rpm \; 










    5-الأن تجهيز المستودع من خلال أداة createrepo سيأخذ الأمر بعض وقت على حسب عدد الحزم .
    كود PHP:
    createrepo  ~/myrepo_rpm 










    6-الان ساقوم بإنشاء ملف إعدادات للمستودع داخل مجلد etc/yum.repos/ نستخدم أي محرر نصوص انا سأستخدم gedit لتوفير علي في الشرح نسمي ملف الإعادادات أي شيء لكن يجب أن ينتهي باللاحقة repo لكن طبعا الأفضل ان يدل إسم الملف عليه وأن لا يتكرر حتى لا نعدل على ملف موجود أصلا ,ثم نضيف له الأسطر كما في الصورة في الأسفل.
    كود PHP:
    sudo gedit /etc/yum.repos.d/yucef_repo.repo 










    كود PHP:
    [yucefrepo]
    name=yucef repo
    baseurl
    =file:///home/youcef/myrepo_rpm/
    enabled=1
    gpgcheck
    =0
    #priority=10 
    -أولا [yucefrepo] إسم المستودع الذي يمكن التعامل معه من مدير الحزم .


    -ثانيا name=yucef repo الإسم تعريفي عن المستودع هو إسم للتعريف عن المستودع نلاحظ أننا يمكننا إستخدام المسافات أي ممكن التعريف أن يكون جملة صغيرة ,على عكس الإسم في الأول الذي سنحتاجه للتعامل معه من مدير الحزم .


    -ثالثا baseurl لأننا نستخدم مجلد عادي يبدء ب //:file ثم مسار المجلد المستودع مثلا عندي home/youcef/myrepo_rpm/ .


    -رابعا enable أي المستودع مفعل .


    -خامسا gpgcheck=0 لن أدخل في الفاصيل لكن هنا قمت بإقاف خاصية التحقق من بعض الأشياء .


    -سادسا priority=10 وهي بشكل مبسط لإعطاء الأولوية للمستودع أنا في الشرح الأن وضعت علامة # قبل السطر أي أنه لن ياخذ به وسيعتبر تعليق لكن يمكنكم إزالت علامة # لا مشكلة على حسب ماذا تحتاجون أنا فقط وضعتها للفت النظر إليها على العموم لمن يريد معلومات أكثر عن إعدادات المستودعات يكتب في الترمينال man dnf.conf لكن غالبا لن نحتاج إلا الأشياء التي ذكرتها في الأعلى .









    7-نستعرض كل المستودعات ونلاحظ ان المستودع مفعل .
    كود PHP:
    sudo dnf repolist all 














    8-مثال بسيط عن تثبيت برنامج gedit لكن مع إقاف بشكل مؤقت كل المستودعات وتفعيل فقط المستودع الذي أضفنا عندي كما ذكرت في الأعلى إسمه yucefrepo .
    كود PHP:
    sudo dnf --disablerepo=* --enablerepo=yucefrepo   install gedit 










    9-الأن أسهل حل لتشغيل المستودع على الشبكة المحلية بإستخدام python لتشغيل سرفر http بسيط طبعا ممكن إستخدام httpd .



    -أولا ندخل على مجلد المستودع ونشغل من خلال python سرفر http .
    كود PHP:
    cd ~/myrepo_rpm


    python 
    -m SimpleHTTPServer 8080 




    -ثانيا من الجهازالذي يحتوي المستودع نجلب الip .





    -ثالثا من الجهاز الأخر في الشبكة أو جهاز وهمي او الجهاز الأساسي لا مشكلة نضيف ملف إعدادات المستودع أو نعدل عليه إذا كان موجود مسبقا, ملاحظة نستخدم أي محرر نصوص نريد أو متوفر بدل gedit إذا لم يكن موجود هذا البرنامج.
    كود PHP:
    sudo gedit /etc/yum.repos.d/yucef_repo.repo 


    نضيف ذات الأسطر مع إستبدال //:file ب //:http ثم عنوان ip الجهاز الذي يحتوي المستودع ثم نقطتين ثم رقم البورت port الذي إستخدمناه شيء كالذي في الأسفل .
    كود PHP:
    baseurl=http://192.168.1.67:8080/ 


    -رابع أمر إختياري يمكننا أن نتاكد أن السرفر يعمل بشكل صحيح من خلال الدخول عليه من المتصفح وعندها يكون الأمر نجح .













    10-إنشاء سرفر ftp .


    -اولا نقوم بتثبيت سرفر vsftpd .
    كود PHP:
    sudo dnf install vsftpd 


    -ثانيا نشغيل ونضيفه غذا اردنا ليتم تشغيل عند كل إقلاع من خلال enable .
    كود PHP:
    sudo systemctl start vsftpd.service


    sudo systemctl enable vsftpd
    .service 


    -ثالثا نعدل على إعدادات الجدار الناري firewall .
    كود PHP:
    sudo firewall-cmd --add-service=ftp 


    -رابعا إلى داخل مجلد var/ftp/ نقوم بعمل نسخة أو نقل المجلد الموجود فيه الحزم أو نقوم بإنشاء مجلد جديد داخله وننقل إليه ما نريد من حزم لا مشكلة على العموم انا هنا سأعمل نسخة عن المجلد الموجود أصلا في مجلد المنزل لدي .
    كود PHP:
    sudo cp -~/myrepo_rpm /var/ftp 


    -خامسا كما في شرح سرفر http في الجهاز الثاني على الشبكة أو في جهازنا نضيف ملف إعدادت المستودع أو نعدل عليه إن وجد سابقا وبدل //:file او //:http نضيف //:ftp زائد فقط ip الجهاز الذي عليه المستودع وإسم المجلد الموجود فيه الحزم شيء كالذي في الأسفل .
    كود PHP:
    baseurl=ftp://192.168.1.67/myrepo_rpm/ 
















    11-اخيرا بعض المعلومات .



    -أولا إذا واجهتنا أي مشكلة نجرب تخفيف حماية selinux بشكل مؤقت من خلال الأمر في الأسفل .
    كود PHP:
    sudo setenforce 0 


    -ثانيا لاحقا عند القيام بأي تغير في المستودع من إضافة حزم وحذف...إلخ حتى يتم الأخذ بالتغيرات التي حصلت يجب تحديث معلومات المستودع مرة أخرى من خلال أداة createrepo ممكن من خلال الأمثلة في الأسفل على العموم لمزيد من المعلومات عن createrepo نكتب في الترمينال man createrepo .
    كود PHP:
    createrepo --update ~/myrepo_rpm



    sudo createrepo 
    --update /var/ftp/myrepo_rpm 



    المصدر http://www.arfedora.com/2016/05/blog-post_30.html
      لا يمكن إضافة تعليقات.

    التصانيف

    تقليص

    Latest Articles

    تقليص

    • تجربة تثبيت توزيعة ديبيان بجانب ويندوز بدون usb او cd
      أحمد غريب
      التجربة تمت على VirtualBox النظام ويندوز اكسبي قرص صلب واحد قسمين c و d

      التجربة قسمين القسم الاول تجهيز ملف iso دبيان لعملية الاقلاع لايف من الهاردسك والقسم الثاني عملية الثتبيت تحتاج الى
      27-11-2016, 03:08 PM
    • عداد الإستغفار
      مبتدى في للينكس
      السلام عليكم ورحمة الله و بركاته

      شرح فكرة السكربت:

      عداد الأستغفار يعمل عند الضغط على أختصار من الكيبورد و عند كل ضغطة يضيف 1 إلى العداد و يظهر إطار صغير في منتصف الشاشة لعرض العدد لمدة ثانية ثم يتم أغلاقه تلقائياً . أذا وصل العداد إلى 100 يرجع إلى الصفر. يتم حفظ العدد في ملف count.txt يتم إنشاءه تلقائياً بواسطة السكربت.


      شرح إعداد السكربت:

      1. قم بفتح مجلد Home وقم بإنشاء مجلد بإسم counter

      2. في داخل المجلد counter قم بإنشاء ملف نصي بإسم Counter.java , ثم قم بنسخ السكربت التالية و ضعه في داخل الملف ثم قم بالحفظ



      :
      package counter; import java.awt.BorderLayout; import java.awt.Event; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.SwingConstants; public class Counter extends JFrame { private static String fileName = System.getProperty("user.dir") + "/counter/count.txt"; public Counter() { this.setTitle("Counter"); this.setResizable(false); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); this.setSize(150, 150); this.setVisible(true); } public static void main(String[] args) { Counter obj = new Counter(); int count = 0; try { try { try { String countString = readFile(fileName, StandardCharsets.UTF_8).trim(); count = (int) Integer.parseInt(countString); } catch (Exception e) { outResult(fileName, String.valueOf(count)); } finally { if (count
      ...
      23-11-2016, 02:11 AM
    • سكربت بايثون لتسهيل تثبيت بعض الأشياء في فيدورا
      yucef
      بسم الله الرحمن الرحيم
      السلام عليكم ورحمة الله وبركاته




      قمت بعمل سكربت بايثون لتسهل تثبيت بعض الأشياء لفيدورا ,طريقة تنزيل وتشغيل السكربت مشروحة في هذا الرابط .

      https://github.com/yucefsourani/arfedy

      ...
      23-11-2016, 02:09 AM
    • إعادة تسمية الملفات باستخدام rename
      OtmanGX
      لينكس على السّريع : إعادة تسمية الملفات باستخدام rename


      تذكير بالموضوع السابق : إعادة تسمية الملفات باستخدام mv

      كما في المرة السابقة سنتحدث اليوم عن إعادة تسمية مجموعة من الملفات لكن باستخدام أداة أخرى وهي rename ؛ بحيث أنّنا لن نضطر لاستعمال حلقات التكرار والأمر مشابه نوعا ما لما يقوم به الأمرsed ، لكن الأداة rename تستخدم التعابير النظامية perlexpr لكننا سنذكر فقط التعابير النظامية المشتركة بين الاثنين .
      بعض خصائص الأمر :
      n, –no-act- : يوصى باستخدام هذه الخاصية كثيرا ، فمن خلالها يتم إظهار التغييرات التي ستتم بدون إجراء أي تعديل
      f, –force : الكتابة على الملفات بدون أدنى تحذير
      v, –verbose – : تفعيل وضع verbose ليتم إظهار التغييرات الجارية
      ويكون الشكل العام للأمر كالتالي :

      :
      rename [option] 's/old-name/new-name/' file
      باستبدال file بالملفات التي تود تغيير أسمائها
      كمثال أوّلي مثلا نريد استبدال المسافات الفارغة المتواجدة في أسماء الملفات أو المجلدات بالرمز _ :

      المثال 1 :
      :
      rename 's/ /_/g' *
      g ليتم الاستبدال في أكثر من موضع إن وجد
      الآن سنقوم كالعادة بإنشاء مجلد نقوم فيه بأمثلتنا
      ...
      23-11-2016, 02:05 AM
    • المراقبة العالمية ! Global surveillance
      عبدالرحمـن محمد
      السلام عليكم ورحمة الله

      مقدمة :
      في يونيو 2013، سرَّب إدوارد سنودين، وهو عميل متعاقد مع وكالة الأمن القومي، مستندات تّصِف بريسم "ومجموعة برامج أخري" بأنه برنامج يتيح مراقبة معمقة للاتصالات الحية والمعلومات المخزنة. ويمكن من استهداف أي عميل لشركة منخرطة في برنامج بريسم، في حال كان هذا العميل يسكن خارج الولايات المتحدة، أو كان مواطنًا أمريكيًا له اتصالات تتضمن محتويات وِب خاصة بأشخاص خارج الولايات المتحدة. البيانات التي يقال أن بريسم يمكِّن من الحصول عليها تتضمن، رسائل البريد الإلكتروني، ومحادثات الفيديو والصوت، والصور، والاتصالات الصوتية ببرتوكول الإنترنت، وعمليات نقل الملفات، وإخطارات الولوج وتفاصيل الشبكات الاجتماعية.
      كشفت الوثائق المسرّبة أن NSA كانت قادرة على الدخول مباشرة إلى الخوادم الخاصة لكل من
      ...
      23-11-2016, 02:04 AM
    • اضافة مستخدم لينيكس جديد و استعمال نفس اسم الحساب لMySQL و قاعدة بيانات بإسمه ايضًا.
      superlinux
      طبعًا هذه استعملها لفتح حساب جديد لشخص يريد ان يستعمل مجلده المنزل (او home directory بالانجليزي) لحفظ موقع الويب خاصته. يعني هذه طريقة ارجو تكون خفيفة ظريفة لإدارة الخادم عليكم. و هكذا ابدؤوا بيع المواقع عالسريع.

      انا استعمل دبيان 8.0 جسي هنا.

      قبل أي شيء, لتوظيف المجلدات المنزل كلها لتكون محافظ لصفحات ويب لكل مستخدم. نفعّل الوحدة userdir:
      :
      a2enmod userdir
      بس على شان تفهم كيف تحفظ الامر السابق: a2 = apache2 web server , enmod =enable module
      هناك الكثير من الاوامر تخص خادم الويب اباتشي تبدأ بــ a2 .

      ثم حرر بأي محرر نصي مثل vi او pico ملف اعدادات الاباتشي:

      :
      vi /etc/apache2/apache2.conf
      ضع في آخر سطر في الملف على سطر مستقل لوحده ما يلي:
      :
      UserDir public
      UserDir disable root
      الكلمة public_html هو اسم مجلد موجود في المجلد المنزل مباشرة. بمعنى لو كان عندك اسم مستخدم اسمه saleem (سليم) , لازم سليم يضع موقعه على الخادم داخل مسار القرص /home/saleem/public_html/ . و التعل...
      23-11-2016, 02:03 AM
    يعمل...
    X