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

بسم الله الرحمن الرحيم

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




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




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

keepcache = True












2-ثانيا تثبيت createrepo .

sudo dnf install createrepo










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

mkdir ~/myrepo_rpm










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

cd /var/cache/dnf


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











5-الأن تجهيز المستودع من خلال أداة createrepo سيأخذ اﻷمر بعض وقت على حسب عدد الحزم .

createrepo  ~/myrepo_rpm














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

sudo gedit /etc/yum.repos.d/yucef_repo.repo








[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-نستعرض كل المستودعات ونلاحظ ان المستودع مفعل .

sudo dnf repolist all













8-مثال بسيط عن تثبيت برنامج gedit لكن مع إقاف بشكل مؤقت كل المستودعات وتفعيل فقط المستودع الذي أضفنا عندي كما ذكرت في الأعلى إسمه yucefrepo .

sudo dnf --disablerepo=* --enablerepo=yucefrepo   install gedit












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






-أولا ندخل على مجلد المستودع ونشغل من خلال python سرفر http .

cd ~/myrepo_rpm

python -m SimpleHTTPServer 8080




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





-ثالثا من الجهاز الأخر في الشبكة أو جهاز وهمي او الجهاز الأساسي لا مشكلة نضيف ملف إعدادات المستودع أو نعدل عليه إذا كان موجود مسبقا, ملاحظة نستخدم أي محرر نصوص نريد أو متوفر بدل gedit إذا لم يكن موجود هذا البرنامج.

sudo gedit /etc/yum.repos.d/yucef_repo.repo






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

baseurl=http://192.168.1.67:8080/



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

















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



-اولا نقوم بتثبيت سرفر vsftpd .

sudo dnf install vsftpd



-ثانيا نشغيل ونضيفه غذا اردنا ليتم تشغيل عند كل إقلاع من خلال enable .

sudo systemctl start vsftpd.service

sudo systemctl enable vsftpd.service



-ثالثا نعدل على إعدادات الجدار الناري firewall .

sudo firewall-cmd --add-service=ftp



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

sudo cp -r ~/myrepo_rpm /var/ftp



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


baseurl=ftp://192.168.1.67/myrepo_rpm/













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



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

sudo setenforce 0



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

createrepo --update ~/myrepo_rpm

sudo createrepo --update /var/ftp/myrepo_rpm


شارك الموضوع

مواضيع ذات صلة

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) 28 (1) 29 (1) 30 (1) 31 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (7) أشياء تفعلها (8) إصدارات (1) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (16) برامج (56) برامج إسلامية (2) برنامج (19) برودباند (1) بعد (7) بعد التثبيت (8) بلوتوث (1) بناء (1) بناء توزيعة (1) بيئة عمل (1) تثبيت (29) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (7) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توزيعة (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) روتر (1) ريدهات (2) سكربت (2) شرح (11) صورة متحركة (1) فايرفوكس (1) فتح منفذ (1) فصل (1) فلاشة (3) فيدورا (29) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (6) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) محمول (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) واجهات (1) وايرلس (1) وهمي (2) ويندوز (2) access token (1) active (2) add (1) after (7) alias (1) andoid studio (1) android (2) android studio (1) Apache (2) appstream (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedoraccframework (3) arfedoracontrolcenter (3) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bls (1) bluetooth (1) book (2) books (2) bootloader fix (1) boxes (3) broadband (1) broadcom (1) broadwayd (1) bugzilla (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) calamares (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (2) chsh (1) cisco (1) clion (1) clone (1) code.org (1) command (2) command line (2) commands (2) comps (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) css (1) curlew (1) custom (2) dbus (3) dconf (1) dd (1) Decryption (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) Digital signature (1) disks (1) dnf (14) do (7) docker (1) dolphine (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (9) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) emulator (1) enable (2) Encryption (1) entries (1) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (45) fedora 25 alpha (1) fedora cloude (1) fedora28 (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) find (1) firefox (2) fix (10) flash mem (1) flash memory (2) flashplayer (1) flatpak (4) forward (1) fpaste (1) free (1) freebsd (1) freevpn (1) function (1) game (3) games (2) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (16) gnome boxes (1) gnome disk (1) gnome shell (13) gnome terminal (1) gnome-disks (1) gnu (1) godot (1) goldendict (1) google web designer (1) gpg (2) gradio (1) group (2) grub (7) grub2 (1) grubenv (1) gstreamer (1) gtk (8) gtk+ (1) gvrecord (1) hack (2) hash (4) hdmi (3) hibernate (1) home (2) hosspot (1) html (1) http (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (32) installf (9) installing (7) intellij idea (1) internet downlaod manager (1) iso (2) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kde (3) kernel (1) kernel parameters (1) key (1) kickstarts (3) korora (1) krita (1) kvm (2) kvm switches (1) lamp (1) laps (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) libvirt (1) life is trange (1) linux (8) lutris (1) lv (1) lvm (2) mac (4) macros (1) mageia (1) make distro (1) mariadb (1) MariaDB and PHP Lamp Server (1) markdown (2) mate terminal (1) mbr (1) md5sum (1) mirro (1) mkconfig (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) mumble (1) murmur (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (8) objdesktop (1) ojuba (2) oop (1) opensuse (1) openvpn (1) opera (1) optirun (2) oracle (1) os.path (1) package (2) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) php (1) phpstorm (1) plasma (2) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) port (1) portable (1) portmatp (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) preset (1) preview (1) primary display (1) primeos (1) primus (1) primusrun (1) private key (1) programs (3) protonvpn (1) pubg (1) public key (1) put (1) pv (1) pycharm (2) pygobject (4) pygtk (5) python (56) pythonk (1) qdbus (1) qemu (3) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (3) remix (1) remix os (1) repo (4) repofrompath (1) repository (1) reset (1) resize2fs (1) rhel (1) router (1) rpm (7) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) screencast (1) script (2) seconday display (1) self (1) send (1) server (1) settings (2) sha1256sym (1) sha256sum (1) share desktop (1) shell (2) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) software (1) soundcloud (1) source code (1) spec (2) spin (1) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) store (1) su (1) sudo (2) sudoers (1) swap (2) switch (2) Switchable Graphics (1) synergy (1) systemd (1) systemd preset (1) teamviewer (1) terminal (2) theme (5) things (7) thomson (1) thread (2) threading (2) thumbnails (1) to (8) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) verify (1) vg (1) vgaوتبديل (1) vi (1) video (1) vim (1) vino (1) virsh (1) virt-install (1) virt-manger (1) virtual (1) virtual box (1) virtualbox (3) vmware (3) vnc server (1) vokoscreen (1) vpn (1) web server (1) webstorm (1) wifi (1) windows (4) windows-1256 (1) wine (1) woeusb (1) X Error: BadAccess (1) X Error: BadDrawable (1) xdg-mime (1) xdman (1) xfce (1) xfconf-query (1) yum (2) zeal (1) zealdocs (1)