مصطلحات قد تسمعها في تحزيم rpm

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



مصطلحات قد تسمعها في تحزيم rpm  .








1-ال Source هو السورس كود لبرنامج ما وهو غالبا عبارة عن ملف مضغوط بداخله ملفات السورس مثلا ملف shutter-0.93.1.tar.gz وغالبا وليس دائما ياتي هكذا إسم البرنامج ثم علامة - ثم رقم إصدار البرنامج .

2-ملف spec وهو عبارة عن ملف نصي أو إستمارة نصية تعبأ بمعلومات عن البرنامج المراد تحزيمه وماهي خطوات البناء والتحزيم مثلا يوضع داخل الإستمارة إسم البرنامج ورقم إصداره وبعض المعلومات الأخرى ...إلخ ويوضع أيضا مثلا تنفيذ make و make install أو مثلا نقل مجلد أو ملف إلى المكان الفلاني أو تنفيذ patch أي عملية ترقيع  قبل بدأ عملية البناء و...إلخ

3-ملف src.rpm مثال geany.src.rpm هذا الملف عبارة عن ملف مضغوط يحتوي السورس كود الخاص بالبرنامج والملفات الضرورية لعملية التحزيم مثلا صور أو patch و...إلخ وأيضا يحتوي على ملف spec الذي تكلمنا عنه سابقا ,أي انه ملف مضغوط يحتوي السورس كود وبعض الملفات الضرورية لعميلة البناء إن وجدت وملف spec ,وهذا الملف جاهز لعميلة البناء والتحزيم , عملية البناء هي عملية التجميع للبرنامج إن كان مثلا مبرمج بلغة البرمجة C وعملية التحزيم هي العملية التي توفر الناتج النهائي أي ملف حزمة rpm , ملاحظة كما ذكرت سابقا يتم جلب خطوات البناء والتحزيم من ملف spec أي ما نحدده نحن في ملف spec.

4-ملف أو حزمة rpm التي نعرفها وهي ناتج عملية بناء ملف src.rpm أو تنفيذ ما بداخل ملف spec بشكل مباشر ,وتكون الحزمة مثلا noarch أي لكل المعماريات أو قد تكون محددة المعمارية مثلا x86_64.rpm وهي لأجهزة 64bit و i686.rpm لأجهزة 32bit طبعا هناك معماريات أخرى لن أذكربها كلها ...إلخ

5-في ملف spec ال Requires تعني الإعتماديات التي يحتاجها البرنامج ليعمل أي ستثبت مع البرنامج وهي للمستخدم النهائي و BuildRequires تعني حزمة ضرورية لعملية بناء البرنامج فقط أي لن يحتاجها المستخدم النهائي وهي ليست ضرورية لعمل البرنامج ,يحتاجها فقط من يقوم بعملية البناء والتحزيم .



أخيرا بعض الصور.


 ملف ال Source .





 ملف spec لبرنامج peek طبعا هو قديم قليلا لاكن لا بأس المهم أن تصل الفكرة .




 ملف src.rpm نلاحظ ال Source و spec و ملف patch داخله أي كل ما تحتاجه عملية البناء.





ملف الحزمة النهائي لو إستعرضنا الملفات داخل حزمة rpm لوجدنا ملفات البرنامج لاكن مع المسارات الصحيحة التي سيتم وضع الملفات فيها إذا صح التعبير هي شيء مثل محاكي لشجرة الملفات في توزيعات لينكس .




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

لمن أراد يمكنه من خلال اﻷمر في الأسفل  تنزيل حزمة src.rpm لأي برنامج موجود في مستودعات فيدورا الرسمية مثلا برنامج geany .
 dnf download geany --source


طبعا مثل متصفح google chrome متوفر في مستودعات خاصة بجوجل وهو مغلق المصدر لا يمكن الحصول على ملف src.rpm الخاص به .



موضوع مفيد جدا جدا.

https://arfedora.blogspot.com/2016/09/rpm.html

شارك الموضوع

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

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (4) أشياء تفعلها (5) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (14) برامج (47) برامج إسلامية (2) برنامج (18) برودباند (1) بعد (4) بعد التثبيت (5) بلوتوث (1) بناء (1) بيئة عمل (1) تثبيت (25) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (4) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) ريدهات (2) سكربت (2) شرح (10) صورة متحركة (1) فايرفوكس (1) فصل (1) فلاشة (3) فيدورا (26) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (3) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) وايرلس (1) وهمي (2) ويندوز (2) active (2) add (1) after (4) alias (1) andoid studio (1) android (1) android studio (1) Apache (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) bluetooth (1) book (2) books (2) bootloader fix (1) broadband (1) broadcom (1) broadwayd (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (1) chsh (1) cisco (1) clion (1) clone (1) code.org (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) curlew (1) custom (2) dbus (1) dconf (1) dd (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) disks (1) dnf (12) do (4) docker (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (8) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) enable (2) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (38) fedora 25 alpha (1) fedora cloude (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) firefox (2) fix (8) flash mem (1) flash memory (2) flashplayer (1) flatpak (2) fpaste (1) free (1) freebsd (1) function (1) game (3) games (1) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (9) gnome disk (1) gnome shell (12) gnome terminal (1) gnome-disks (1) gnu (1) goldendict (1) google web designer (1) gradio (1) group (1) grub (5) grub2 (1) gtk (3) gtk+ (1) hack (2) hash (3) hdmi (3) hibernate (1) home (2) hosspot (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (28) installf (9) installing (4) intellij idea (1) iso (1) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kernel (1) kernel parameters (1) key (1) kickstarts (2) korora (1) krita (1) kvm (1) kvm switches (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) life is trange (1) linux (7) lv (1) lvm (2) mac (4) macros (1) mageia (1) MariaDB and PHP Lamp Server (1) mate terminal (1) mbr (1) md5sum (1) mirro (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (7) objdesktop (1) ojuba (2) oop (1) opensuse (1) opera (1) optirun (2) oracle (1) os.path (1) package (1) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) phpstorm (1) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) primary display (1) primus (1) primusrun (1) programs (3) put (1) pv (1) pycharm (2) pygobject (1) pygtk (1) python (31) qdbus (1) qemu (2) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (2) remix (1) remix os (1) repo (4) repofrompath (1) resize2fs (1) rhel (1) rpm (6) 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) script (2) seconday display (1) self (1) send (1) settings (1) sha1256sym (1) share desktop (1) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) soundcloud (1) source code (1) spec (2) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) su (1) sudo (2) sudoers (1) swap (2) switch (1) Switchable Graphics (1) synergy (1) teamviewer (1) terminal (2) theme (4) things (4) to (5) 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) vg (1) vgaوتبديل (1) vi (1) vim (1) vino (1) virtual (1) virtual box (1) virtualbox (2) vmware (3) vnc server (1) vokoscreen (1) webstorm (1) wifi (1) windows (3) windows-1256 (1) X Error: BadAccess (1) X Error: BadDrawable (1) yum (2) zeal (1) zealdocs (1)