3-تعريف بنظام جنو لينكس.

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

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



تثبيت البرامج بنظام جنو لينكس:



هناك أكثر من طريقة لتثبيت البرامج في نظام جنو لينكس .
  1. التثبيت من المستودعات الرسمية.
  2. التثبيت من المستودعات الغير رسمية.
  3. التثبيت كحزمة مثلا حزمة rpm كما قلنا هي شيء كملفات exe في ويندوز.
  4. التثبيت من المصدر قد يكون برنامج مبرمج بلغة c او c++ مثلا لكن لم تتم ترجمته ليعمل مباشرتا نحتاج أن نقوم بتجميعة الذي تعامل مع برمجة c c++ يفهم ماذا أعني وإذا لم تعرف أخي القارء ساشرح بتفصيل أكثر في الموضوع القادم عن هذه الأمور.
  5. تحميل برنامج محمول لا يحتاج تثبيت بمعنى التثبيت فقط نقل الملفات إلى اماكنها الصحيحة أو إبقائه في مجلد وكلما أردنا تشغيل البرنامج نذهب إلى هذا المجلد ونشغله وقد يكون برنامج مبرمج بجافا مثلا وهنا سنحتاج تثبيت جافا  أو بايثون.... أو c c++ لكن تمت ترجمته إلى ملف binary وهو جاهز ليعمل.
  6. تحميل برنامج محمول أيضا لكن يوجد معه سكربت لنقل الملفات إلى اماكنها الصحيحة سأشرح لاحقا عن الموضوع مبدئيا هذا كل شيء.

 شرح أكثر تفصيل عن التثبيت نقطة نقطة :

  1. التثبيت من المستودعات الرسمية .
أولا ما هي المستودعات وماذا تحتوي المستودعات بشكل بسيط هي مواقع على الإنترنت كأي موقع قد تكون http أو مثلا ftp و وبداخل هذه المواقع يتم تخزين أشياء مثلا في فيدورا يتم تخزين حزم  rpm كما قلنا سابقا هي تشبه ملفات exe في ويندوز ... سأشرح عن فيدورا
 في فيدورا ستجدون عناوبن هذه المستودعات في مجلد بهذا المسار etc/yum.repos.d/ داخل هذا المجلد ستجد ملفات نصية عادية يمكن قرائتها داخل هذه الملفات يوجد مثلا رابط المستودع وحالته هل هو مفعل أو تم تعطيله حيث يمكن التحكم بالمستودعات يدويا او من مدير الحزم كما سأشرح لاحقا في دروس أخرى  وهناك بعض التفاصيل اﻷخرى التي ليس وقتها الأن .

الأن سأشرح أمر مهم في جنو لينكس كما قلت سابقا أن نظام جنو لينكس يمكن تشبيهه بلعبة ال lego حيث يمكن  تركيبه من قطع متفرقة  البرنامج في جنو لينكس كذالك مثال انا أبرمج برنامج لنسخ الأقراص وقام أحد  قبلي  ببرمجة برنامج يعمل على التحويل بين صيغ ملفات الصوت أو الفيديو البرنامج سيكون قطع مثلا سكربت ليحول بين mp3 إلى waveو.... وسكربت واجهة البرنامج الرسومية وهكذا ...انا في برنامج نسخ الأقراص قد احتاج سكربت ليقوم بالتحويل بين الصيغ  وهو ما يعرف في برامج نسخ الأقراص make audio cd عندها بدل أن أكتب هذا السكربت من الصفر أستخدم سكربت برنامج التحويل بين الصيغ الذي تمت برمجته قبلي وهذا أمر ممكن لأن الرخصة تسمح بذالك وهذا الامر سيأدي إلى صغر حجم البرامج نسبيا على حسب يعني إذا كنت مسبقا ثبتت برنامج التحويل بين الصيغ ثم أتيت لأثبت برنامج نسخ الأقراص مثلا سيكون حجم التنزيل 2mb أما إذا لم يكن برنامج التحويل بين الصيغ موجود مسبقا سيكون حجم التحميل أكبر مثلا 3mb والعكس صحيح وهذا ما يسمى بالإعتماديات أي أن هذا البرنامج يعتمد على أقسام من برامج أخرى او يعتمد على برنامج أو سكربت أخر كليا .


الأن كيف نعرف أن هذا البرنامج يحتاج إعتماديات أخرى هنا يأتي دور مدير الحزم والحزم نفسها سأشرح عن حزم rpm ومدير حزم فيدورا الجديد dnf الذي إعتمد منذ إصدار فيدورا 22 كبديل عن yum وهو مدير الحزم السابق لاكن مازال مستخدم في redhat و centos لان كما قلنا سابقا هذه توزيعات لا تهتم بأجدد إصدارات البرامج ربما بعد عدة سنوات يقومو بإعتماد dnf بدل yum .

حزم rpm هي عبارة عن ملفات مضغوطة فيها ملفات البرنامج و ملف التعليمات مثلا نقل هذا المف إلى هذا المجلد و تعليملت قبل التثبيت وممكن تعليمات بعد التثبيت نحنى لا نراها هي تعليمات لمدير الحزم الذي يقوم بما يلزم ومن هذه التعليمات الإعتماديات التي يحتاجها البرنامج حتى يتم تنزيلها مع البرنامج ويمكن أن تكون هذه الإعتماديات أيضا تعتمد على حزم أخرى وهكذا... لهذا دور مدير الحزم مهم جدا ويوفر علينا الكثير...الأن من يكتب هذه التعليمات ويقوم بالتحزم ؟ في المستودعات الرسمية المسؤولين عن التوزيعة هم من يقومو بذالك ...أما المستودعات الغير رسمية يقوم بعمل الحزم ما يسمى المجتمع أي اشخاص مثلي ومثلكم وهو أمر نحتاج تعلمه إسمه التحزيم حين هناك شروط وطرق للأمر والأمر ليس عشوائي حتى تسمية الحزمة لها شروط الصراحة أنا لا أعرف أحزم لكن ممكن أن أتعلم هذا الأمر في المستقبل على العموم نصيحة هناك مستودعات غير رسمية لها مصداقية يمكن إضافتها والتنزيل منها عند الحاجة مثل مستودعات rpmfusion وهناك مستودعات قد لا تكون مشهورة وهنا قدر الإمكان  يجب تجنب إضافة هكذا مستودعات.

يقوم مدير الحزم بتنزبل هذه الحزم  من المستودعات ويقرا التعليمات الموجودة داخل الحزم ويقوم بحل مشكلة الإعتماديات ويقوم بتثبيت الحزم الازمة  ويمكن منه حزف البرامج طبعا البرامج المثبته من الحزم وليس البرامج المحمولة ويمكن تحديث البرمج كلن على حدا أو تحديث النظام كاملا حيث يقارن إصدار البرامج بالمستودعات مع إصدارات البرامج المثبته ويقوم قبل التثبيت بالتحقق من سلامة الحزم ويمكن منه إضافة أو حذف أو تفعيل أو إقاف مستودع ما ويمكن الإستعلام عن الحزم والمستودعات والبحث عن البرامج والحزم والكثير من الأمور ...  بعض الأمثلة .
  1. تثبيت firefox : يكون هكذا sudo dnf install firefox سيقوم مدير الحزم بتحديث قائمة إصدارات البراج ثم سيتم تنزيل حزمة برنامج فايرفوكس والحزم الذي قد يحتاجها ثم يتحقق من سلامة الملفات ثم يقوم بالتثبيت.
  2. حذف firefox :سيكون هكذا sudo dnf remove firefox.
  3. بحث عن إسم برنامج مثلا برنامج gedit وهو محرر نصوص :sudo dnf search gedit وهكذا ....
  4. الإستعلام عن حزمة ما :مثلا sudo dnf info gedit .
طبعا كل ما ذكر أمثلة ضرورية للشرح قد لا يكون الامر هكذا مئة في المئة خاصة قصة برنامج نسخ الأقراص.




 2-التثبيت من المستودعات الغير رسمية:

 ذات الشيء في الشرح في اﻷعلى لكن الحزم الموجودة فيه لم يقم بتحزيمها مطوري توزيعة فيدورا مثلا إذا كانت حزمة لبرنامج أو ثيم مثلا غالبا لا مشكلة لكن إذا كان المستودع فيه برماج أو حزم موجودة في المستودعات الرسمية لكن بإصدارات أجدد أو أقدم إن لم نكن حذرين سنحصل على الكثير من المشاكل لأن الامر سيأثر على سياسة التوزيعة وقد يأدي إلى تشابك بالحزم ومشاكل كبيرة ويصبح النظام غير مستقر ونصيحة أن لا تقومو بإضافة مستودعات توزيعة إلى توزيعة أخر لأن كل توزيعة لها سياستها من حيث إصدارات البرامج والحزم مثلا محرر نصوص gedit إصدار 2 يحتاج حزمة gtk إصدار  2 فقط فقمنا بإضافة مستودع فيه برنامج gedit إصدار 2 لكن لا يحنوي حزمة gtk إصدار 2 وهذه الحزمة موجودة بالمستودعات الرسمية لكن بإصدار 1 هنا تقع المشاكل لن يعمل البرنامج أو حتى لو تم ثبيت gtk إصدار 2 قد يكون برنامج أخر أكثر أهمية لا يعمل على gtk إصدار رقم 2 مثلا الواجهة نفسها وهنا سندخل بدوامة مشاكل كبيرة طبعا كما قلت سابقا هذا كلام من وحي الخيال لضرورة الشرح على العموم لفيدورا هناك مستودعات rpmfusion وهي تكمل المستودعات الرسمية تقريبا ستجد كل شيء في هذه المستودعات ما يميز هذه المستودعات انها مدروسة مثلا يوجد مستودعات rpmfusion لفيدورا 22 ومستودعات أخرى لفيدورا 21 وهكذا يعني الأمر مرتب ومدروس ولا مشكلة بإضافة هذه المستودعات وهذة المستودعات توفر برامج وحزم وتعريفات مغلقة المصدر لا تضعها فيدورا في مستودعاتها الرسمية لأنها تتعارض مع سياستها التي لا تضع حزم غير حرة في مستودعاتها لكن تسمح بإضافتها بعد التثبيت من قبل المستخدم.



3-التثبيت من حزمة rpm :

ممكن أن نقوم بتنزيل حزمة rpm من أي موقع  وتثبيتها من مدير الحزم sudo dnf install firefox.rpm وممكن من خلال أمر rpm مثال sudo rpm -i firefox.rpm هنا قد نواجه مشكلة اولا أمر rpm لا يحل مشكلة الإعتماديات مثل مدير الحزم dnf لكن dnf قد يفشل أيضا لأن ببساطة الذي قام بتحزيم الحزمة قد يكون لم  يعطي معلومات عن الإعتماديات المطلوبة أو قد أغفل شيء لا ننسى أننا بشر خاصة إذا لم تكن حزمة رسمية وغالبا ستكون كذالك لأننا لسنا بحاجة لهذا الشيء إذا كانت الحزمة موجودة بالمستودعات الرسمية أو أن حزمة البرنامج قديمة تريد إعتماديات بإصدارات قديمة لم تعد متوفرة بالتوزيعات الحديثة على العموم حل الموضوع يكون يالقراءة من وئائق البرنامج عن الإعتماديات المطلوبة وتثبيتها ثم المحاولة مرة أخرى  أو البحث عن طريقة التثبيت في جوجل قد يكون هناك حزم أحدث وتحل المشكلة .



 4-التثبيت من المصدر :

غالبا يكون ملف مضغوط نفك الضغط عنه ونثبت بعض البرامج والإعتماديات يدويا مثل gcc  ونقرا طريقة التثبيت و الإعتماديات المطلوبة من ملف readme الذي يأتي مع الملفات أو من وثائق البرنامج المراد تثبيته غالبا سيكون هناك موقع للبرنامج أو ممكن أن نبحث في جوجل عن طريقة التثبيت.



5-تثبيت برنامج محمول:

هو ليس تثبيت بمعنى التثبيت فقط نقوم بتنزيل الملفات ونضع في مكانها الصحيح أو نتركها في مكانها وعندما نريد أن نشغل البرنامج نذهب إلا المكان الموجود فيه ونشغله.



6-تثبيت برنامج محمول من خلال سكربت:

أيضا هو ليس تثبيت بمعنى الكلمة لكن بدل أن نقوم بنقل الملفات إلى مكانها صحيح يدوبا يأتي مع الملفات سكربت مثلا إسمه install.sh أو setup.py لبعض مكتبات أو برامج المبرمجة بلغة python نعطي هذا السكربت صلاحيات التنفيذ ثم نشغله ليقوم بما يلزم .



أخر ملاحظة أولا البرامج المحمولة غالبا لا تحتاج إعتماديات لكن إذا إحتاجت ولم يعمل البرنامج نقرأ من وثائق البرنامج أو من ملف readme قد يأتي مع الملفات وهذه نصيحة أنصح بها بكل الحالات وإذا لم تحل المشكلة نلجأ إلى جوجل لنستفيد من خبرات وتجارب الأخرين.


شارك الموضوع

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

التسميات

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)