1. المقدمة
عند استخدامك لنظام Ubuntu، قد تصادف خطوة “make install” أثناء تثبيت بعض البرامج. في العادة، يتم تثبيت التطبيقات عبر أمر “apt” من خلال الحزم المتوفرة في المستودعات الرسمية، لكن ليس كل البرامج متوفرة هناك. إذا كنت ترغب في استخدام أحدث إصدار أو ترغب في تشغيل برنامج قمت بتطويره بنفسك، ستحتاج إلى تنزيل الشيفرة المصدرية وبناؤها (compile) بنفسك ثم تثبيتها.
هنا تظهر أهمية أمر “make install”.
“make install” هو أمر يُستخدم لنقل البرامج المترجمة من الشيفرة المصدرية إلى المواقع الصحيحة على النظام. فهو لا يقتصر فقط على بناء البرنامج (make)، بل يقوم أيضًا بنسخ الملفات تلقائيًا إلى الأدلة المناسبة في النظام. هذه إحدى الخطوات الأساسية التي تُستخدم كثيرًا في بيئة لينكس.
في هذا المقال، سنشرح للمبتدئين كيفية بناء الشيفرة المصدرية وتثبيت البرامج باستخدام make install على Ubuntu خطوة بخطوة. سنوضح أيضًا أكثر الأخطاء الشائعة التي قد تظهر أثناء العملية وكيفية التعامل معها.
لنبدأ أولاً بتحضير أدوات التطوير اللازمة لعملية البناء.
2. تثبيت أدوات التطوير اللازمة
لبناء وتثبيت الشيفرة المصدرية، تحتاج أولاً إلى تجهيز أدوات التطوير الأساسية على Ubuntu. بدون هذه الأدوات، قد لا يعمل أمر “make” أو قد تواجه العديد من أخطاء البناء. لتحظى بتجربة تثبيت سهلة وسلسة، من المهم إعداد بيئة التطوير منذ البداية.
تثبيت الحزمة الأساسية “build-essential”
في Ubuntu، تتوفر حزمة تسمى “build-essential” تحتوي على مترجم C (gcc)، وأدوات البناء (make)، ومكتبات مرتبطة ضرورية. عند تثبيت هذه الحزمة، ستكون قد جهزت البيئة الأساسية للبناء بسهولة.
خطوات التثبيت كما يلي:
sudo apt update
sudo apt install build-essential
ابدأ بتحديث معلومات الحزم، ثم ثبّت build-essential. بهذه الخطوات البسيطة ستكون لديك الأدوات الأساسية اللازمة للبناء.
التحقق من التثبيت بعد الانتهاء
يمكنك التأكد من أن الأدوات قد ثُبتت بشكل صحيح عبر الأوامر التالية:
gcc --version
make --version
إذا ظهرت لك معلومات الإصدار لكل من gcc (مترجم C) وmake (أداة البناء)، فقد نجح التثبيت. إذا ظهرت لك رسالة خطأ، تحقق من رسالة الخطأ وحاول إعادة التثبيت.
الآن أصبح لديك الأساس اللازم لبدء بناء الشيفرة المصدرية على Ubuntu. الخطوة التالية هي الحصول على الشيفرة المصدرية وفك ضغطها.
3. الحصول على الشيفرة المصدرية واستخراجها
بعد تثبيت أدوات التطوير، أصبحت جاهزًا للحصول على الشيفرة المصدرية للبرنامج الذي ترغب في بنائه. غالبًا ما توفر الجهة المطورة الشيفرة المصدرية للتحميل، ثم تقوم بفك ضغطها في دليل العمل. في هذا القسم نشرح طرق الحصول على الشيفرة المصدرية وكيفية استخراجها.
طرق الحصول على الشيفرة المصدرية
هناك عدة طرق شائعة للحصول على الشيفرة المصدرية:
تحميلها من الموقع الرسمي
معظم مشاريع المصادر المفتوحة توفر ملفات الشيفرة المصدرية بصيغ مثل “tar.gz” أو “tar.bz2” على مواقعها الرسمية. يمكنك التحميل باستخدام الأمر التالي:
wget https://example.com/software-1.2.3.tar.gz
يرجى استبدال الرابط أعلاه بالرابط المقدم على صفحة تحميل البرنامج الذي تريده.
استنساخها من GitHub أو مواقع شبيهة
الكثير من المشاريع تستضيف الشيفرة المصدرية على منصات مثل GitHub، ويمكنك استخدام git لاستنساخ الشيفرة.
إذا لم يكن git مثبتًا لديك، ثبّته بالأمر التالي:
sudo apt install git
ثم استنسخ المستودع:
git clone https://github.com/username/repository.git
تأكد من استخدام عنوان المستودع الصحيح كما هو مذكور في الصفحة الرسمية للمشروع.
طريقة فك ضغط الملفات المضغوطة
إذا تم توفير الشيفرة المصدرية كملف مضغوط، استخدم الأمر المناسب لاستخراجها:
الأنواع الشائعة من الملفات المضغوطة وأوامر استخراجها هي:
- لصيغة
.tar.gz
:
tar -xvzf software-1.2.3.tar.gz
- لصيغة
.tar.bz2
:
tar -xvjf software-1.2.3.tar.bz2
- لصيغة
.zip
:
unzip software-1.2.3.zip
عند انتهاء الاستخراج، ستجد مجلدًا باسم البرنامج والإصدار. انتقل إليه للمتابعة:
cd software-1.2.3
الآن أصبحت جاهزًا لبدء عملية البناء الفعلية. الخطوة التالية هي بناء وتثبيت البرنامج.
4. خطوات البناء والتثبيت
بعد تجهيز الشيفرة المصدرية، يمكنك الآن بدء عملية البناء والتثبيت. في هذا القسم نشرح الخطوات المعتادة في Ubuntu بشكل مفصل.
التحضير للبناء: تنفيذ ./configure
تحتوي معظم الشيفرات المصدرية على “سكريبت إعداد” لتجهيز البيئة قبل البناء. عادةً، قم بتنفيذ الأمر التالي داخل مجلد الشيفرة:
./configure
هذا الأمر يفحص نظامك وينشئ تلقائيًا ملف Makefile الذي يحتوي على تعليمات البناء. إذا ظهرت أخطاء، اقرأ الرسالة بعناية وثبّت الحزم أو المكتبات الناقصة حسب الحاجة.
إذا لم تجد سكريبت configure
، راجع ملفات README
أو INSTALL
للحصول على تعليمات البناء المناسبة.
بناء البرنامج: أمر make
بعد الإعداد، يمكنك بناء البرنامج بتحويل الشيفرة المصدرية إلى برنامج جاهز للتشغيل:
make
سينفذ هذا الأمر عملية البناء تلقائيًا كما هو محدد في Makefile. قد تستغرق العملية وقتًا، لذا انتظر حتى تكتمل وراقب ظهور أي أخطاء.
في حالة ظهور أخطاء، تحقق من رسائل الخطأ وقم بحل مشاكل المكتبات أو التبعيات الناقصة.
تثبيت البرنامج: أمر sudo make install
إذا اكتملت عملية البناء بنجاح، يمكنك الآن تثبيت البرنامج على النظام (غالبًا يتطلب صلاحيات الجذر):
sudo make install
ينسخ هذا الأمر الملفات المترجمة إلى الأدلة المناسبة بالنظام لتصبح متاحة للاستخدام.
أخطاء شائعة أثناء العمل وكيفية حلها
قد تواجه بعض الأخطاء أثناء عملية البناء أو التثبيت، منها:
- Permission denied (خطأ في الصلاحيات)
→ تأكد من استخدامsudo
عند تنفيذmake install
. - Missing dependencies (تبعيات ناقصة)
→ اقرأ رسالة الخطأ وثبّت المكتبات أو الحزم المطلوبة. - configure: command not found
→ قد لا يتوفر سكريبتconfigure
أو لا يملك صلاحيات التنفيذ. أعطه الصلاحية بالأمرchmod +x configure
أو راجع خطوات البناء في ملفات التوثيق.
لا تتعجل، اقرأ رسائل الخطأ بعناية وحاول حل كل مشكلة حسب التعليمات.
5. التحقق بعد التثبيت
بعد تثبيت البرنامج بواسطة “sudo make install”، من المهم التأكد من أن التثبيت تم بشكل صحيح. إذا فشل التثبيت قد لا يعمل البرنامج أو لا يتم التعرف عليه كأمر في الطرفية.
تحديد مكان البرنامج المثبت
ابحث عن مكان تنفيذ البرنامج باستخدام أمر which
:
which اسم_البرنامج
مثلاً إذا ثبت برنامج باسم sample
:
which sample
إذا ظهر لك مسار مثل /usr/local/bin/sample
أو /usr/bin/sample
فهذا يعني أن التثبيت نجح. إذا لم يظهر شيء، تحقق من التثبيت أو من إعداد متغيرات المسار (PATH).
التحقق من الإصدار
غالبًا ما توفر البرامج خيارًا لعرض رقم الإصدار:
sample --version
إذا ظهر رقم الإصدار فهذا يدل على نجاح التثبيت. أما إذا ظهرت رسالة خطأ أو لم يتم العثور على الأمر، راجع خطوات التثبيت مرة أخرى.
التحقق من متغير PATH
عادةً ما يتم تثبيت البرامج في /usr/local/bin
. إذا لم يكن هذا الدليل مضمنًا في PATH فلن يتعرف الطرفية على البرنامج.
يمكنك التحقق بالأمر:
echo $PATH
إذا لم يكن /usr/local/bin
ظاهرًا، أضفه إلى ملف الإعدادات الخاص بالشل (مثلاً ~/.bashrc
أو ~/.zshrc
):
export PATH=/usr/local/bin:$PATH
لتطبيق الإعدادات فورًا:
source ~/.bashrc
الآن يمكنك تشغيل البرامج المثبتة بدون مشاكل من الطرفية.
6. كيفية إزالة التثبيت (إلغاء تثبيت البرنامج)
البرامج المثبتة من الشيفرة المصدرية لا تُدار عادةً بواسطة أدوات إدارة الحزم مثل apt. لذلك يجب إزالتها يدويًا إذا لم تعد بحاجة لها.
إلغاء التثبيت باستخدام make uninstall
بعض البرامج تدعم أمر الإلغاء التالي من داخل نفس مجلد الشيفرة المصدرية:
sudo make uninstall
هذا الأمر يحذف تلقائيًا الملفات التي تمت إضافتها عند التثبيت. لكن ليس كل البرامج تدعم هذا الأمر. راجع ملفات README أو INSTALL للتأكد.
ملاحظة هامة:
- نفذ الأمر دائمًا من نفس مجلد الشيفرة المصدرية الذي تم التثبيت منه.
- إذا حذفت الشيفرة المصدرية، لن يعمل
make uninstall
!
إزالة الملفات يدويًا
إذا لم يكن make uninstall
مدعومًا، عليك حذف الملفات يدويًا. عادةً ما تتواجد في /usr/local/bin
أو /usr/local/lib
.
حدد الملفات التي تم تثبيتها واحذفها بحذر. مثلاً إذا كان هناك ملف ثنائي في /usr/local/bin
:
sudo rm /usr/local/bin/اسم_البرنامج
عند الحذف اليدوي، تأكد من حذف كل الملفات المتعلقة بالبرنامج.
إدارة التثبيت بواسطة checkinstall
لجعل عملية الإلغاء أسهل مستقبلًا، يمكنك استخدام أداة “checkinstall”. فهي تتيح تثبيت البرنامج كحزمة deb يمكن إدارتها لاحقًا بواسطة apt أو dpkg.
لتثبيت checkinstall:
sudo apt install checkinstall
بعد البناء، استخدم:
sudo checkinstall
بهذا يمكنك إدارة الحزمة بسهولة، سواء للإزالة أو لإعادة التثبيت.
7. التثبيت في بيئة غير متصلة بالإنترنت
أحيانًا قد تحتاج إلى تثبيت البرامج على Ubuntu في بيئة لا تتوفر فيها الإنترنت. في العادة يعتمد تثبيت الحزم والاعتمادات على الاتصال بالإنترنت، ولكن يمكنك أيضًا تنفيذ “make install” وبناء البرامج يدويًا في وضع عدم الاتصال إذا اتبعت بعض الخطوات.
كيفية تجهيز build-essential في وضع عدم الاتصال
ستحتاج أولاً إلى أدوات التطوير الأساسية (حزمة build-essential). للحصول عليها بدون إنترنت، استخدم جهاز Ubuntu آخر متصل بالإنترنت لتنزيل الحزمة وجميع الاعتمادات مسبقًا.
استخدام أداة apt-offline
بواسطة أداة apt-offline
يمكنك جمع الحزم وجميع الاعتمادات اللازمة على جهاز متصل بالإنترنت ثم نقلها بواسطة USB أو وسيلة تخزين أخرى.
لتثبيت apt-offline على الجهاز المتصل بالإنترنت:
sudo apt install apt-offline
بعدها، أنشئ ملف طلب على الجهاز غير المتصل، ثم استخدم الجهاز المتصل لجمع الحزم، وانقلها لتثبيتها على الجهاز غير المتصل.
استخدام وسائط تثبيت Ubuntu كمصدر لـ APT
يمكنك أيضًا استخدام قرص تثبيت Ubuntu أو USB كمصدر للحزم. غالبًا ما تحتوي هذه الوسائط على الحزم الأساسية مثل build-essential.
أدخل وسائط التثبيت وقم بتركيبها وأضفها كمصدر APT:
sudo mount /dev/sdb1 /mnt
sudo apt-cdrom -d=/mnt add
بعد ذلك يمكنك تحديث الحزم وتثبيت build-essential كما في الوضع العادي:
sudo apt update
sudo apt install build-essential
بهذه الطريقة يمكنك تجهيز بيئة البناء بدون اتصال إنترنت.
نقل واستخراج الشيفرة المصدرية
بعد تجهيز الأدوات، قم بتنزيل الشيفرة المصدرية مسبقًا على جهاز آخر وانقلها إلى الجهاز غير المتصل. بعد نقل الملفات، قم باستخراجها كما في الوضع العادي:
tar -xvzf software-1.2.3.tar.gz
cd software-1.2.3
ثم تابع خطوات البناء والتثبيت المعتادة: ./configure
ثم make
ثم sudo make install
.
نصائح هامة
في بيئة غير متصلة بالإنترنت، غالبًا ما تحدث أخطاء بسبب نقص الاعتمادات. لذلك من الأفضل تجربة البناء على جهاز متصل أولًا لمعرفة كل الحزم المطلوبة وتحضيرها مسبقًا.
8. الأسئلة الشائعة (FAQ)
عند تثبيت البرامج باستخدام “make install” في Ubuntu، قد تواجه العديد من الأسئلة أو المشاكل، خاصة إذا كنت مبتدئًا. هنا أكثر الأسئلة شيوعًا مع الإجابات.
س1. تظهر لي رسالة “Permission denied” عند تنفيذ make install
. ماذا أفعل؟
ج1.
يجب تنفيذ make install
بصلاحيات المدير (sudo) لأن الملفات تُنسخ إلى مسارات النظام مثل /usr/local/bin. استخدم الأمر:
sudo make install
بهذا تضمن إتمام التثبيت بالصلاحيات المناسبة.
س2. عند تنفيذ ./configure
تظهر رسالة “No such file or directory”. ما السبب؟
ج2.
هذا يعني أن سكريبت configure
غير موجود في المجلد الحالي. الأسباب الشائعة:
- لم يتم تحميل الشيفرة المصدرية بالكامل (ربما فشل التحميل).
- المشروع لا يستخدم autotools (ربما يستخدم CMake أو أداة أخرى).
- لا توجد صلاحية تنفيذ للسكريبت.
تحقق من وجود ملف configure
، وإذا لم يكن موجودًا راجع ملفات README أو INSTALL لمزيد من التعليمات.
س3. تظهر لي رسالة أن أمر make
غير موجود. ماذا أفعل؟
ج3.
لم يتم تثبيت أدوات البناء بعد. ثبّت build-essential بالأوامر التالية:
sudo apt update
sudo apt install build-essential
تشمل الحزمة جميع الأدوات الأساسية مثل make و gcc.
س4. كيف يمكنني تثبيت build-essential في وضع عدم الاتصال؟
ج4.
يمكنك تنزيل الحزمة مسبقًا مع جميع الاعتمادات باستخدام apt-offline أو باستخدام وسائط تثبيت Ubuntu كمصدر للحزم. هذه الطرق تتيح لك تجهيز البيئة دون إنترنت.
9. الخلاصة
يعد “make install” أداة أساسية لتثبيت البرامج من الشيفرة المصدرية على Ubuntu، خصوصًا عندما تحتاج إلى نسخ محدثة أو برامج مخصصة غير متوفرة عبر إدارة الحزم العادية.
شرحنا في هذا المقال خطوات تجهيز الأدوات، جلب الشيفرة، البناء، التثبيت، الإلغاء، والتعامل مع بيئة غير متصلة والأسئلة الشائعة. بفهم هذه العمليات، يمكنك التعامل مع أغلب البرامج المفتوحة المصدر بثقة حتى وإن ظهرت مشاكل غير متوقعة.
لا داعي للخوف من عمليات البناء على لينكس إذا اتبعت الخطوات الأساسية وقرأت رسائل الخطأ بعناية. إذا كنت ترغب في استكشاف المزيد من برامج Ubuntu، ننصحك بإتقان أوامر make install والحصول على بيئة تطوير أكثر مرونة واحترافية.