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

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

حوار شيق جدا حول Apt

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • حوار شيق جدا حول Apt

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

    كيفكم إخوانى وكيف الشهر الفضيل معاكم تقبل الله طاعاتكم واعانكم على فعل الخير فيه والاستزادة من النفحات عسى الله ان تصيبكم نفحة فلا تشقوا بعدها أبدا

    إن شاء الله اليوم مع موضوع بسيط وقبيل الإفطار بقليل قلت أكتب موضوع لذيذ عن الأداة APT واستخداماتها المتعددة

    طيب فى البداية احب بس اعرف الناس ياعنى ايه APT لأنه ممكن يكون فيه وافدين جدد باللينكس وﻻ يعرفوا أصل الشىء .

    المهم موضوعنا اليوم هنتكلم فيه بنظرة وعمق اكبر للأداة APT اللى هيا أداة ادارة الحزم لتوزيعة دبيان لأنه ubuntu مبينة على دبيان واكيد اساسيات التوزيعة لها نفس الأساسيات الموجودة بدبيان

    طيب كل ده جميل بس مافهمناش ايه الغرض من APT ؟

    الغرض من APT إنك لما تحب تسطب برنامج على توزيعات Debian تحذف برنامج تعمل update للنظام إلخ من العمليات دى APT تتحكم فى كل ده وتقدر تعمله بكل سهولة ويسر دون تدخل منك نضرب مثال

    مثلا برنامج تشغيل الميديا الشيهر xmms الشهير اللى يشبه فى عمله عمل ال winamp علشان تقدر تنزله مثلا من الحزمة المصدرية أو ال source زى مابنقول كان البرنامج بيطلب بعض المكتبات الإضافية اللى لازم تكون موجودة علشان يشتغل مظبوط
    مثلا المكتبات دى libglib1.2 libgtk1.2 libgtk1.2-common

    أكيد لو جينا نشوف الموضوع ده من الناحية العملية هيكون صعب كتير إنى أوفر مكتبة مكتبة لكل برنامج بل إنه فى بعض البرامج بتطلب مكتبات خاصة علشان تشتغل هنا بقى دور APT انها تجمع كل ال libraries وال dependencies المطلوبة لعمل البرنامج بشكل تلقائى دون تدخل منك وﻻ تتعب نفسك وتدور على المكتبات وتثبتها بنفسك وﻻ حاجة

    دى تعتبر أو ميزة من ميزات APT ولذلك فى المقال ده هتطرق بشكل بسيط لبعض العمليات اللى تقدر تعملها APT على التوزيعات المبنية على Debian بشكل عام

    طيب دى كانت مقدمة بسيطة بتعريف ال APT طيب ازاى الموضوع تطور من البداية ؟

    فى البداية كان أى برنامج عاوز تعمله install ﻻزم ينزل بشفرته المصدرية مضغوط مثلا بامتداد tar.gz. وكان وﻻبد على المستخدم علشان يبدأ فى عملية ال install إنه يعمل compiling للبرنامج اى تجميع البرنامج من شفرته وعمل الشفرة المصدرية على هيئة برنامج executable او زى ما بنقول تنفيذى .

    ولما تم بناء توزيعة دبيان كان ﻻبد من وجود طريقة تخدم التوزيعة بشكل فعال ونقدر من خلالها نعمل كل ده فى أمر واحد دون البحث والعناء وكمان شىء مهم أنه الطريقة دى ﻻزم تهتم بعمل كل شىء من تجميع ال dependencies بشكل تلقائى والمطلوبة لشغل البرامج اللى احنا محتاجينها وكمان تحافظ على ملفات ال config للبرامج الخاصة بينا فى حالة عمل upgrade لأى برنامج معين.

    كانت من هنا بداية مولد APT بتطوير من مبرمجى Debian ودلوقتى تعتبر APT من أقوى أدوات إدارة الحزم بين توزيعات لينوكس المختلفة وعلى سبيل المثال نجد فى أنظمة RedHat الأداة rpm

    وAPT ترمز إلى Advanced Packaging Tool

    عموما أطلت عليكم بس حبيت أضيف معلومات بسيطة عن عمل الأداة مراحل التطور لحد ما وصلت وبقت بالشكل المعروف لدينا وندخل بقى فى صلب الموضوع .

    بسم الله نبدأ

    إن شاء الله فى الموضوع هنتطرق لمعظم الأوامر اللى بتشتغل مع APT

    ملحوظة : كل الأوامر اللى هتكون معانا لابد من وضع كلمة sudo قبلها وهى أداة ادارة النظام حتى نحصل على صلاحيات تكافىء صلاحيات الroot

    أول أمر معانا إن شاء الله وهو الأمر الخاص بعمل تحديث لتوزيعات دبيان بشكل عام عند تنصيب التوزيعة لأول وهلة أو عند التغيير فى ملف السيرفرات sources.list

    وهيكون الامر بالشكل ده

    كود:
    apt-get update
    تانى أمر إن شاء الله معانا يمكن تطرقنا ليه فى موضوعات سابقة وهو أمر تثبيت اى برنامج على التوزيعة وهيكون بالشكل ده

    كود:
    apt-get install XXXX
    بحيث XXXX اسم البرنامج المطلوب ثبيته

    طيب فرضا لو عاوزين نعمل upgrade للبرامج اللى على التوزيعة إلى الإصدارات الاحدث هنستخدم الامر ده

    كود:
    apt-get upgrade
    أما لو حبينا نعمل upgrade للنظام نفسه الخاص بالتوزيعة إلى آخر اصدار معتمد مثلا كترقية الكيرنل على سيرفرات التوزيعة هيكون الأمر ده معانا

    كود:
    apt-get dist-upgrade
    والأمر اللى بعد كده معانا إن شاء الله أمر حذف البرامج من على التوزيعة ولكن مع بقاء ملفات ال config وهيكون بالشكل ده

    كود:
    apt-get remove XXXX
    حيث XXXX اسم البرنامج المطلوب حذفه من على التوزيعة ولكن مع بقاء ملفات ال config الخاصة به

    أما إذا أردنا حذف أى برنامج من على التوزيعة مع حذف ملفات ال config الخاصة بيه فاهو الأمر القادم معنا ليقوم بهذه المهمة وسيكون بالشكل التالى :

    كود:
    apt-get --purge remove XXXX
    حيث XXXX اسم البرنامج المطلوب حذفه بجانب ملفات ال config الخاصة به

    طيب ننتقل لمرحلة تانية بعد كده من الاوامر وهى اوامر البحث عن اسم برنامج معين فى قائمة البرامج أو عرض البرامج الموجودة على التوزيعة هيكون معانا الامر apt-cache ولكن باستخداماته المختلفة وهنشوف أزاى

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

    كود:
    apt-cache search XXXX
    بحيث ال XXXX ده هو النص المطلوب البحث عنه او اسم البرنامج المطلوب البحث عنه فى قائمة البرامج

    أما الشىء الرهيب وصراحة لسه مكتشفه حالا الأداة aptitude ومش عارف أقول عنها ايه صراحة دى عاوزة موضوع لوحدها ولكن كل اللى أقدر أقوله اكتب فى الشل

    aptitude وبعد كده شوفوا ايه اللى هيحصل وهكتفى بالتعريف ليها باللغة الانجليزية

    aptitude - Curses viewer of packages installed or available. Aptitude can be used from the command-line in a similar way to apt-get, but only for some commands - install and remove being the most common. However, because aptitude keeps track of more information than apt-get does, it can be considered better at install and remove operations.

    بعد كده معانا أمر لذيذ وخصوصا للمطورين وهو عرض كل المعلومات عن برنامج معين بجانب كل شىء بالتفصيل عنه بداية من اصدار البرنامج ,المكتبات اللى بيحتاجها بالإضافة إلى dependencies كل ده جربوه مع الأمر التالى

    كود:
    apt-cache showpkg XXXX
    بحيث XXXX اسم البرنامج المطلوب رؤية البيانات الخاصة بيه بكل تفصيل

    بعد كده مع أمر جميل جدا وصراحة غاية فى الروعة الأمر ده بيعرض الpackages المتاحة بالتوزيعة مع وصف رهيب لكل package مثلا لما عملت الأمر

    كود:
    apt-cache dumpavail
    كان من ضمن ال packages برنامج ntfs-3g الخاص بدعم نظام ملفات NTFS على بيئة لينوكس شوفوا معايا النتيجة كانت كالآتى :

    Package: ntfs-3g-nautilus-tools
    Version: 0.10-1
    Priority: optional
    Section: utils
    Maintainer: Florent Mertens <[email protected]>
    Depends: ntfs-3g, nautilus-script-manager, file, zenity, gawk | mawk, pmount, gksu, libnotify-bin
    Architecture: i386
    Filename: dists/dapper/main/binary-i386/ntfs-3g-nautilus-tools_0.10-1_i386.deb
    Size: 5706
    Installed-Size: 64
    MD5sum: a26a0a7e05782893db2b577cddd5020f
    Description: A nautilus-script to mount ntfs device with ntfs-3g
    With this package, you will be able to mount and unmount
    easily and safely your NTFS USB device using ntfs-3g.
    .
    This script is enable for all user by default
    To disable it for any user, simply launch in a terminal :
    nautilus-script-manager disable mount_with_ntfs-3g
    nautilus-script-manager disable unmount_ntfs-3g
    شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير
    | قناة المجتمع التعليمية | قناة المجتمع للفيديوهات | ويكي مجتمع لينوكس العربي | البريد الألكتروني (eMail) |

  • #2
    طيب لو حبينا بقى ندمج وظيفة أمرين فى بعض مثلا نعرض اسم البرنامج مع رقم الإصدار بالإضافة إلى المكتبات والملحقات الخاصة به وكمان معلومات عن عمل البرنامج معانا الأمر

    كود:
    apt-cache show XXXX
    وآسف مش قادر أعبر بشكل دقيق عن وظيفة الأمر ﻷنه بجد لازم تجرب علشان تقدر تحكم بنفسك طبعا بحيث XXXX اسم البرنامج

    بعد كده مع أمر يعتبر نوعا ما مش مفيد قوى وهو أمر اظهار كل الpackages الموجودة بالنظام وهيكون بالشكل ده

    كود:
    apt-cache pkgnames
    أما الأمر الأخير معانا وهو أمر كويس جدا للى عنده مساحة قليلة على البارتشن ومسطب برامج كتيرمن خلال apt-get install الأمر ده بيحذف الباكج اللى نزلت لما بتسطب البرامج

    نوضح أكتر مثلا انت لما بتنزل برنامج معين من خلال apt-get install xxxx البرنامج أول شىء بينزل بامتداد deb. بالإضافة إلى extra libraries الخاصة به مع ال dependencies فا لما البرنامج بيخلص تسطيب بتفضل الباكج xxx.deb موجودة على النظام فطبيعى بتشكل حيز من المساحة وعلشان نحذف ال packages دى هنقوم بعمل الأمر التالى

    كود:
    apt-get autoclean
    ويستحسن من فترة للتانية مش كل شوية ياعنى

    طيب بكده بيكون موضوعنا الرئيسى انتهى طيب ناخد بقى مثال عملى مثلا واحد بيحب الgames وخصوصا سباقات السيارات وﻻ حاجة فا طلعت فى دماغه ينزل لعبة ويسطبها بس مش عارف اسماء الألعاب على لينوكس فا طبعا هو عارف وصف بس للألعاب من النوع ده بتكون مثلا racing game فا عاوز بقى يبدأ يطبق الموضوع بتاعنا راح كاتب الأمر بتاع البحث اللى هو كان apt-cache search xxxx بالشكل ده فى الTerminal

    كود:
    sudo apt-cache search racing game
    قام بص طلعت ليه نتائج بحث مش مصدق عينه وكان من ضمن النتائج السطرين دول

    كود:
    slune - 3D racing and car-crashing game
    torcs - 3D racing cars simulator game using OpenGL
    عجبه الإسمين دول مثلا وخصوصا اللعبة trocs وصفها يشد شوية قام حب يجيب معلومات اكتر عنها بكتير راح عامل الأمر ده

    كود:
    sudo apt-cache show torcs
    طلع ليه معلومات كتير جدا جدا ( طبعا مش مصدق ابسط ياعم ألعاب على لينوكس أهو ) :p

    وكان من ضمنها ال requirements مش عارف processor قد ايه و rams قد ايه لقى جهازه فعلا هيقدر يشغل اللعبة

    طيب خلاص بقى يا جدعان عاوز انزلها راح على طول على الأمر

    كود:
    sudo apt-get install trocs
    طيب خلاص اللعبة نزلت وبقى كله تمام خلاص هيموت ويشغلها يا خسارة ده مش لاقى ليها shortcut طيب يعمل ايه جتله فكرة قال لما أكتب فى الشل كده كلمة trocs قام مرة واحدة فط من مكانه لقى اللعبة اشتغلت طيب واحد صاحبنا تانى الشل بتاعه مش بالعه وﻻ بيحبه وعاوز يغلس عليه رايح قايل ليه مثلا command not found وصاحبنا هيحصله حاجة لو مشغلش اللعبة وازاى ده يحصل وهو لسه مسطب اللعبة قام عمل trick كده علشان يستهبل شوية على الشل بتاعه وصاحبنا عارف انه أى حاجة بتتسطب على النظام بيكون ليها مسار محدد مثلا البرامج بيكون ليها المسار الأساسى ده "/usr/bin" قالك بس يبقى اكيد الألعاب ليها مجلد جوا usr/ راح على طول على الأمر ده

    كود:
    cd /usr/games
    وعمل ls لقى اللعبة موجودة من ضمن الألعاب كتب trocs اللعبة اشتغلت قال فى نفسه ياعنى مش بصوت عالى وﻻ الحوجة للشل تانى

    طيب الكلام ده كله جميل جدا بس يا خسارة كان فى الأجازة ووقت الدراسة والهباب المذاكرة عليها من الله ماتستحق :D ووالده قاله ياعنى الكمبيوتر على الكرتونه صاحبنا بقى قال خلاص اللعبة مبقاش ليها ﻻزمة دلوقتى احذفها أحسن على طول راح على الأمر

    كود:
    sudo apt-get remove trocs
    بس افتكر وقال طيب انا لما قريت الموضوع MySQL قال إنه ملفات الconfig بتاعت اللعبة هتفضل موجودة افكتر الامر

    كود:
    sudo apt-get --purge remove trocs
    بكده ضمن بقى إنه كل شىء بقى الهوا

    بكده قصتنا مع صاحبنا اللينوكساوى انتهت بس فاضل حاجة صغيورة يا حلوين :D فى trick ظريف جدا وجميل جدا جدا بدل مثلا ما نقعد كل شوية نكتب فى الأمر كله على بعضه ممكن نعمل اختصارات ليه

    نوضح أكتر قلنا لو حبينا نسطب برنامج معين بنستخدم الأمر ده

    كود:
    sudo apt-get install xxxx
    نكتب بس كده agi xxxx ايه رأيكم ؟ طيب نعمل الموضوع ده ازاى على طول أول حاجة نروح على الشل ونكتب الأمر التالى:

    كود:
    sudo gedit ~/.bashrc
    هيظهر لينا ملف الbashrc نضيف فيه السطور دى

    كود:
    alias acs='apt-cache search'
        alias agu='sudo apt-get update'
        alias agg='sudo apt-get upgrade'
        alias agd='sudo apt-get dist-upgrade'
        alias agi='sudo apt-get install'
        alias agr='sudo apt-get remove'
    بعد كده نضغط على كلمة save ونخرج من الملف ودلوقتى تقدر تستخدم الاختصارات بكل سهولة ويسر وده مثال عملى على الاختصارات انا عملته
    كود:
    l1nux3r@P0w3R:~$ agi amsn
    Reading package lists... Done
    Building dependency tree... Done
    The following extra packages will be installed:
      docker imlib-base imlib11 libssl0.9.7 sox tcltls
    Suggested packages:
      mozilla galeon konqueror imagemagick imlib-progs
    The following NEW packages will be installed:
      amsn docker imlib-base imlib11 libssl0.9.7 sox tcltls
    0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
    Need to get 4939kB of archives.
    After unpacking 14.6MB of additional disk space will be used.
    Do you want to continue [Y/n]?
    بكده يكون موضوعنا انتى بعون الله وفضله ومنته إن أصبت فمن الله وإن أخطأت فمن نفسى والشيطان وأرجو المغفرة من الله

    ومعذرة على استخدام الأسلوب العامى فى الموضوع ولكن حبيت أضيف نوع من الطرفة والفكاهة بجانب المقال

    وأتمنى لو فيه أخطاء فى الموضوع يتم تنبيهى إليها من الإخوة الأفاضل فى المنتدى

    وأنا قمت بترجمة الموضوع من سلسلة الwiki الخاصة بال ubuntu من على الرابط ده



    دمتم بحفظ الله وعنايته

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

    شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير
    | قناة المجتمع التعليمية | قناة المجتمع للفيديوهات | ويكي مجتمع لينوكس العربي | البريد الألكتروني (eMail) |

    تعليق


    • #3
      سلام عليكم
      أما الشىء الرهيب وصراحة لسه مكتشفه حالا الأداة aptitude ومش عارف أقول عنها ايه صراحة دى عاوزة موضوع لوحدها ولكن كل اللى أقدر أقوله اكتب فى الشل
      طبقت هذا اﻻمر وظهرت لي هذه اﻻداة ورحت على actions
      ومن ثم الى الخيار الثاني
      update package list
      هل هو بديل عن مدير الحزم
      وعلى العموم اظهر لي هذه الصورة بعد اﻻنتهاء
      التعديل الأخير تم بواسطة raashaad2010; الساعة 03-10-2006, 02:43 PM.

      تعليق


      • #4


        بالنسبة للأداة aptitude يمكن استخدامها أيضا لتحل محل مدير الحزم apt وتعمل نفس الوظائف ويمكن استخدامها باحدى طريقتين الاولى التى ذكرتها فى الموضوع والثانية من خلال الشل

        مثلا تريد تثبيت برنامج من خلالها يمكنك استخدامها بالشكل التالى

        كود:
        sudo aptitude install XXXX
        بحيث XXXX اسم البرنامج المطلوب تثبيته وهكذا مع باقى الأوامر

        شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير
        | قناة المجتمع التعليمية | قناة المجتمع للفيديوهات | ويكي مجتمع لينوكس العربي | البريد الألكتروني (eMail) |

        تعليق


        • #5
          السلام عليكم
          أخوي MySQL
          موضوع رائع وأكثر شي استفدت منه اضافة أوامر الباش
          بارك الله فيك
          أخوك الميموني >>> ubuntu user

          تعليق

          يعمل...
          X
          😀
          🥰
          🤢
          😎
          😡
          👍
          👎