كانت هناك رغبة في التعرف على تطوير Android. تم التنزيل أندرويد ستوديو، تفكيكها وحذفها. قررت البحث عن خيارات التثبيت الأخرى. أثناء البحث، عثرت على Ubuntu Make (المعروف أيضًا باسم Ubuntu Developer Tools Center في الماضي)، وفي هذه الملاحظة القصيرة أريد أن أخبرك عنه.
ظهر مركز أدوات مطوري Ubuntu في الأخبار جنبًا إلى جنب مع Ubuntu 14.10 (Utopic Unicorn)، لكن يبدو لي أنه لم يجذب اهتمامًا واسع النطاق. بعد فترة ليست طويلة، تمت إعادة تسمية المشروع إلى Ubuntu Make، كما يطلق عليه حتى يومنا هذا، بعد أن تطور إلى الإصدار 0.4. تم تنفيذ التطوير بواسطة ديدييه روش، مهندس البرمجيات، Canonical. ومن الجدير بالذكر أيضًا حقيقة أن Ubuntu Make مكتوب بلغة Python 3.4.
الهدف الرئيسي للمشروع هو تثبيت احتياجات المطورين الشائعة بسرعة وسهولة في Ubuntu. وعلى الرغم من أنه لا يزال بعيدًا عن "الاحتياجات العامة" (لا تزال قائمة الحزم المتاحة للتثبيت صغيرة)، إلا أن كل شيء على ما يرام مع "السريع والبسيط".
حاليًا، باستخدام Ubuntu Make، يمكنك تثبيت:
Sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make
اوماك الروبوت
انتظر قليلا وهذه هي النتيجة:
تم تضمين الرمز الموجود في الشرطة وopenjdk (إذا لم تكن Java موجودة في النظام). بعد الإطلاق، قام "الاستوديو" بسحب SDK وتحديثه إلى الإصدار 1.0.2. تم إطلاق "Hello World" على الهاتف وتم الانتهاء من اختبار الأداء الوظيفي.
تم تثبيت Golang بالمثل:
بالنسبة إلى PyCharm وEclipse وIdea، ستتم إضافة وسيطة أخرى:
Umake بيئة تطوير متكاملة pycharm
لإزالة حزمة، ما عليك سوى إضافة الوسيطة "-r" إلى نفس السطر:
Umake بيئة تطوير متكاملة pycharm -r
خلاصة القول هي أن هذا الأمر في شكل "make install" أو "sudo make install" لا يمكن استخدامه في التوزيعات الحديثة.
لكن مؤلفي البرامج يكتبون في أدلة التثبيت أنك بحاجة إلى استخدام هذا الأمر، قد تقول. نعم يكتبون. لكن هذا يعني فقط أنهم لا يعرفون التوزيع الذي لديك، أو ما إذا كان توزيعًا على الإطلاق، ربما انضممت إلى طائفة ودخنت قراءة LFS وقررت الآن تجميع إنشائهم لنظام chthonic الخاص بك. ويعد إجراء التثبيت طريقة عالمية للقيام بذلك، على الرغم من أنها غير صحيحة في كثير من الأحيان.
في هذه الحالة، عند التحديث، يمكنك إزالة الأشياء غير الضرورية دون ألم، وفي الوقت نفسه معرفة ما إذا كانت الملفات التي تم وضع علامة عليها كتكوين قد تغيرت في النظام واسأل عما يجب فعله إذا كانت محتوياتها مختلفة في الإصدار الجديد. بالإضافة إلى ذلك، لن يسمح لك مدير الحزم بالكتابة فوق ملفات إحدى الحزم عند تثبيت حزمة أخرى. بشكل عام، يمكن أن تفعل الكثير من الأشياء المفيدة.
إذا قمت، بسبب الجهل/الكسل، بنسخ ولصق التثبيت من التعليمات، إذن تظهر ملفات على النظام لا يعلم عنها مدير الحزم. مع كل ما يعنيه ذلك، إذا كان ما تم ذكره سابقًا لا يكفيك.
لذلك تحتاج إلى جمع الحزمة.
يقوم Fakeroot بتثبيت DESTDIR=`pwd`/tempinstall
وبعد ذلك نحصل على مجموعة الملفات بأكملها في الدليل الذي تم إنشاؤه حديثًا. بالمناسبة، نحن الآن في بيئة Fakeroot، أي أنه يمكنك تغيير المالك وحقوق الوصول إلى الملفات دون أي قيود، ولكن فعليًا ستظل مالك النظام. سيتلقى البرنامج الموجود داخل جلسة Fakeroot معلومات تم تغييرها، مما سيسمح بأرشفة الملفات ذات الحقوق الصحيحة.
بعد ذلك، قم بإنشاء دليل DEBIAN في "حزمة الجذر" وأضف قائمة بجميع الملفات التي يجب أن تنتقل إلى /etc إلى DEBIAN/conffiles:
قرص مضغوط tempinstall mkdir DEBIAN تجد الخ | sed "s/^/\//" > DEBIAN/conffiles
ثم نقوم بإنشاء ملف DEBIAN/control بالمحتوى التالي:
إذا لزم الأمر، يمكنك أيضًا إنشاء نصوص برمجية preinst وpostinst وprerm وpostrm هناك.
هذا كل شيء، نقوم بتثبيت dpkg -b tempinstall والإخراج هو tempinstall.deb، والذي يمكنك تشغيل dpkg -i عليه والذي سيتم تثبيته أو تحديثه أو إزالته بشكل صحيح.
العملية "الصحيحة" مع إنشاء الحزمة المسبقة كود المصدريقع خارج نطاق هذه المذكرة، وبالتالي لن يتم وصفه، ولكنه عادةً ليس ضروريًا لأغراضك.
كما ترون، لا يوجد شيء معقد على الإطلاق هنا، ولكن اتباع هذه الخطوات سيوفر لك عددًا كبيرًا من المشكلات في المستقبل.
في كثير من الأحيان لا يمكن العثور على الحزم الضرورية إلا في النموذج المصدر؛ توضح هذه المقالة طريقة تثبيت حزمة من التعليمات البرمجية المصدر.
يتم توزيع البرامج عادةً في أرشيفات مجمعة، وهي ملفات ذات امتدادات
عليك أن تفهم الفرق بين أرشيفي وباكر.
يستخدم البرنامج لأرشفة الدلائل والملفات قطران; ونتيجة عمله هو ملف بامتداد .قطران. بالمعنى التقريبي، هذه نسخة نظام الملفات- الدلائل والملفات بخصائصها وحقوق الوصول إليها، موضوعة في ملف واحد.
سيكون حجم هذا الملف أكبر قليلاً من الحجم الإجمالي للملفات التي تم أرشفتها. لذلك (أو ربما لسبب آخر) يستخدمون برامج الحزم - وهي برامج تسمح لك بتقليل حجم الملف دون فقدان البيانات.
برنامج قطرانيمكن تفريغها، لذلك لا حاجة للاتصال com.gunzipأو يمكنك ببساطة إخبار البرنامج قطرانأنه يجب أولاً فك ضغط الملف. على سبيل المثال، الأمر
القطران -xvf< some_app_name>.tar.gzسيتم فك ضغطه وفك ضغطه على الفور. الفرق بين الملفات والامتدادات
فقط تم استخدام حزم مختلفة، البرنامج قطرانيحدد طريقة الضغط تلقائيا وخيارات إضافية في في هذه الحالةغير مطلوب.
بعد التفريغ، يجب عليك الانتقال إلى الدليل الناتج؛ ويتم تنفيذ جميع الأوامر الموضحة أدناه في الدليل باستخدام الكود المصدري للحزمة.
قرص مضغوط< имя_пакета>*لبناء برامج في جنو/لينكس، تستخدم (في الغالب) البرنامج يصنع، الذي يدير التعليمات من ملف تعريف، ولكن بما أن هناك العديد من توزيعات GNU/Linux، وجميعها مختلفة، فمن أجل تجميع البرنامج، تحتاج لكل توزيعة إلى تحديد المسارات التي توجد بها المكتبات وملفات الرأس بشكل منفصل. لا يستطيع المبرمجون دراسة كل توزيعة وإنشاء كل منها بشكل منفصل ملف تعريف. لذلك، توصلوا إلى مكونين "يدرسون" النظام ويقومون بإنشاءه وفقًا للمعرفة المكتسبة ملف تعريف. لكنهم لم يتوقفوا عند المكوّنات وتوصلوا إلى مكوّنات المكوّنات...وهذا هو المكان الذي توقفوا فيه
للبناء نحتاج إلى مترجمين: تم تحديدهم في تبعيات الحزمة بناء ضروري، لذلك يكفي تثبيته بكل التبعيات. لا تزال هناك حاجة com.autoconfو com.automake.
لذلك، لبناء شيء ما من المصدر، تحتاج أولاً إلى إنشاء مكون؛ تم شرح كيفية إنشاء المكوّن في ملفconfig.in. لبناء المكوّن الذي تحتاجه للتشغيل
./ bootstrap ./ autogen.shإذا لم تكن هناك مثل هذه البرامج النصية في الأرشيف، فيمكنك تشغيل الأوامر التالية بالتسلسل:
alocal autoheader automake --gnu --add-missing --copy --foreign autoconf -f -Wallكل هذه الأوامر تستخدم الملف تكوين.in. بعد تنفيذ هذه الأوامر، سيتم إنشاء ملف تكوين. بعد ذلك، تحتاج إلى تشغيل المكوّن للتحقق من وجود جميع التبعيات، بالإضافة إلى تثبيت خيارات بناء إضافية (إن أمكن) وعرض نتيجة التثبيت (اختياري - قد لا يكون موجودًا)
./ تكوينسيقوم المكوّن بإنشاء ملف Makefile بناءً على المعرفة المكتسبة والملف makefile.am. يمكنك تمرير الخيارات المتوفرة في مصادر البرنامج إلى المكوّن، والتي تسمح لك بتمكين/تعطيل ميزات معينة في البرنامج، وعادةً ما يمكنك التعرف عليها باستخدام الأمر
./ تكوين --مساعدةهناك أيضًا مجموعة من الخيارات القياسية، مثل
البادئة=
الذي يحدد الدليل الذي سيتم استخدامه للتثبيت. عادة لأوبونتو
--prefix =/ usr --prefix =/ usr/ localبدونقطع في النهاية! يمكنك الآن بدء عملية بناء البرنامج نفسه باستخدام الأمر
يصنعامتيازات كافية للبناء مستخدم عادي. يمكن اعتبار نهاية البناء اللحظة التي يتوقف فيها تنفيذ الأوامر الموجودة في وحدة التحكم "عشوائيًا" ولا توجد كلمة خطأ. الآن تم تجميع كل شيء وجاهز للتثبيت.
إن الجهود المبذولة في التثبيت الصحيح ستؤتي ثمارها في المستقبل إذا تمت إزالة البرنامج المثبت أو تحديثه.
التثبيت باستخدام الأداة المساعدة com.checkinstall. للتثبيت:
Sudo apt-get install checkinstallناقص هذه الطريقة: com.checkinstallلا يفهم جميع المصادر، حيث يمكن لمؤلف البرنامج كتابة نصوص تثبيت خاصة و com.checkinstallلن يفهمهم.
لإنشاء وتثبيت حزمة deb تحتاج إلى تشغيلها
سودو تحقق التثبيتقم بإنشاء حزمة deb يدويًا بسرعة.
يتمثل الاختلاف الرئيسي عن الطريقة السابقة في أنه في هذه الحالة تقوم بإنشاء الحزمة يدويًا وتتبع جميع التغييرات التي تجريها. ستناسبك هذه الطريقة أيضًا إذا كانت المصادر لا تدعم بناء الحزمة بها com.checkinstall.
نقوم بالتثبيت في دليل مؤقت، حيث نحصل على المجموعة الكاملة من الملفات المثبتة:
لنقم بإنشاء دليل DEBIAN في "حزمة الجذر" ونضيف قائمة بجميع الملفات التي يجب أن تنتقل إلى /etc إلى DEBIAN/conffiles:
sed "s/^/\//" > DEBIAN/ conffiles
إذا لزم الأمر، يمكنك أيضًا إنشاء نصوص برمجية preinst وpostinst وprerm وpostrm هناك.
الحزمة: package_name الإصدار: 1.2.3 البنية: amd64/i386/armel/all المشرف: يمكنك إدخال اسمك، يمكنك القمامة، ولكن إذا تركته فارغًا، فسوف يقسم dpkg حسب: هنا يمكنك إدخال قائمة الحزم مفصولة بفواصل. الأولوية: اختيارية الوصف: تحتاج أيضًا إلى إدخال شيء ما حتى لا تكون هناك تحذيرات
dpkg -b التثبيت المؤقت
عيب هذه الطريقة هو أنه إذا قمت بالتثبيت مباشرة عبر make install، فمن المرجح أنك لن تتمكن من إزالة الحزمة أو تحديثها بشكل طبيعي. علاوة على ذلك، فإن تثبيت إصدار جديد فوق الإصدار القديم سيؤدي على الأرجح إلى استبدال التغييرات التي أجريتها في التكوينات. يقوم برنامج make install بتنفيذ ما يُطلب منه بالضبط - فهو يقوم بتثبيت الملفات في الأماكن الصحيحة، متجاهلاً حقيقة وجود شيء ما بالفعل. بعد هذه العملية، من المستحيل تمامًا الحصول على أي معلومات حول ما تم وضعه وأين بشكل سهل الهضم. في بعض الأحيان، بالطبع، يدعم Makefile إجراء إلغاء التثبيت، ولكن هذا ليس شائعًا جدًا، وليس حقيقة أنه يعمل بشكل صحيح. بالإضافة إلى ذلك، ستحتاج إلى تخزين الشجرة المصدر التي تم فك حزمتها وإنشاء قواعد لإلغاء التثبيت.
لتثبيت ما عليك القيام به
سودو جعل التثبيتلإزالة حزمة تم تثبيتها باستخدام هذه الطريقة، يجب عليك تنفيذها في الدليل الجذر لمصادر البرنامج (حيث قمت بتشغيل make install).
سودو جعل إلغاء التثبيتفي كثير من الأحيان، في مرحلة التكوين، يقوم المكوِّن بالإبلاغ عن فقدان مكتبة معينة. اسم المكتبة الذي تبلغ عنه لا يتطابق دائمًا مع اسم الحزمة في Ubuntu. من تجربتي الخاصة، يمكنني أن أنصحك بالبحث في Synaptic عن الحزمة المطلوبة، باستثناء البادئة lib، إذا وجدت عدة حزم تختلف مع البادئة -dev في الاسم، فأنت بحاجة إلى تثبيت الحزمة -dev (عادةً ما تكون كذلك)؛ يستلزم أيضًا حزمة غير مطورة). يمكنك أيضًا البحث باستخدام http://packages.ubuntu.com/ عن طريق إدخال اسم المكتبة في البحث عن محتويات الحزمة، وبالمثل، إذا وجدت dev وnon-dev، فأنت بحاجة إلى كليهما. حسنا، أو مجرد البحث في جوجل.
الحزم التي تحتوي على مم في نهاية الوصف هي حزم لبرامج C++. قائمة bmpx، ولكنها مناسبة لأي برنامج GTK2/Gnome تقريبًا. لذا، إذا لم تتمكن من تجميعها، فانظر إلى هذه القائمة وقارنها بما قمت بتثبيته.
تجميع: | وقت التشغيل: | |
---|---|---|
X | libx11-dev | ليبكس11-6 |
جليب إم إم | libglibmm-2.4-dev | libglibmm-2.4-1c2a |
جتك + | libgtk2.0-dev,gtk-doc-tools | libgtk2.0-0 |
جتككم | libgtkmm-2.4-dev | libgtkmm-2.4-1c2a |
الفسحة | libglade2-dev | libglade2-0 |
جليدMM | libglademm-2.4-dev | libglademm-2.4-1c2a |
XML | libxml2-dev | libxml2 |
XML++ | libxml++2.6-dev | libxml++2.6c2a |
دي باص | libdbus-1-dev،libdbus-glib-1-dev | libdbus-1-2، libdbus-glib-1-2 |
السا | libasound2-dev | ليباسوند2 |
هال | libhal-dev، libhal-storage-dev | libhal1,libhal-storage1 |
صبي | libgamin-dev | ليبغامين0 |
نيون | libneon25-dev | libneon25 |
TagLib | libtagc0-dev | libtagc0 |
إخطار بدء التشغيل | libstartup-notification0-dev | إعلام libstartup0 |
يعزز | libboost-dev،liboost-filesystem-dev | libboost-نظام الملفات1.33.1 |
MusicBrainz | libmusicbrainz4-dev | libmusicbrainz4c2a |
جي ستريمر | libgstreamer0.10-dev،libgstreamer-plugins-base0.10-dev | libgstreamer0.10-0،libgstreamer-plugins-base0.10-0 |
ويجب أيضًا تثبيت أنظمة أخرى برامج إضافية. في أنظمة التشغيلفي نظام التشغيل Windows، كل شيء بسيط للغاية، كقاعدة عامة، يوجد مُثبت يسمى setup.exe يساعد في تثبيت البرنامج. لكن في لينكس الأمور مختلفة قليلاً. كيفية تثبيت البرامج على لينكس؟الآن دعونا نلقي نظرة على هذا السؤال.
هناك عدة أنواع في نظام Linux حزم التثبيتوكل توزيع له تنسيق الحزمة الخاص به. في التوزيعات فيدورا، ماندريفا، القبعة الحمراءويتم استخدام سوس التثبيت القياسيلنظام Linux RPM، تم تطويره بواسطة Red Hat. عادةً ما يتم تسمية ملف حزمة RPM اسم البرنامج-version.rpm.
تنسيق آخر شائع جدًا هو DEB. تستخدم في دبيان وأوبونتو ونوبيكس وميبيس. لديه اسم اسم البرنامج-version.deb.
واقتربنا من الأرشيف. عادةً ما تكون هذه الامتدادات .tar و .tar.gz و .tgz. يجب أن يتم تفكيكها ثم تثبيتها/تجميعها.
تحتاج إلى تنفيذ إجراء تثبيت البرنامج كمستخدم متميز.
التنقل السريع
هناك العديد من الأدوات للعمل مع حزم DEB، ولكن الأداة الأكثر استخدامًا هي apt-get، والتي يتم تضمينها في مجموعة الأدوات القياسية. لتثبيت التطبيق، أدخل الأمر:
apt-get install package_name
لإزالة:
الرابطة بين الحصول على إزالة package_name
متاجر ايه بي تي قاعدة البيانات المحليةبيانات عن جميع الحزم المتاحة للتثبيت وروابط لمكان الحصول عليها. تحتاج قاعدة البيانات هذه إلى التحديث من وقت لآخر باستخدام الأمر:
الرابطة بين الحصول على التحديث
لتحديث الحزم (البرامج) القديمة على جهاز الكمبيوتر، اكتب الأوامر التالية:
الرابطة بين الحصول على التحديث؛ شقة-الحصول على الترقية
أداة مشابهة لـ APT هي yum. لتنزيل الحزمة وتثبيتها من المستودع الذي تم تكوينه، اكتب الأمر:
يم تثبيت package_name
يم إزالة package_name
لم يتم حفظ قاعدة بيانات yum المحلية، لذا ليست هناك حاجة للتحديث. لتثبيت التحديثات، استخدم الأمر:
تحديث يم
حدد شيئًا محددًا للتحديث:
يم تحديث package_name
لدى Mandriva مجموعتها الخاصة من الأدوات للعمل مع الحزم، والتي تسمى urpmi. للتثبيت:
urpmi package_name
لإزالة:
urpme package_name
قم بتحديث قاعدة البيانات المحلية بقائمة الحزم:
com.urpmi. التحديث-أ
لتثبيت التحديثات:
urpmi --الاختيار التلقائي
بالنسبة للأرشيفات المضغوطة باستخدام GZIP (gz، gz2، وما إلى ذلك) نقوم بذلك:
القطران -xvz f اسم الملف
بالنسبة للأرشيفات المضغوطة باستخدام BZIP (bz، bz2، وما إلى ذلك) فالأمر مختلف قليلاً:
القطران - اسم الملف xvjf
أوامر القطران:
بعد تنفيذ الأمر، سيتم إنشاء مجلد باسم مشابه لاسم الحزمة. فأنت بحاجة إلى فتح هذا المجلد الذي تم إنشاؤه باستخدام الأمر:
اسم مجلد القرص المضغوط
بعد ذلك، في الأرشيف الذي تم تفكيكه، اقرأ التعليمات الموجودة في ملف README، إن وجدت. على أية حال، إذا تم تجميع البرنامج في النموذج ملف قابل للتنفيذ، فستحتوي الحزمة على ملف .sh، يُسمى عادةً install.sh