السلام عليكم ورحمة الله وبركاته
كيفكم إخوانى وكيف الشهر الفضيل معاكم تقبل الله طاعاتكم واعانكم على فعل الخير فيه والاستزادة من النفحات عسى الله ان تصيبكم نفحة فلا تشقوا بعدها أبدا
إن شاء الله اليوم مع موضوع بسيط وقبيل الإفطار بقليل قلت أكتب موضوع لذيذ عن الأداة 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
وهيكون الامر بالشكل ده
تانى أمر إن شاء الله معانا يمكن تطرقنا ليه فى موضوعات سابقة وهو أمر تثبيت اى برنامج على التوزيعة وهيكون بالشكل ده
بحيث XXXX اسم البرنامج المطلوب ثبيته
طيب فرضا لو عاوزين نعمل upgrade للبرامج اللى على التوزيعة إلى الإصدارات الاحدث هنستخدم الامر ده
أما لو حبينا نعمل upgrade للنظام نفسه الخاص بالتوزيعة إلى آخر اصدار معتمد مثلا كترقية الكيرنل على سيرفرات التوزيعة هيكون الأمر ده معانا
والأمر اللى بعد كده معانا إن شاء الله أمر حذف البرامج من على التوزيعة ولكن مع بقاء ملفات ال config وهيكون بالشكل ده
حيث XXXX اسم البرنامج المطلوب حذفه من على التوزيعة ولكن مع بقاء ملفات ال config الخاصة به
أما إذا أردنا حذف أى برنامج من على التوزيعة مع حذف ملفات ال config الخاصة بيه فاهو الأمر القادم معنا ليقوم بهذه المهمة وسيكون بالشكل التالى :
حيث XXXX اسم البرنامج المطلوب حذفه بجانب ملفات ال config الخاصة به
طيب ننتقل لمرحلة تانية بعد كده من الاوامر وهى اوامر البحث عن اسم برنامج معين فى قائمة البرامج أو عرض البرامج الموجودة على التوزيعة هيكون معانا الامر apt-cache ولكن باستخداماته المختلفة وهنشوف أزاى
كتير مننا بيكون ساعات محتاج برنامج معين بس مش فاكر منه غير حروف بسيطة وعاوز يثبته على النظام الامر اللى معانا هيقوم بالمهمة دى بدل منك عن طريق وضع اسم البرنامج إذا كنت تعرفه او وضع حروف معينه من اسمه والأمر هيقوم بالبحث عن البرنامج كامل إذا وجد بقائمة البرامج ونشوف الأمر
بحيث ال XXXX ده هو النص المطلوب البحث عنه او اسم البرنامج المطلوب البحث عنه فى قائمة البرامج
أما الشىء الرهيب وصراحة لسه مكتشفه حالا الأداة aptitude ومش عارف أقول عنها ايه صراحة دى عاوزة موضوع لوحدها ولكن كل اللى أقدر أقوله اكتب فى الشل
aptitude وبعد كده شوفوا ايه اللى هيحصل وهكتفى بالتعريف ليها باللغة الانجليزية
بعد كده معانا أمر لذيذ وخصوصا للمطورين وهو عرض كل المعلومات عن برنامج معين بجانب كل شىء بالتفصيل عنه بداية من اصدار البرنامج ,المكتبات اللى بيحتاجها بالإضافة إلى dependencies كل ده جربوه مع الأمر التالى
بحيث XXXX اسم البرنامج المطلوب رؤية البيانات الخاصة بيه بكل تفصيل
بعد كده مع أمر جميل جدا وصراحة غاية فى الروعة الأمر ده بيعرض الpackages المتاحة بالتوزيعة مع وصف رهيب لكل package مثلا لما عملت الأمر
كان من ضمن ال packages برنامج ntfs-3g الخاص بدعم نظام ملفات NTFS على بيئة لينوكس شوفوا معايا النتيجة كانت كالآتى :
كيفكم إخوانى وكيف الشهر الفضيل معاكم تقبل الله طاعاتكم واعانكم على فعل الخير فيه والاستزادة من النفحات عسى الله ان تصيبكم نفحة فلا تشقوا بعدها أبدا
إن شاء الله اليوم مع موضوع بسيط وقبيل الإفطار بقليل قلت أكتب موضوع لذيذ عن الأداة 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
طيب فرضا لو عاوزين نعمل upgrade للبرامج اللى على التوزيعة إلى الإصدارات الاحدث هنستخدم الامر ده
كود:
apt-get upgrade
كود:
apt-get dist-upgrade
كود:
apt-get remove XXXX
أما إذا أردنا حذف أى برنامج من على التوزيعة مع حذف ملفات ال config الخاصة بيه فاهو الأمر القادم معنا ليقوم بهذه المهمة وسيكون بالشكل التالى :
كود:
apt-get --purge remove XXXX
طيب ننتقل لمرحلة تانية بعد كده من الاوامر وهى اوامر البحث عن اسم برنامج معين فى قائمة البرامج أو عرض البرامج الموجودة على التوزيعة هيكون معانا الامر apt-cache ولكن باستخداماته المختلفة وهنشوف أزاى
كتير مننا بيكون ساعات محتاج برنامج معين بس مش فاكر منه غير حروف بسيطة وعاوز يثبته على النظام الامر اللى معانا هيقوم بالمهمة دى بدل منك عن طريق وضع اسم البرنامج إذا كنت تعرفه او وضع حروف معينه من اسمه والأمر هيقوم بالبحث عن البرنامج كامل إذا وجد بقائمة البرامج ونشوف الأمر
كود:
apt-cache search 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
بعد كده مع أمر جميل جدا وصراحة غاية فى الروعة الأمر ده بيعرض الpackages المتاحة بالتوزيعة مع وصف رهيب لكل package مثلا لما عملت الأمر
كود:
apt-cache dumpavail
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
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
تعليق