المحتوى عن 'fedora'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • مقالات عامة
  • التجارة الإلكترونية

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML5
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات عامّة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • مقالات عامّة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 5 نتائج

  1. تستخدم بعض توزيعات لينكس، خصوصا تلك المعتمدة على Fedora مثل CentOS وRed Hat Enterprise Linux، حزم RPM لتثبيت البرامج وإدارتها. ملف rpm. هو عبارة عن تجميع لبرامج ومكتبات تحتاجها هذه البرامج في حزمة تُستخدَم أداة باسم rpm لتثبيتها. الأداة rpm هي أداة مفتوحة المصدر تحتفظ ببيانات الحزم المثبّتة على النظام في المجلّد var/lib/rpm/. من المهم الانتباه إلى أن أداة rpm لا تستطيع التعامل مع البرامج التي ثُبِّتت انطلاقا من المصدر Source. يحتوي ملفّ rpm. على معلومات من قبيل ماهية الحزمة، من أين تأتي، الاعتماديات التي تحتاجها للعمل، الإصدار… إلخ. توجد خمسة أوضاع أساسية لأداة rpm: التثبيت i-: يُستخدَم لتثبيت حزم RPM. الحذف e-: يُستخدَم لحذف حزمة وإلغاء تثبيتها. الترقية U-: يُحدّث حزمة مثبّتة (تثبيت إصدار جديد من الحزمة). التحقق V-: يُستخدَم للتحقّق من حزمة RPM. الاستعلام q-: يُستخدَم للاستعلام عن حزم RPM. حزم RPM هي حزم قائمة بذاتها؛ تمكن الاستفادة من المواقع التالية للحصول على حزم RPM الخاصّة ببرنامج تريده: redhat.com rpmfind.net. rpm.pbone.net rpmseek.com يقدّم هذا المقال أمثلة لأوامر RPM من أجل المساعدة في تثبيت البرامج، تحديثها أو حذفها على توزيعة تستخدم RPM للتحزيم. ملحوظة: يجب أن تكون لديك صلاحيات الجذر حتى تستطيع إدارة الحزم. التحقق من توقيع حزمة يجب أولا التحقّق من مصدر الحزمة وموثوقيتها قبل تثبيتها. يُستخدم الخيار checksig-- مع الأمر rpm لهذا الغرض. لكي نستطيع التحقق من حزمة فإنه يجب أولا استيراد المفاتيح العمومية Public keys الخاصّة بالنظام الذي نعمل عليه (Fedora، CentOS، RHEL أو غيرها). بالنسبة لتوزيعة Red Hat Enterprise Linux فالأمر على النحو التالي: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-* نطلب في الأمر التالي التحقق من الحزمة pidgin-1.5.1-6.el3.x86_64.rpm: [root@academy1 ~]# rpm --checksig pidgin-1.5.1-6.el3.x86_64.rpm pidgin-1.5.1-6.el3.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK لاحظ أن نتيجة التحقق هي OK. تثبيت حزمة يطلُب الأمر التالي تثبيت الحزمة pidgin-1.5.1-6.el3.x86_64.rpm التي تحققنا من موثوقيتها أعلاه: [root@academy1 ~]# rpm -ivh pidgin-1.5.1-6.el3.x86_64.rpm Preparing... ########################################### [100%] 1:pidgin ########################################### [100%] تظهر في الأمر أعلاه الخيارات التالية: i-: وضع التثبيت، v-: طلب إظهار رسائل بتقدم عملية التثبيت، h-: طلب إظهار علامات # للدلالة على التقدم الحاصل في تنفيذ خطوات التثبيت. الخياران الأخيران v- وh- ليسا ضروريين. التحقق من اعتماديات حزمة قبل تثبيتها تتيح أداة rpm التحقق من اعتماديات حزمة قبل تثبيتها، مثلا للتحقق من اعتماديات الحزمة pidgin-2.11.0-1.fc24.x86_64.rpm: [root@academy1 ~]# rpm -qpR pidgin-1.5.1-6.el3.x86_64.rpm /bin/sh /bin/sh glib2 >= 2.2 htmlview libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXext.so.6()(64bit) libao.so.2()(64bit) libatk-1.0.so.0()(64bit) libaudiofile.so.0()(64bit) (...) يشير الخيار q- إلى أننا في وضع الاستعلام عن الحزمة. يطلب الخيار p- معلومات عن حزمة غير مثبّتة ويسرُد الخيار R- اعتماديّات الحزمة. تثبيت حزمة بغض النظر عن اعتمادياته لا يقبل rpm في الحالة العادية تثبيت حزمة إلا إذا كانت جميع اعتمادياتها مثبتة؛ إلا أنه يمكن إجباره على ذلك باستخدام الخيار nodeps--: [root@academy1 ~]# rpm -ivh --nodeps pidgin-1.5.1-6.el3.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:pidgin-1.5.1-6.el3 ################################# [100%] يُثبّت الأمر أعلاه الحزمة بتجاهل الأخطاء المتعلقة باعتماديّاتها؛ إلا أن البرنامج لن يعمل إلا بعد تثبيت الاعتماديات المطلوبة. التحقق من أن حزمة مثبّتة استخدم وضع الاستعلام q- للتأكد من أن حزمة مّا مثبتة على النظام: [root@academy1 ~]# rpm -q BitTorrent package BitTorrent is not installed [root@academy1 ~]# rpm -q pidgin pidgin-1.5.1-6.el3.x86_64.rpm سرد قائمة بجميع ملفات حزمة مثبتة أضف خيار السرد l- إلى وضع الاستعلام q- للحصول على قائمة بملفات حزمة مثبتة على النظام: [root@academy1 ~]# rpm -ql pidgin /etc/gconf/schemas/purple.schemas /usr/bin/gaim /usr/bin/pidgin /usr/lib64/pidgin /usr/lib64/pidgin/convcolors.so /usr/lib64/pidgin/extplacement.so /usr/lib64/pidgin/gestures.so /usr/lib64/pidgin/gtkbuddynote.so (...) سرد الحزم المُثبتة يسرُد الخيار a- عند استخدامه في وضع الاستعلام قائمة بأسماء جميع الحزم المثبتة: [root@academy1 ~]# rpm -qa libsss_nss_idmap-1.13.0-40.el7_2.9.x86_64 pygobject3-base-3.14.0-3.el7.x86_64 libfprint-0.5.0-3.el7.x86_64 man-pages-3.53-5.el7.noarch redhat-release-server-7.2-9.el7.x86_64 rsyslog-7.4.7-12.el7.x86_64 libsane-hpaio-3.13.7-6.el7_2.1.x86_64 (...) يمكن ترتيب القائمة لتظهر الحزم المثبتة مؤخرا في الأعلى باستخدام الخيار last--: [root@academy1 ~]# rpm -qa --last pidgin-1.5.1-6.el3.x86_64.rpm Sun 04 Sep 2016 09:47:32 PM GMT glibc-devel-2.17-106.el7_2.8.x86_64 Tue 02 Aug 2016 11:42:29 PM GMT nss-pam-ldapd-0.8.13-8.el7.x86_64 Tue 02 Aug 2016 11:42:23 PM GMT nscd-2.17-106.el7_2.8.x86_64 Tue 02 Aug 2016 11:42:17 PM GMT glibc-headers-2.17-106.el7_2.8.x86_64 Tue 02 Aug 2016 11:42:14 PM GMT glibc-common-2.17-106.el7_2.8.x86_64 Tue 02 Aug 2016 11:42:01 PM GMT (...) تحديث حزمة يُستخدَم وضع الترقية U- لتحديث إصدار حزمة مثبتة. يحتفظ أمر rpm عند تحديث حزمة بنسخة احتياطية من الإصدار المثبت للعودة إليها في حال لم تعمل الحزمة حسب المطلوب بعد تحديثها: [root@academy1 ~]# rpm -Uvh pidgin-1.5.1-6.el3.x86_64.rpm Preparing... ########################################### [100%] 1:pidgin ########################################### [100%] حذف حزمة استخدم الخيار e- مع الأمر rpm لحذف حزمة بذكر اسمها. مثلا؛ لحذف حزمة pidgin السابقة: [root@academy1 ~]# rpm -e pidgin تمكن أيضا إضافة الخيار v إلى الأمر لعرض رسائل بما يحدُث: [root@academy1 ~]# rpm -ev pidgin Preparing packages... pidgin-1.5.1-6.el3.x86_64.rpm كما يمكن الإبقاء على اعتماديات الحزمة باستخدام الخيار nodeps-- مع أمر الحذف وهو ما ينتج عنه حذف الحزمة فقط دون اعتمادياتها: [root@academy1 ~]# rpm -ev --nodeps pidgin انتبه إلى أن حذف حزمة من النظام يمكن أن يؤدي إلى عدم استقراره؛ لذا تأكد من حاجتك فعلا لحذف الحزمة. معرفة الحزمة التي ينتمي إليها ملف استخدم الخيار f- في وضع الاستعلام لمعرفة الحزمة التي ينتمي إليها ملف. مثلا؛ تخبرنا نتيجة الأمر التالي أن الملف usr/bin/htpasswd/ ينتمي للحزمة httpd-tools-2.4.6-40.el7_2.4.x86_64. [root@academy1 ~]# rpm -qf /usr/bin/htpasswd httpd-tools-2.4.6-40.el7_2.4.x86_64 الحصول على معلومات عن حزمة يعرض الخيار i- عند استخدامه في وضع الاستعلام معلومات عن حزمة مثبتة؛ مثلا بالنسبة لحزمة vsftpd: [root@academy1 ~]# rpm -qi vsftpd Name : vsftpd Version : 3.0.2 Release : 11.el7_2 Architecture: x86_64 Install Date: Thu 21 Jul 2016 03:29:37 PM GMT Group : System Environment/Daemons Size : 355788 License : GPLv2 with exceptions Signature : RSA/SHA256, Fri 18 Mar 2016 01:08:35 AM GMT, Key ID 199e2f91fd431d51 Source RPM : vsftpd-3.0.2-11.el7_2.src.rpm Build Date : Wed 24 Feb 2016 11:06:41 AM GMT Build Host : x86-019.build.eng.bos.redhat.com Relocations : (not relocatable) Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Vendor : Red Hat, Inc. URL : https://security.appspot.com/vsftpd.html Summary : Very Secure Ftp Daemon Description : vsftpd is a Very Secure FTP daemon. It was written completely from scratch. أما إن أردت الحصول على معلومات عن حزمة قبل تثبيتها فالأمر هو التالي: [root@academy1 ~]# rpm -qip pidgin-1.5.1-6.el3.x86_64.rpm Name : pidgin Version : 1.5.1 Release : 6.el3 Architecture: x86_64 Install Date: (not installed) Group : Applications/Internet Size : 11168813 License : GPL Signature : DSA/SHA1, Thu 29 Oct 2009 08:14:44 AM GMT, Key ID 219180cddb42a60e Source RPM : pidgin-1.5.1-6.el3.src.rpm Build Date : Wed 28 Oct 2009 03:52:51 PM GMT Build Host : x86-003.build.bos.redhat.com Relocations : (not relocatable) Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Vendor : Red Hat, Inc. URL : http://www.pidgin/im/ Summary : A Gtk+ based multiprotocol instant messaging client Description : Pidgin allows you to talk to anyone using a variety of messaging protocols, including AIM, ICQ, IRC, Yahoo!, Novell Groupwise, MSN Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols are implemented using a modular, easy to use design. To use a protocol, just add an account using the account editor. Pidgin supports many common features of other clients, as well as many unique features, such as perl scripting, TCL scripting and C plugins. Pidgin is NOT affiliated with or endorsed by America Online, Inc., Microsoft Corporation, Yahoo! Inc., or ICQ Inc. [root@academy1 ~]# الاستعلام عن التوثيق Documentation الخاص بحزمة مثبتة يمكن الحصول على مستندات التوثيق الخاصّة بحزمة باستخدام الخيارين df- في وضع الاستعلام. يأخذ الأمر معطى عبارة عن مسار الحزمة؛ وهو ما يمكن الحصول عليه عن طريق الأمر which. نطلب في المثال التالي معرفة مسار الحزمة vsftpd ثم نستعلم عن مستدات التوثيق الخاصّة بها: [root@academy1 ~]# which vsftpd /sbin/vsftpd [root@academy1 ~]# rpm -qdf /sbin/vsftpd /usr/share/doc/vsftpd-3.0.2/AUDIT /usr/share/doc/vsftpd-3.0.2/BENCHMARKS /usr/share/doc/vsftpd-3.0.2/BUGS /usr/share/doc/vsftpd-3.0.2/COPYING /usr/share/doc/vsftpd-3.0.2/Changelog (...) التحقق من حزمة تقارن أداة rpm عند طلب التحقق من حزمة المعلومات المستقاة من الملفات المثبتة مع تلك الموجودة في قاعدة بيانات rpm. يُستخدم الخيار V- لوضع التحقق وp لتمرير حزمة إلى الأمر: [root@academy1 ~]# rpm -Vp vsftpd-3.0.3-2.fc24.x86_64.rpm warning: vsftpd-3.0.3-2.fc24.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 81b46521: NOKEY .......T. c /etc/logrotate.d/vsftpd .......T. c /etc/pam.d/vsftpd .......T. c /etc/vsftpd/ftpusers .......T. c /etc/vsftpd/user_list .......T. c /etc/vsftpd/vsftpd.conf .......T. /etc/vsftpd/vsftpd_conf_migrate.sh .......T. /usr/lib/systemd/system-generators/vsftpd-generator .......T. /usr/lib/systemd/system/vsftpd.service .......T. /usr/lib/systemd/system/vsftpd.target .......T. /usr/lib/systemd/system/vsftpd@.service S.5....T. /usr/sbin/vsftpd missing /usr/share/doc/vsftpd missing d /usr/share/doc/vsftpd/AUDIT missing d /usr/share/doc/vsftpd/BENCHMARKS missing d /usr/share/doc/vsftpd/BUGS (...) يمكن طلب التحقق من جميع الحزم في النظام بالخيار a في وضع التحقق على النحو التالي: [root@academy1 ~]# rpm -Va S.5....T. c /etc/os-release S.5....T. /usr/src/kernels/3.10.0-327.22.2.el7.x86_64/include/config/auto.conf S.5....T. /usr/src/kernels/3.10.0-327.22.2.el7.x86_64/include/config/auto.conf.cmd S.5....T. /usr/src/kernels/3.10.0-327.22.2.el7.x86_64/include/config/tristate.conf S.5....T. /usr/src/kernels/3.10.0-327.22.2.el7.x86_64/include/generated/autoconf.h (...) سرد جميع المفاتيح العمومية المستوردة يمكنك إن أردت سرد جميع المفاتيح العمومية للحزم المثبتة على نظامك، وذلك على النحو التالي: [root@academy1 ~]# rpm -qa gpg-pubkey* gpg-pubkey-2fa658e0-45700c69 gpg-pubkey-37017186-45761324 gpg-pubkey-897da07a-3c979a7f gpg-pubkey-f21541eb-4a5233e7 gpg-pubkey-42193e6b-4624eff2 gpg-pubkey-fd431d51-4ae0493b gpg-pubkey-db42a60e-37ea5438 تصحيح قاعدة بيانات RPM معطوبة يحدُث أن تُصاب قاعدة البيانات الخاصّة بحزم RPM بعُطب مما ينتُج عنه غياب وظائف من أداة rpm. يمكنك في هذه الحالة محاولة بناء قاعدة البيانات من جديد بالأوامر التالية: [root@academy1 ~]# cd /var/lib/rpm [root@academy1 rpm]# rm __db* [root@academy1 rpm]# rpm --rebuilddb [root@academy1 rpm]# /usr/lib/rpm/rpmdb_verify Packages BDB5105 Verification of Packages succeeded. ترجمة - وبتصرف - لمقال 20 Practical Examples of RPM Commands in Linux لصاحبه Ravi Saive.
  2. يتناول هذا المقال كيفية تثبيت الحزم، تحديثها، حذفها، البحث عنها وإدارة مستودعاتها Repositories على توزيعة لينكس تستخدم مدير الحزم YUM الذي تُطوّره شركة Red Hat. يُمكن استخدام الأمثلة المذكورة في هذا الدّرس، والتي جُرِّبت على خادوم Red Hat Enterprise Linux 7، لأغراض الدراسة، التحضير لشهادة متخصّصة أو لاستكشاف طرق جديدة لتثبيت الحزم والإبقاء على نظامك محدَّثا. يجب، لكي تتبع الأمثلة المقدَّمة في هذا الدرس، أن يكون لديك فهم لأساسيات عمل الأوامر في لينكس وتوزيعة تستخدم YUM للتجربة عليها، Fedora أو Red Hat Enterprise Linux 7 على سبيل المثال. ما هو مدير الحزم YUM؟ يُستخدَم مدير الحزم YUM (اختصار لـYellowdog Updater Modified) لإدارة البرامج المُحزَّمة بصيغة RPM (RedHat Package Manager). يمكن استخدام YUM من سطر الأوامر أو عبر واجهة رسومية. يتيح مدير الحزم YUM لمدير النظام تثبيت الحزم، تحديثها، حذفها أو البحث عنها. يُوزَّع مدير الحزم YUM حسب رخصة غنو GNU العمومية. تثبيت الحزم يُستخدَم الأمر install في مدير الحزم YUM على النحو التالي لتثبيت حزمة برنامج يُسمَّى Firefox. يتولّى مدير الحزم تثبيت الاعتمادات Dependencies، أي البرامج والمكتبات Libraries التي يتطلب عملُ الحزمة Firefox وجودَها (يجب أن تكون لديك صلاحيات المستخدم الجذر لتثبيت الحزم): [root@academy1 ~]# yum install firefox Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Resolving Dependencies --> Running transaction check ---> Package firefox.x86_64 0:45.3.0-1.el7_2 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================= Package Arch Version Repository Size ========================================================================= Installing: firefox x86_64 45.3.0-1.el7_2 rhel-7-server-eus-rpms 76 M Transaction Summary ========================================================================= Install 1 Package Total download size: 76 M Installed size: 142 M Is this ok [y/d/N]: y Downloading packages: (...) Installed: firefox.x86_64 0:45.3.0-1.el7_2 Complete! يطلُب الأمر أعلاه التأكيد (Is this ok) قبل البدء في تنزيل الحزمة وتثبيتها (اكتب y ثم اضغط على زرّEnter للتأكيد). استخدم الخيار y- إن كنت ترغب في تثبيت الحزم تلقائيا دون طلب التأكيد: # yum -y install firefox حذف حزمة يحذف الأمر التالي الحزمة firefox تماما من النظام (بما في ذلك اعتماداتها): [root@academy1 ~]# yum remove firefox Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Resolving Dependencies --> Running transaction check ---> Package firefox.x86_64 0:45.3.0-1.el7_2 will be erased --> Finished Dependency Resolution Dependencies Resolved =========================================================================================== Package Arch Version Repository Size =========================================================================================== Removing: firefox x86_64 45.3.0-1.el7_2 @rhel-7-server-eus-rpms 142 M Transaction Summary =========================================================================================== Remove 1 Package Installed size: 142 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : firefox-45.3.0-1.el7_2.x86_64 1/1 Verifying : firefox-45.3.0-1.el7_2.x86_64 1/1 Removed: firefox.x86_64 0:45.3.0-1.el7_2 Complete! يطلُب الأمر التأكيد قبل حذف الحزمة. استخدم الخيار y- لتعطيل طلب التأكّد كالتالي: # yum -y remove firefox تحديث حزمة فلنفترض أن لديك حزمة MySQL قديمة، لم تُحدَّث منذ زمن؛ وترغب في تحديثها إلى آخر إصدار. الأمر التالي يؤدي المهمة: # yum update mysql سرد قائمة بالحزم يُستخدَم أمر السرد list للبحث عن حزمة معيّنة عن طريق اسمها. يبحث الأمر التالي عن حزمة باسم openssh: [root@academy1 ~]# yum list openssh Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Installed Packages openssh.x86_64 6.6.1p1-25.el7_2 @rhel-7-server-eus-rpms يمكن جعل البحث أكثر دقة بذكر إصدار الحزمة إن عُرِف؛ مثلا: # yum list openssh-6.6.1p1 البحث عن حزمة يمكن استخدام الأمر search للبحث عن حزمة لا تتذكر اسمها بالضبط؛ مثلا نبحث عن ftp: [root@academy1 ~]# yum search ftp Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager ================== N/S matched: ftp ================================= ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client tftp.x86_64 : The client for the Trivial File Transfer Protocol (TFTP) tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP) vsftpd.x86_64 : Very Secure Ftp Daemon curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and others) lftp.i686 : A sophisticated file transfer program lftp.x86_64 : A sophisticated file transfer program wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols Name and summary matches only, use "search all" for everything. الحصول على معلومات عن حزمة استخدم الأمر info للحصول على معلومات عن حزمة؛ مثلا قبل تثبيتها: [root@academy1 ~]# yum info firefox Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Available Packages Name : firefox Arch : x86_64 Version : 45.3.0 Release : 1.el7_2 Size : 76 M Repo : rhel-7-server-eus-rpms/7Server/x86_64 Summary : Mozilla Firefox Web browser URL : http://www.mozilla.org/projects/firefox/ License : MPLv1.1 or GPLv2+ or LGPLv2+ Description : Mozilla Firefox is an open-source web browser, designed for standards : compliance, performance and portability. سرد جميع الحزم المتوفّرة يسرُد الأمر list عند استخدامها دون معطيات جميع الحزم المتوفرة في المستودعات؛ وهي كثيرة؛ لذا أعد توجيه نتيجة أمر السّرد إلى الأمر less لتيسير عمليّة التصفح: [root@academy1 ~]# yum list | less استخدم المعطى installed إن أردت أن يقتصر السّرد على الحزم المثبّتة: [root@academy1 ~]# yum list installed | less العثور على حزمة انطلاقا من ملفّ يُستخدَم الأمر provides في مدير الحزم YUM لمعرفة الحزمة التي يتبع لها ملفّ مّا. مثلا؛ نريد معرفة الحزمة التي توفّر ملفّ الإعداد etc/httpd/conf/httpd.conf/، لذا ننفذ الأمر بالطريقة التالية: [root@academy1 ~]# yum provides /etc/httpd/conf/httpd.conf Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager httpd-2.4.6-17.el7.x86_64 : Apache HTTP Server Repo : rhel-7-server-eus-rpms Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.4.6-17.el7.x86_64 : Apache HTTP Server Repo : rhel-7-server-rpms Matched from: Filename : /etc/httpd/conf/httpd.conf يُظهر الأمر اسم الحزمة والمستودع الذي تأتي منه. التحقق من وجود تحديثات وتحديث النظام استخدم الأمر yum check-update لمعرفة الحزم المثبّتة التي تتوفّر لها تحديثات. أما إن أردت تحديث الحزم إلى آخر إصدار متوفّر فالأمر yum update يؤدي المهمة. سرد مجموعات الحزم تُجمَّع كثير من الحزم في مجموعات لتسهيل التعامل معها؛ فبدلا من تثبيت هذه الحزم الواحدة تلو الآخرى، أو كتابة أسمائها جميعا، يمكن تثبيتها دفعة واحدة عن طريق اسم المجموعة. استخدم الأمر grouplist لسرد مجموعات الحزم المتوفّرة: [root@academy1 ~]# yum grouplist Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Available Environment Groups: Minimal Install Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI Installed Groups: Development Tools Graphical Administration Tools Legacy UNIX Compatibility Security Tools System Administration Tools Available Groups: Compatibility Libraries Console Internet Tools RT Scientific Support Smart Card Support System Management Done تثبيت مجموعة حزم استخدم الأمر groupinstall لتثبيت مجموعة حزم. يثبّت الأمر التالي مجموعة حزم File and Print Server (خادوم الطباعة وتشارك الملفات): [root@academy1 ~]# yum groupinstall 'File and Print Server' Dependencies Resolved ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing for group install "File and Storage Server": cifs-utils x86_64 6.2-7.el7 rhel-7-server-eus-rpms 84 k nfs4-acl-tools x86_64 0.3.3-14.el7 rhel-7-server-eus-rpms 47 k targetcli noarch 2.1.fb41-3.el7 rhel-7-server-eus-rpms 61 k targetd noarch 0.7.1-1.el7 rhel-7-server-eus-rpms 48 k Installing for dependencies: PyYAML x86_64 3.10-11.el7 rhel-7-server-eus-rpms 153 k libyaml x86_64 0.1.4-11.el7_0 rhel-7-server-eus-rpms 55 k lvm2-python-libs x86_64 7:2.02.130-5.el7_2.5 rhel-7-server-eus-rpms 166 k pyparsing noarch 1.5.6-9.el7 rhel-7-server-eus-rpms 94 k python-configshell noarch 1:1.1.fb18-1.el7 rhel-7-server-eus-rpms 67 k python-kmod x86_64 0.9-4.el7 rhel-7-server-eus-rpms 57 k python-rtslib noarch 2.1.fb57-3.el7 rhel-7-server-eus-rpms 88 k python-setproctitle x86_64 1.1.6-5.el7 rhel-7-server-eus-rpms 15 k python-urwid x86_64 1.1.1-3.el7 rhel-7-server-eus-rpms 654 k Transaction Summary ========================================================================================= Install 4 Packages (+9 Dependent packages) Total download size: 1.6 M Installed size: 5.7 M Is this ok [y/d/N]: تحديث مجموعة حزم يُستخدَم الأمر groupupdate على النحو التالي لتحديث مجموعة حزم سبق تثبيتها: [root@academy1 ~]# yum groupupdate 'File and Print Server' حذف مجموعة حزم استخدم الأمر groupremove لحذف مجموعة حزم مثبتة؛ مثلا لحذف مجموعة الحزم السابقة: [root@academy1 ~]# yum groupremove 'File and Print Server' سرد مستودعات YUM يمكن سرد المستودعات المفعَّلة في مدير الحزم YUM باستخدام الأمر التالي: [root@academy1 ~]# yum repolist Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager repo id repo name status !rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - Extended Update Support (RPMs) 11,241 !rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 11,250 !rhel-7-server-rt-beta-rpms/x86_64 Red Hat Enterprise Linux for Real Time Beta (RHEL 7 Server) (RPMs) 15 !rhel-7-server-rt-rpms/7Server/x86_64 Red Hat Enterprise Linux for Real Time (RHEL 7 Server) (RPMs) 129 !rhel-ha-for-rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux High Availability (for RHEL 7 Server) - Extended Update Support (RP 224 !rhel-ha-for-rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux High Availability (for RHEL 7 Server) (RPMs) 224 !rhel-rs-for-rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux Resilient Storage (for RHEL 7 Server) - Extended Update Support (RP 279 !rhel-rs-for-rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux Resilient Storage (for RHEL 7 Server) (RPMs) 279 repolist: 23,641 أضف الخيار all إلى الأمر السابق إن أردت سرد جميع المستودعات بما فيها تلك غير المفعَّلة: [root@academy1 ~]# yum repolist all تثبيت حزمة مع تحديد المستودع يُستخدم الخيار enablerepo-- في أمر التثبيت لتحديد المستودع الذي نريد تنزيل الحزمة منه: [root@academy1 ~]# yum --enablerepo=rhel-7-server-rpms install postgresql Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Resolving Dependencies --> Running transaction check ---> Package postgresql.x86_64 0:9.2.15-1.el7_2 will be installed --> Processing Dependency: postgresql-libs(x86-64) = 9.2.15-1.el7_2 for package: postgresql-9.2.15-1.el7_2.x86_64 --> Processing Dependency: libpq.so.5()(64bit) for package: postgresql-9.2.15-1.el7_2.x86_64 --> Running transaction check ---> Package postgresql-libs.x86_64 0:9.2.15-1.el7_2 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================= Package Arch Version Repository Size ======================================================================================= Installing: postgresql x86_64 9.2.15-1.el7_2 rhel-7-server-eus-rpms 3.0 M Installing for dependencies: postgresql-libs x86_64 9.2.15-1.el7_2 rhel-7-server-eus-rpms 231 k Transaction Summary ======================================================================================== Install 1 Package (+1 Dependent package) Total download size: 3.2 M Installed size: 16 M Is this ok [y/d/N]: صدفة YUM تفاعلية يتيح مدير الحزم YUM صدفة Shell لتنفيذ أوامر عدّة لإدارة الحزم: [root@academy1 ~]# yum shell Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager > update > repolist repo id repo name status rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - Extended Update Support (RPMs) 11,241 rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 11,250 rhel-7-server-rt-beta-rpms/x86_64 Red Hat Enterprise Linux for Real Time Beta (RHEL 7 Server) (RPMs) 15 rhel-7-server-rt-rpms/7Server/x86_64 Red Hat Enterprise Linux for Real Time (RHEL 7 Server) (RPMs) 129 rhel-ha-for-rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux High Availability (for RHEL 7 Server) - Extended Update Support (RPM 224 rhel-ha-for-rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux High Availability (for RHEL 7 Server) (RPMs) 224 rhel-rs-for-rhel-7-server-eus-rpms/7Server/x86_64 Red Hat Enterprise Linux Resilient Storage (for RHEL 7 Server) - Extended Update Support (RPM 279 rhel-rs-for-rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux Resilient Storage (for RHEL 7 Server) (RPMs) 279 > exit Leaving Shell عرض سجلّ أوامر YUM يُستخدَم الأمر history على النحو التالي لعرض قائمة بآخر أوامر YUM المنفّذة: [root@academy1 ~]# yum history Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 14 | Mohamed ... <meyil> | 2016-09-01 23:57 | Erase | 1 13 | Mohamed ... <meyil> | 2016-09-01 23:48 | Install | 1 12 | Mohamed ... <meyil> | 2016-08-02 23:41 | I, U | 6 11 | Mohamed ... <meyil> | 2016-07-31 23:19 | Install | 2 10 | Mohamed ... <meyil> | 2016-07-21 22:09 | Install | 1 9 | Mohamed ... <meyil> | 2016-07-21 15:29 | Install | 4 8 | Mohamed ... <meyil> | 2016-07-21 14:18 | I, U | 75 7 | Mohamed ... <meyil> | 2016-06-11 01:32 | Erase | 1 6 | Mohamed ... <meyil> | 2016-06-07 13:51 | Update | 1 5 | Mohamed ... <meyil> | 2016-06-05 02:57 | Install | 2 4 | Mohamed ... <meyil> | 2016-06-05 02:56 | Update | 1 3 | Mohamed ... <meyil> | 2016-05-28 03:16 | Install | 1 2 | Mohamed ... <meyil> | 2016-05-28 02:45 | I, U | 190 EE 1 | System <unset> | 2016-05-27 20:43 | Install | 1293 history list تنظيف تخبئة Cache مدير الحزم يحتفظ مدير الحزم YUM بنسخ من البيانات المتعلقة بالحزم ضمن مجلّد var/cache/yum/؛ يمكن حذف جميع هذه النسخ بتنفيذ الأمر التالي: [root@academy1 ~]# yum clean all Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Cleaning repos: rhel-7-server-eus-rpms rhel-7-server-rpms rhel-7-server-rt-beta-rpms rhel-7-server-rt-rpms rhel-ha-for-rhel-7-server-eus-rpms : rhel-ha-for-rhel-7-server-rpms rhel-rs-for-rhel-7-server-eus-rpms rhel-rs-for-rhel-7-server-rpms Cleaning up everything ترجمة - بتصرّف - لمقال20 Linux YUM (Yellowdog Updater, Modified) Commands for Package Management لصاحبه Ravi Saive.
  3. توفر معظم الأنظمة الشبيهة بيونكس آلية مركزية لإيجاد وتثبيت البرمجيات. تُوزَع البرمجيات عادة في شكل حزم، مُخزنة في مستودعات. التعامل مع الحزم يُعرَف بإدارة الحزم. توفر الحزم المكونات الأساسية لنظام التشغيل، مع المكتبات المشتركة، التطبيقات، الخدمات والوثائق. يقوم نظام إدارة الحزم بأكثر من تثبيت البرمجيات لمرة واحدة. فهو يوفر أيضًا أدوات لترقية الحزم المثبتة حاليًا. تُساعد مستودعات الحزم على التأكد من أن الشيفرة فُحِصَت للاستخدام على نظامك، وأن المطورين والمشرفين وافقوا على نُسخ البرمجيات المُثبتة. عند ضبط الخواديم أو بيئات التطوير، غالبًا ما يكون النظر لما وراء المستودعات الرسمية ضروريًا. فقد تكون الحزم في الإصدار المُستقر من التوزيعة قديمة، خصوصًا عندما تكون البرمجيات المعنية سريعة التغيُر. وبالرغم من هذا، فإن إدارة الحزم هي مهارة حيوية لمدراء الأنظمة والمطورين، ووفرة البرمجيات المُحزّمة للتوزيعات الرئيسية هي مورد هائل. اُعد هذا الدّليل ليكون مرجعًا سريعًا لأساسيات إيجاد، تثبيت وترقية الحزم على مجموعة متنوعة من التوزيعات، وينبغي أن يساعدك على ترجمة هذه المعرفة بين الأنظمة. أنظمة إدارة الحزم: لمحة موجزة معظم أنظمة الحزم تُبنَى من مجموعات من ملفات الحزم. ملف الحزمة هو أرشيف يحتوي على ملفات ثُنائية مُترجمة ومصادر أخرى تُشكل البرنامج، مع سكربتات التثبيت. تحتوي الحزم أيضًا على بيانات وصفية قيّمة، تتضمن اعتمادياتها وقائمة من الحزم الأخرى المطلوبة لتثبيتها وتشغيلها. على الرغم من تشابه وظائف وفوائد تنسيقات وأدوات التحزيم إلى حد بعيد، إلا أنها تختلف باختلاف المنصات: نظام التشغيل التنسيق الأدوات Debian .deb apt, apt-cache, apt-get, dpkg Ubuntu .deb apt, apt-cache, apt-get, dpkg CentOS .rpm yum Fedora .rpm dnf FreeBSD Ports, .txz make, pkg تنسيق الحزم في دبيان والأنظمة المبنية عليها مثل أوبنتو، لينكس منت وراسبيان يكون كملف .deb. تُوفر أداة الحزم المُتقدمة APT أوامر لمعظم العمليات الشائعة: البحث بالمستودعات، تثبيت مجموعات من الحزم واعتمادياتها وإدارة الترقيات. تعمل أوامر APT كواجهة أمامية للأداة منخفضة المستوى dpkg، والتي تقوم بتثبيت ملفات .deb الفردية على النظام محليًا، وأحيانًا تُستدعى مباشرةً. تَستخدم CentOS، فيدورا والتوّزيعات الأخرى في عائلة Red Hat ملفات بتنسيق RPM. يُستخدم yum في CentOS للتفاعل مع ملفات الحزم الفردية والمستودعات. في النُسخ الحديثة من فيدورا حل dnf محل yum، وهو مُشتق حديث يحتفظ بمعظم خصائص واجهة yum النصية. يُدار نظام الحزم الثنائية في FreeBSD بالأمر pkg. ويوفر FreeBSD كذلك ما يُطلق عليه اسم Ports Collection، وهو هيكل مُجلدات محلية وأدوات تسمح للمُستَخدِم بجلب، تجميع وتثبيت الحزم مباشرة من المصدر باستخدام ملفاتMakefile. استخدام pkg مُريح غالبًا، ولكن أحيانًا لا تتوافر حزم مُترجمة مسبقًا، أو قد تُريد تغيير الخيارات بوقت الترجمة. تحديث قوائم الحزم تحتفظ معظم الأنظمة بقاعدة بيانات محلية للحزم المتوافرة بالمستودعات البعيدة. من الأفضل تحديث قاعدة البيانات قبل ترقية الحزم. وكاستثناء جزئي لهذا النمط، سيتحقق yum و dnf من وجود تحديثات قبل القيام ببعض العمليات، لكن يمكنك سؤالها عن توافر التحديثات بأي وقت. النظام الأمر Debian / Ubuntu sudo apt-get update CentOS yum check-update Fedora dnf check-update FreeBSD Packages sudo pkg update FreeBSD Ports sudo portsnap fetch update ترقية الحزم المثبتة التأكد من حداثة البرمجيات المُثبتة على النظام ستكون مهمة ضخمة بدون نظام حزم. ستضطر أن تتتبع تغييرات المنبع والتنبيهات الأمنية لمئات من الحزم المختلفة. على الرغم من أن مدير الحزم لن يحل كل مشكلة ستقابلها عند ترقية البرمجيات، إلا أنه يُمَكِنُك من صيانة معظم مكونات النظام بأوامر قليلة. ترقية الـ port المُثبتة على FreeBSD يمكن أن تُؤدي إلى إدخال أعطال أو تتطلب خطوات ضبط يدوية. من الأفضل أن تقرأ usr/ports/UPDATING/ قبل الترقية باستخدام portmaster. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get upgrade يُرقي الحزم الجديدة فقط، إن كان بالإمكان. sudo apt-get dist-upgrade قد يُضيف أو يحذف حزم لتلبية الاعتماديات الجديدة. CentOS sudo yum update Fedora sudo dnf upgrade FreeBSD Packages sudo pkg upgrade FreeBSD Ports less /usr/ports/UPDATING يُستخدم الأمر less لعرض ملاحظات التحديث للمنافذ. استخدم مفاتيح الأسهم للانتقال، اضغط q للخروج. cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a يُثبت portmaster ويستخدمه لتحديث المنافذ المُثبتة. إيجاد حزمة توفر معظم التوزيعات واجهة رسومية لمجموعات الحزم. هذه طريقة جيدة للتصفح بالفئة واكتشاف برمجيات جديدة. على الرغم من أنه غالبًا تكون الطريقة الأسرع والأكثر كفاءة لإيجاد حزمة هي البحث باستخدام أدوات سطر الأوامر. النظام الأوامر ملاحظات Debian / Ubuntu apt-cache search search_string CentOS yum search search_string yum search all search_string يبحث بجميع الحقول، من ضمنها الوصف. Fedora dnf search search_string dnf search all search_string يبحث بجميع الحقول، من ضمنها الوصف. FreeBSD Packages pkg search search_string يبحث بالاسم. pkg search -f search_string يبحث بالاسم، ويُعيد وصف كامل. pkg search -D search_string يبحث بالوصف. FreeBSD Ports cd /usr/ports && make search name=package يبحث بالاسم. cd /usr/ports && make search key=search_string يبحث في الأسماء، الأوصاف والاعتماديات. عرض معلومات عن حزمة محددة من المفيد قراءة أوصاف تفصيلية عن الحزم التي قررت تثبيتها. إلى جانب نص قابل للقراءة، يتضمن غالبًا بيانات وصفية مثل أرقام النُسخ وقائمة من اعتماديات الحزم. النظام الأمر ملاحظات Debian / Ubuntu apt-cache show package يعرض المعلومات المُخزنة محليًا عن الحزمة package. dpkg -s package يعرض حالة التثبيت الحالية للحزمة package. CentOS yum info package yum deplist package يسرد اعتماديات الحزمة package. Fedora dnf info package dnf repoquery –requires package يسرد اعتماديات الحزمة package. FreeBSD Packages pkg info package يعرض معلومات عن الحزمة المُثبتة package. FreeBSD Ports cd /usr/ports/category/port && cat pkg-descr تثبيت حزمة من المستودعات بمجرد معرفة اسم الحزمة، يمكن تثبيت الحزمة واعتمادياتها بأمر واحد. عمومًا، يمكنك طلب تثبيت حزم عديدة ببساطة عن طريق ذكرها جميعًا. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get install package sudo apt-get install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo apt-get install -y package يُجيب بنعم عندما يطلب apt الاستمرار. CentOS sudo yum install package sudo yum install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo yum install -y package يُجيب بنعم عندما يطلب yum الاستمرار. Fedora sudo dnf install package sudo dnf install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … sudo dnf install -y package يُجيب بنعم عندما يطلب dnf الاستمرار. FreeBSD Packages sudo pkg install package sudo pkg install package1 package2 … يُثبت كل الحزم المذكورة package1 package2 … FreeBSD Ports cd /usr/ports/category/port && sudo make install يبني ويُثبت منفذ من المصدر. تثبيت حزمة من نظام الملفات المحلي أحيانًا، بالرغم من عدم تحزيم البرمجيات رسميًا لنظام معين، سيوفر المطور أو البائع ملفات الحزم للتحميل. يمكنك الحصول عليهم عبر المتصفح، أو من خلال curl على سطر الأوامر. بمجرد وجود الحزمة على النظام، يمكن عادة تثبيتها بأمر واحد. يتعامل dpkg مع ملفات الحزم الفردية على الأنظمة الدبيانية. إذا كان هناك اعتماديات ناقصة لحزمة، فيمكن استخدام gdebi لجلب هذه الاعتماديات من المستودعات الرسمية. يُستخدم yum و dnf على أنظمة فيدورا و CentOS لتثبيت ملفات الحزم الفردية، ومُعالجة الاعتماديات المطلوبة أيضًا. النظام الأمر ملاحظات Debian / Ubuntu sudo dpkg -i package.deb sudo apt-get install -y gdebi && sudo gdebi package.deb يُثبت ويستخدم gdebi لتثبيت الحزمة package.deb ويَحصُل على أي اعتماديات ناقصة. CentOS sudo yum install package.rpm Fedora sudo dnf install package.rpm FreeBSD Packages sudo pkg add package.txz sudo pkg add -f package.txz يُثبت الحزمة package حتى وإن كانت مُثبتة. إزالة حزمة واحدة أو أكثر بما أن مدير الحزم يعرف الملفات التي تأتي مع حزمة مُعينة، فيمكن إزالة هذه الملفات بشكل نظيف من النظام إذا لم يعد هناك حاجة لهذه الحزمة. النظام الأمر ملاحظات Debian / Ubuntu sudo apt-get remove package sudo apt-get autoremove يُزيل الحزم غير الضرورية. CentOS sudo yum remove package Fedora sudo dnf erase package FreeBSD Packages sudo pkg delete package sudo pkg autoremove يُزيل الحزم غير الضرورية. FreeBSD Ports sudo pkg delete package cd /usr/ports/path_to_port && make deinstall يلغي تثبيت منفذ مُثبت. الحصول على المساعدة بالإضافة إلى التوثيقات المتوافرة على الشبكة، ضع في اعتبارك أن صفحات دليل يونكس (يُشار إليها بصفحات الدليل) متوافرة لمعظم الأوامر من الصدفة. استخدم man لقراءة صفحة page على النّحو التّالي: $ man page يمكنك الانتقال بمفاتيح الأسهم في man. اضغط / للبحث عن نص في الصفحة، و q للخروج. النظام الأمر ملاحظات Debian / Ubuntu man apt-get تحديث قاعدة البيانات المحلية والتعامل مع الحزم. man apt-cache الاستعلام في قاعدة بيانات الحزم المحلية. man dpkg التعامل مع ملفات الحزم الفردية والاستعلام عن الحزم المُثبتة. CentOS man yum Fedora man dnf FreeBSD Packages man pkg التعامل مع الحزم الثنائية المُترجمة مُسبقًا. FreeBSD Ports man ports التعامل مع مجموعات المنافذ. خاتمة ولمزيد من القراءة عرضنا العمليات الأساسية التي يمكن استخدامها كمرجع بين الأنظمة، لكننا لم نتطرّق سوى إلى أساسيات الأمر. للحصول على مزيد من التفاصيل لنظام معين، راجع المصادر التالية: يُغطي هذا الدليل إدارة حزم دبيان وأوبنتو بالتفصيل. هناك دليل CentOS الرسمي لإدارة البرمجيات باستخدام yum. هناك صفحة wiki فيدورا عن dnf، ودليل dnf الرسمي. يُغطي هذا الدليل إدارة حزم FreeBSD باستخدام pkg. يحتوي دفتر FreeBSD على قسم لاستخدام مجموعات المنافذ. ترجمة -وبتصرّف- للمقال Package Management Basics: apt, yum, dnf, pkg لصاحبه Brennen Bearnes.
  4. انتشر صيت نظام التشغيل غنو لينكس Gnu Linux (المعروف اختصارًا بلينكس) في السنوات الأخيرة، بعد استيلاء منصة الهواتف الذكية أندرويد على أكثر من 85% من السوق، وكثرة الحديث عن كون هذه المنصة مبنية على نواة لينكس القوية، والمشهود لها بالاستقرار، سرعة التطوير والأمان، وخلافًا لما كان الحال عليه من قبل فقد لوحظ تنامي الرغبة لتجريب لينكس على أجهزة سطح المكتب، تارةً بدافع حب الفضول والاستكشاف، وتارةً بغرض التعلم واكتساب الخبرة، وأحيانًا أخرى لاستخدامه في محاولات الاختراق وتجاوز الحماية. إلا أن أول ما يصطدم به الراغب في خوض غمار التجربة الجديدة عدم وجود نظامٍ باسم لينكس يمكن تنزيله من موقع رسمي واستخدامه على الفور! إذ يمكن لمستخدمي Microsoft Windows الحصول على أقراص ليزرية من السوق تتضمن نسخ Windows المختلفة أو تحميلها من الشبكة، بينما تأتي أجهزة Apple محملةً أصلا بنظام التشغيل OS X، أما كتابة Download linux في محرّك البحث فسيفضي لنتائج بأسماء مختلفة، ولن يطول الوقت حتى يتعرف القادم إلى هنا على مفهوم «التوزيعة» وهي أقرب ما تكون بالمعنى إلى كونها «تجميعة»، فلينكس ما هو إلا النواة، بينما نحتاج إلى أدوات أخرى كالمترجمات Compilers والواجهات المرئية ومدراء النوافذ إضافة إلى تطبيقات المستخدم النهائي كمتصفح الإنترنت ومشغل الموسيقى إلخ، كلّ هذا حتى يصبح لدينا أخيرًا نظام تشغيل متكامل، ولتوفير مثل هذه الخطوات على المستخدمين تقوم فرق برمجية متطوعة أو تابعة لمؤسسات تجارية بالعمل المطلوب، كلّ وفق أفكاره وميوله، طارحين تجميعاتهم تلك على شكل حزمة واحدة جاهزة للاستخدام تسمى بالتوزيعة Distribution. ومع عدم وجود أية قيود على العملية السابقة فقد فاق عدد التوزيعات المتاحة للتحميل والإستخدام المجاني ال 300 توزيعة، ليقف المستخدم المبتدئ أمامها في حيرة من أمره؛ ماذا يستخدم؟ ما التوزيعة الأنسب له؟ أو على الأقل بماذا يبدأ ومن أين ينطلق؟ ولا تشكل الحيرة السابقة مشكلة بحدّ ذاتها، إلا أن المشكلة تنجم عن الكيفية التي يُتعامل بها مع هذا السؤال، حيث إن التعاطي مع التوزيعات والفرق المجمّعة لها بات أشبه بالتحزب السياسي، بمعنى أن كلّ فريق يرى في خياره الصواب الأنسب، والأداء الأفضل، منوهًا إلى مثالب التوزيعات الأخرى ونقاط الضعف التي تعاني منها، لتدور أحيانًا حربٌ طاحنة، لا يكون الخاسر الأكبر فيها سوى المبتدئ، الذي تزداد حيرته أمام مقارنات لا يفقه منها شيء غالبًا. خلال سبع سنوات من إستخدامي لـغنو لينكس كنظام تشغيل وحيد على مختلف الحواسيب، تعاملت مع التوزيعات العشرة الرئيسية، مثل Mint, Ubuntu, Debian, OpenSUSE, Fedora, Arch, Puppy وغيرها، والتي تتفرع منها وتبنى عليها باقي التنويعات المختلفة، وكمهووس بلينكس استغرق ذلك منيّ وقتًا طويلًا للغاية، كان سببًا في بعض الأحيان لتعطّل مهامي أو ضياع ملفاتي، إلا أنني راكمت أيضًا خبرة أودّ مشاركتها هنا. لنتعرّف بدايةً على التوزيعات الرئيسيّة في عالم غنو لينكس: دِبيان Debianأثناء دراسته في جامعة بوردو فرع علوم الحاسوب، كتب إيان موردك مع صديقته ديبرا (والتي ستصبح زوجته فيما بعد) «عقد دبيان» ويقصد به الفلسفة التي سيبنى عليها نظام التشغيل دبيان (منحوتًا من اسميهما ديب يان) والذي أطلق اصداره الأول عام 1993م مستمرًا حتى يومنا هذا، ليكون واحدًا من أعرق المشاريع المتعلقة بلينكس وأكثرها شعبية. قاد إيان فريقًا كبيرًا مكونًا من المبرمجين المتطوعين من مختلف دول العالم لبناء دبيان (يبلغ عددهم اليوم ألف مطوّر). دبيان في نقاط- مشروع دبيان هو مؤسسة مجتمعية لا مركزية يطوره متطوعون حول العالم ويقوده قائد يجري انتخابه من قبل المجتمع بشكل دوري، إضافة إلى وجود نظام داخلي ودستور وقواعد تنظم عمل المشروع وتعطي الأولوية دومًا لرأي المطورين، نادرًا ما يوجد مثل هذا التنظيم لدى باقي الفرق. - طَوّر مشروع دبيان نظام تحزيم يسمى Deb يهدف إلى إنشاء برامج جاهزة للتثبيت بدون تدخل برمجي من قبل المستخدم، حيث كانت برامج لينكس متوفرة أولًا بشكلها المصدري src (أي على شكل أكواد) وهي تتطلب من المستخدم أن يقوم بعمل Compile لها، وهذا ما يتطلب معرفة برمجية واسعة، وحل عدّة مشاكل أثناء ذلك (كالاعتماديات، وتضارب النسخ وغيرها). عام 1995 بدأ مشروع دبيان بتحزيم البرامج على شكل ملفات.deb جاهزة للتثبيت باستخدام الأداة Apt (ولاحقًا تم تسهيل ذلك من خلال أدوات أخرى مثل aptitude، apt-get من على سطر الأوامر، أو Synaptic على الواجهة الرسومية)، فبات كل ما يحتاجه المستخدم النهائي لتركيب أو تحديث أو إزالة البرامج هي بضع نقرات لا غير، متفوقًا بذلك على نظيره ويندوز. يضم اليوم مستودع دبيان الرئيسي 43000 حزمة، بالإضافة إلى مستودعات أخرى تجعل من تثبيت الحزم وإداراتها أمرًا في غاية السهولة. - يعتمد مشروع دبيان معايير صارمة في التحزيم وبناء النسخ الجديدة، لذا توصف التوزيعة عادةً بانها ثابتة كالصخر، ما دفع قرابة نصف توزيعات لينكس الأخرى على بناء نسخهم الخاصة إنطلاقًا منها. - تعتبر دبيان من أكثر التوزيعات إلتزامًا بفلسفة غنو، حيث لا تضم مستودعاتها الرسمية سوى برمجيات مفتوحة المصدر. - خلافًا لمعظم توزيعات غنو لينكس لا تتبع دبيان خططًا زمنية في إصداراتها، بل تتبع سياسة مفادها تصدر دبيان عندما تجهز! - تأتي دبيان إفتراضيًا مع واجهة رسومية، ومثبت رسومي، وبالتكامل مع مدير الحزم فإن مشروع دبيان سهّل للمستخدم العادي استخدام وتثبيت لينكس. Ubuntuعندما أطلقت شركة Canonical في أكتوبر 2004 نسختها المعدلة من نظام التشغيل دبيان لم تدرِ أنها ستفتتح بذلك صفحة واحدة من أكثر توزيعات لينكس شعبية على الإطلاق، ويعود ذلك بفضل تركيز فريق العمل الخاص بالتوزيعة على تحقيق المزيد من سهولة تثبيت وإدارة توزيعة لينكس، مع الأخذ بعين الاعتبار عدم تضمينها أية برمجيات محتكرة. تأتي Ubuntu مع مثبّت رسومي أكثر بساطة، إضافة إلى حزم أوسع من البرامج المثبتة مسبقًا، إضافة إلى أداة رسومية لإدارة تعاريف العتاد الصلب، وإدارة المحليات (لغة الواجهة)، علاوةً على مركز البرمجيات الخاص بهم والذي يجعل من تثبيت وحذف البرامج ممكنًا بنقرة واحدة. منذ اصدار أكتوبر 2012 اعتمد فريق أوبونتو على الواجهة الرسومية Unity الخاصة بهم. تعقد Canonical المالكة لـ Ubuntu صفقات تجارية مع شركات مثل أمازون، مما يسبب لها انتقادات واسعة في مجتمع البرمجيات الحرّة والذي يرفض إرسالها بعض بيانات المستخدمين للشركات المعلنة بهدف تحقيق الربح، رغم إمكانية تعطيل ذلك. Mintخلال أقل من شهر على إنطلاق أوبونتو في 2006 قام فريق من المتطوعين بإنشاء نسختهم الخاصة بناء عليها، بهدف تقديم توزيعة أكثر أناقة وسهولة في الإستخدام، وأكثر استقرارًا في نفس الوقت، وإن جاء ذلك على حساب تضمين التوزيعة برمجيات محتكرة بشكل افتراضي مثل مشغلات الصوت والفيديو وخطوط مايكروسوفت. (يقول مطورو Mint بأن مستخدمي سائر التوزيعات يستخدمون هذه الأجزاء، فلمَ لا نجهزها لهم). تأتي مِنت كذلك مع كم أكبر من البرامج بحيث تغني المستخدم عن تثبيت أي شيء إضافي تقريبًا، وتعتمد على مستودعات Ubuntu. لاحقًا عمل فريق التطوير على إعادة كتابة عدد من الأدوات الموجودة في Ubuntu مثل مدير البرمجيات، مدير التحديثات، أداة النسخ الاحتياطي، أداة الرفع Upload وغيرها. إضافة إلى عملهم على تطوير واجهتين مشتقتين من غنوم Gnome وهما Cinnamon و Mate. فيدورا Fedoraفي 2003 رعت شركة RedHat إندماج مشروعين أحدهما نسخة المستخدم العادي الذي كانت RedHat نفسها تعمل على إصدارها، والثاني مشروع نظام فيدورا، لينتج مشروع فيدورا، وهو نسخة من نظام التشغيل غنو لينكس، تستخدم تحزيم .rpm للحزم والبرامج، وتحظى بدعم غير رسمي من شركة RedHat حيث25% من موظفي مشروع فيدورا هم من موظفي RedHat. تلتزم فيدروا بفلسفة غنو لينكس حيث لا تضمن برمجيات مغلقة بشكل مسبق معها، وإن كانت مضمنة في مستودعاتها والتي تحتوي على برمجيات أقل عددًا من تلك الموجودة في دبيان وبناتها. OpenSUSEفي عام 2004 قررت شركة Novell الألمانية إيقاف مشروع SUSE Linux مغلق المصدر وتحويله إلى توزيعة OpenSUSE مفتوحة المصدر، لتطلق إصدارتها الأولى في تشرين الأول 2005. يستخدم المشروع نظام RedHat في توزيع الحزم RPM، ويهتم بتسهيل تجربة المستخدم النهائي في إدارة نظام لينكس، لا سيما من خلال مركز تحكم YaST الذي يقدم مجموعة كبيرة من الأدوات لإنجاز مختلف العمليات الإدارية في لينكس في مكانٍ واحد ومن خلال الواجهة الرسومية. Archlinuxتهدف Arch إلى تقديم توزيعة مرنة كفاية ليتمكن المستخدمون من تشكيلها بالأسلوب الذي يناسب إحتياجاتهم ومتطلباتهم المختلفة، إضافةً للمرونة تركّز Arch على مفاهيم أخرى (لا تهتم بها معظم توزيعات لينكس) مثل الخفة، حيث التركيب المبدئي لا يشمل سوى الحزم الأساسية جدًا، وبدون أية واجهة مرئية، الإختزالية والتي تعني أقل حد ممكن من متطلبات العتاد الصلب والاعتماديات البرمجية، إضافة لأناقة الكود. تركيب Arch يتم من خلال سطر الأوامر، وإعدادها يكون بتحرير ملفات نصيّة وتعديل بعض القيم فيها، يمكن متابعة استخدامها على هذا المنوال، أو تركيب واجهة رسومية. تعتبر Arch توزيعة متدحرجة، بمعنى أنها لا تقوم بإصدار نسخ جديدة منها خلافًا لباقي التوزيعات، بل يعمل المستخدم على تركيبها ومن ثم دحرجتها، أي تحديثها باستمرار من خلال مدير الحزم. تستخدم Arch أسلوب تحزيم tgz وهو أكثر الأساليب بساطة، ويدار باستخدام مدير pacman، كما يعتمد مستخدموها على بناء الحزم من المصدر (src) من خلال مستودع المجتمع aur، بهدف الحصول على البرمجيات غير الموجودة في المستودعات الرسمية. إلى جانب التعدد الكبير في تجميعات غنو لينكس، هناك تعدد أقل عددًا وأكثر أهمية يواجه القادم الجديد وهو اختيار بيئة العمل Desktop Environment والذي يقصد به الحزم البرمجية التي تقدم واجهة رسومية في التعامل مع لينكس بدلًا من سطر الأوامر، وخلافًا لما هو الحال عليه من وجود بيئة عمل واحدة لكل من نظامي Windows و OS X، فلدى لينكس ما يزيد عن عشرين واجهة، يعدّ اختيار واحدة منها أمرًا أكثر أهمية وأولوية من اختيار التوزيعة، وهو ما سأوضحه تفصيلًا بعد عرضي ﻷشهر الواجهات: XFCE في عام 1996 أطلق أوليفر فوردان مشروع XFCE (بالاعتماد على مكتبات GTK+) ليكون أقدم مشروع يهدف إلى تزويد المستخدم النهائي ببيئة عمل رسومية متكاملة مضمنة سطح مكتب ومجموعة من التطبيقات الأساسية، تركز Xfce على الخفة والاستقرار إضافةً لإمكانية تخصيصها بسهولة، وهذا ما يجعلها خيارًا ممتازًا للباحثين عن البساطة، المبتدئين، أو لمستخدمي الأجهزة القديمة. KDE في وقت آخر من عام 1996 كان فريق KDE مشغولًا بكتابة وتصميم بيئة العمل الخاصة بهم والتي صدرت بعد ذلك بعامين لتشمل سطح المكتب وباقة كاملة من التطبيقات، بالاعتماد على مكتبات Qt البرمجية، تركز البيئة على تقديم بصمة بصرية جذابة وتأثيرات أنيقة للغاية، وتهتم بتقديم إمكانية تعديل حتى أدق تفاصيل مظهرها وسلوكها لتناسب أذواق المستخدمين، وهي بذلك موجهة لهذه الشريحة التي تهتم بالمظهر والتخصيص. Gnome هي بيئة سطح المكتب التي عمل فريق غنوGNU على تصميمها أثناء عملهم في كتابة أدوات النظام، وذلك باعتبار مكتبات Qt المستخدمة في مشروع كدي لم تكن مرخصة بشكل حرّ آنذاك، مما أقلق فريق عمل غنو، فباشروا عملهم بكتابة مكتبات GTK+ وبناء Gnome عليها، ورغم أن مكتبات Qt رُخصت لاحقًا بشكل حرّ (في عام 2000) إلا أن المشروع بقي مستمرًا ومحققا لنجاح كبير. تركز Gnome على كونها أكثر بساطة وسهولة في السلوك والإعداد. في عام 2011 تم إعادة تصميم الواجهة بالكامل مع إطلاق إصدارها الثالث، وهدف التصميم الجديد لإلغاء الطبقات التقليدية (شريط مع قائمة) والتركيز أكثر على تجربة الاستخدام من خلال شاشات اللمس، الأمر الذي لم يلقَ ترحيبًا كبيرًا، مما أدى لظهور مشروعين مشتقين من Gnome: Mate وهو عبارة عن استمرار لواجهة Gnome 2 التقليدية، للعمل على تزوديها بترقيعات الأمان وإضافة ميزات جديدة. Cinnamon وهي استثمار في Gnome 3 والاستفادة من امكانياتها الجديدة لكن مع المحافظة على الأسلوب التقليدي في تصميم سطح المكتب، وهي تجمع بين الخفّة والمظهر الجذاب. Unity رغم حداثة عمرها (4 سنوات) إلا أن Unity حققت إنتشارًا واسعًا، وهي ليست بيئة عمل بمعنى الكلمة وإنما سطح مكتب لبيئة Gnome يهدف إلى استغلال المساحة بشكل أفضل للشاشات الصغيرة كدمج شريط القوائم بالشريط العلوي، وتتيح Unity إمكانية أفضل لمحبي استخدام لوحة المفاتيح، كمطلق Dash والذي يسهل الوصول إلى البرامج والملفات من خلال كتابة الأحرف الأولى منها، وكذلك ميزة HUD والتي تتيح البحث في قوائم البرامج لتنفيذ الأوامر المختلفة بدون الحاجة لاستخدام الفأرة. وخلافًا لباقي واجهات غنو لينكس فلا يمكن استخدام Unity سوى مع Ubuntu، بعض محاولات تشغيلها على توزيعات أخرى لا يمكن اعتبارها ناجحة بعد. لدينا كذلك مشروع LXDE المكتوب وفق GTK وهو يقدم واجهة بالحدّ الأدنى من الاعتماديات مما يجعلها أكثر بيئات سطح المكتب خفّة. وهناك مشروع Pantheon الوليد والذي يعمل فريق توزيعة elementaryOS على تطويره كسطح مكتب بديل لبيئة عمل Gnome 3. حسنًا، ماذا بعد؟ بعد سنوات من تجريبي للتوزيعات المذكورة وغيرها وفق معظم بيئات سطح العمل، وصلتُ أخيرًا إلى ما يمكن تسميته بالقاعدة الذهبية، ورغم بساطتها فهي "تعمل" ويمكنني القول بأنه يمكن للمبتدى أن يثق بها وأنها يضعها موضع التجريب والاختبار؛ باختصار لا تهتم باسم التوزيعة التي تستخدمها، انسَ موضوع الإسم والميزات وتابعني قليلًا: عشرة نقاط، ونقطة1 - باستثناء ما إذا كان لديك غرضٌ خاص، فلا تستخدم سوى التوزيعات عامة الأغراض، على سبيل المثال تعتبر Kali Linux توزيعة موجهة ﻷغراض الحماية والإختراق وليس للمستخدم العادي أو المبتدئ، كذلك الأمر مع التوزيعات الموجهة لأغراض الميديا أو سواها. 2 - لا تستخدم توزيعة لم تعدّ تطوّر أو توزيعة بُدئ تطويرها للتوّ، فتلك التي لم تعد تطوّر قد تحتوي على مشاكل أمنية أو علل برمجية غير محلولة، وأما التوزيعات التي بدُئ تطويرها للتوّ (بمعنى أن عمرها لم يتجاوز عامين أو ثلاثة) فهي لا تزال تفتقر للدعم الكبير ومن الصعوبة أن تجد من يساعدك في حلّ مشاكلها، إضافةً لعدم ضمان توقف تطويرها خلال وقتٍ قصير بعد أن تكون صرفت عليها وقتًا طويلًا في التثبيت والتعلم. 3 - استخدم واحدة من التوزيعات الكبيرة، تعلمها وابق معها، هذا هو سرّ نجاح تجربتك مع غنو لينكس وتمكنك من الانتقال النهائي إليه. لقد بقيتُ أستخدم Ubuntu لأربع سنوات متتالية قبل أن أنتقل لتجريب باقي التوزيعات والواجهات، وهذا ما أتاح لي الوقت لفهم لينكس ووفر عليّ الكثير من التشتت الذي لا يناسب المبتدئ. 4 - أقصد بالتوزيعات الكبيرة مثل التي سبق ذكرها إضافة لتوزيعات تجاوزت العشر سنوات مثل CentOS PCLinuxOS، Slackware وغيرها. 5 - توزيعات لينكس إما مبنية على تقنيات معينة أو لتحقيق أهداف وقيم ما، فالسهولة التي تريح فيها Mint المستخدم النهائي عن إعداد نظامه تكون على حساب الخفّة أحيانًا، والخفة والمرونة التي تقدمها Arch تكون على حساب السهولة، وهكذا. 6 - ورغم اختلاف الأهداف إلا أن الأمر ليس على إطلاقه إذ نتحدث هنا عن مجتمع حرّ فأية فكرة تصدر من أي فريق تعمم على الباقي، في معظم نقاشات «أيها أفضل» ستجد من يتغنى بأمجاد دبيان، أو من يذكر أن فريق فيدورا من أكثر الفرق البرمجية مساهمة في تطوير المشاريع مفتوحة المصدر، إلا أن ذلك لا يغيّر شيئًا في تجربة المستخدم النهائي، فكل ما بذله فريق دبيان (مثلا) لتسهيل عملية تركيب لينكس وإدارة الحزم بات موجودًا على جميع التوزيعات، والمساهمات التي يقدمها فريق فيدورا للبرمجيات الحرّة توزّع على باقي التنويعات أيضًا، لذا انتبه من مثل هذه الأفكار التي يُستشهد بها في نقاشات «أيها أفضل» فهي لن تغيّر شيئًا من تجربتك كمستخدم سطح مكتب. 7 - القاعدة الذهبية: الواجهة المرئية مع مدير الحزم هما ما يشكل أكثر من 80% من تجربة المستخدم النهائي، والباقي تفاصيل قد لا تفضّل أن تصدّع رأسك بها، حسب هذه النظرية فإن Fedora KDE أو OpenSUSE KDE يعني مقارنات لا طائل منها. Mint Xfce أو Xubuntu يعني اختلافات لا تكاد تذكر. تجربة المستخدم النهائي تتعلق بالواجهة المرئية أولًا، ونوع مدير الحزم ثانيًا، وعلى هذا يجب أن يدور الحديث. 8 - مدير الحزم يرتبط بالأسلوب والمعايير التي تتبعها كل توزيعة في تحزيم برامجها مما ينعكس على استقرار البرامج، حجمها، وسرعة وصول التحديثات، وكم الحزم المتوفرة لها، على سبيل المثال تفوق عدد الحزم المتوفرة في مستودعات دبيان deb تلك الموجودة في مستودعات فيدورا، بينما يتفوق مدير حزم Arch بسرعة وصول تحديثات البرامج إليه أولًا بأول. رغم ذلك فلا يجب أن تهتم كثيرًا بهذه النقطة، فالحزم غير المتوفرة على هيئة rpm لن تكون شائعة الاستخدام بالتأكيد. 9 - اختر الواجهة المرئية التي ترجّح أنها تناسبك، ثم أعطها وقتها في التجريب وطالما كانت مناسبة فلا تفكّر بتجريب غيرها قبل عدة أشهر. 10 - المشاكل، الانهيارات والعلل، موجودة أينما ذهبت في أي نظام تشغيل، وتحت أي توزيعة، وباستخدام أية واجهة، في الحقيقة ونظرًا لخبرتي فإن معظم ما نصفه بالمشاكل تأتي من قلة المعرفة والخبرة في إدارة النظام. 11 - عندما تفكّر بالانتقال إلى لينكس اعلم أنك تحتاج إلى القراءة الطويلة والمعمقة لمعرفة استخدامه، هذا النوع من القراءة قد يكلفك شهرًا أو اثنين تبعًا لوقت فراغك، لكنه سيريحك تمامًا على المدى البعيد، بينما سيسبب الاكتفاء بمواضيع المنتديات والتدوينات السطحية ونصائح من هنا وهناك ارهاقًا ومشاكل كثيرة على المدى الطويل. الواجهات في كلمات: KDE: تصميم بصري جذاب، قدرة هائلة على التخصيص، أكثر الواجهات تطلبًا للموارد.Gnome: تصميم غير تقليدي، تجربة أفضل لشاشات اللمس، بساطة في الإعدادات.XFCE: تصميم تقليدي، واجهة خفيفة للأجهزة القديمة، لكنها لا تزال تدعم التأثيرات البصرية والتخصيص العالي.LXDE: تصميم تقليدي، أخف واجهة يمكن استخدامها للأجهزة الأكثر قدمًا، امكانية تخصيص متوسطة.Unity: تصميم غير تقليدي، قدرة تخصيص متوسطة، ملاحظات على الأداء ومراعاة الخصوصية من قبل المجتمع، لا يمكن استخدامها سوى مع Ubuntu.تذكّر أخيرًا، أن ما يهمك كمستخدم سطح مكتب هو سطح المكتب ببساطة! أشياء مثل اسم التوزيعة، تاريخها، أمجادها، البرامج المبدئية، وسواها هي أشياء تصلح للنقاش في عطلة نهاية الأسبوع لا أكثر.
  5. سنتعلم في هذا الدرس كيفية العمل على برنامج Inkscape لتصميم شارة لمشروع فيدورا Fedora Project (وهو شراكة عالمية من أعضاء مجتمع البرمجيات الحرة برعاية Red Hat) وستبدو هذه الشارة كإحدى الشارات المستخدمة في المهمات الفضائية لوكالة الفضاء الأمريكية ناسا. الشارةالشارة عادة تكون دائرية، لذا سنبدأ برسم دائرة (اضغط على Ctrl أثناء رسمها للمحافظة على النسبة بين الطول والعرض). تأكد من إلغاء الحدود وتطبيق لون تعبئة كما تشاء (بما أننا نصمم شارة لمشروع فيدورا فقد استخدمتُ ألوان هوية فيدورا الزرقاء الداكنة). والآن نحتاج لنص دائري ولكي نستطيع تنفيذ ذلك فإننا نحتاج إلى مسار نطبّق عليه النص لذلك سنرسم دائرة أخرى أصغر (لوّنها بلون مختلف لنتمكن من العمل بسهولة وتمييز العناصر). حدد الدائرتين واستخدم لوحة المحاذاة Align and Distribute لتُحاذِي الدائرة الصغرى إلى مركز الكبرى عموديًّا وأفقيًّا (لا تنسَ وضع نسبة المحاذاة إلى العنصر الأكبر biggest object). استخدم أداة النص Text Tool لكتابة النص على الشارة. وبما أننا نصمم شارة لمشروع فيدورا فسوف نختار الأسس الأربعة للمشروع "Freedom, Friends, Features, First" باستخدام خط MgOpen Modata (أحد الخطوط المكمّلة للمشروع). لقد تعمّدت ترك فراغ كبير بين الكلمات لأتمكن من رسم بعض النجوم بينها لاحقًا. حدد النص والدائرة الداخلية ثم ضع النص على المسار من القائمة: Text > Put on Path لقد أصبح النص الآن منحنيًا ولكن ليس في أفضل موضع. حدد الدائرة الداخلية ودوّرها كما تشاء (سيدور النص مع الدائرة تلقائيًّا). اضبط شكل النص، غيّر نمط الخط وحجمه كما تشاء (أنا جعلته كبير وعريض). واضبط المسافة بين الحروف من شريط أدوات النص حتى تصبح المسافة مناسبة. إن لم يكن موقع النص مثاليًّا دوّر الدائرة الداخلية حتى يكون الموقع مثاليًّا. سنقوم بإدراج نص منحني أسفل المسار الدائري، ارسم دائرة أخرى (أنا ضاعفت الدائرة الداخلية) ولكي نستطيع العمل بسهولة أكبر اختر لها لونًا مختلفًا واكتب النص المطلوب، أنا كتبت "for all mankind". حدد النص والدائرة الجديدة ثم ضع النص على المسار بنفس الطريقة التي اتبعناها مع النص الأول put the text on path. سيكون هذا النص فوق النص الأول، سنقوم بتصحيح الوضع بعد قليل. دوّر الدائرة لتجعل النص في الأعلى. حدد الدائرة واقلبها عموديًّا. سيقفز النص تلقائيًّا إلى الأسفل، هذا أفضل ولكن ليس مثاليًّا، الانحناء صحيح ولكن الموضع خاطئ. للحصول على رؤية أفضل أثناء العمل على ضبط النص الجديد قم بإرسال الدائرة السماوية تحت الدائرة الحمراء ثم قم بزيادة حجم الدائرة السماوية (مع الضغط على Ctrl للمحافظة على نسبة العرض والارتفاع) ثم قم بمحاذاتها مع الدائرة الأكبر أفقيًّا وعموديًّا. استمر بتعديل الضبط حتى يتخذ النص الثاني موقعه الصحيح بالنسبة للنص الأول. حدد النص السفلي ثم استخدم أدوات النص لزيادة المسافة بين الحروف بأسلوب مشابه للنص الأول. حدد الدائرة ودوّرها حتى يصبح النص في الموضع الصحيح. حدد الدائرتين الداخليتين ثم أزِل لون التعبئة وبذلك ستصبح هذه الدوائر غير مرئية ولكنها موجودة في حال احتجنا إليها فيما بعد. لوّن النص باللون الأبيض وبذلك تبدأ الملامح الأولية للشارة بالظهور. ولجعل الشكل يبدو كشارة حقيقية قم برسم دائرتين جديدتين مع حدود بيضاء وبدون لون تعبئة (استخدم لوحة التعبئة والحدود Fill and Stroke للقيام بذلك). ثم قم بتعديل حجم الحدود (أنا جعلتها 3 px من ذات لوحة الأدوات). حدد الدائرتين الجديدتين مع الدائرة الكبيرة (الزرقاء الأساسية) ثم قم بمحاذاتها إلى مركز الدائرة الكبيرة. استخدم أداة النجمة star tool لرسم نجمة بيضاء بخمس زوايا وضعها بين أي كلمتين. ضاعف النجمة عدة مرات. ثم انشر النجوم في جميع الفراغات بين الكلمات. ثم دوّر كل واحدة بما يتلاءم مع وضعها. التزيينحتى هذه النقطة أصبح لدينا شارة. نحن بحاجة إلى صورة جميلة في الوسط. ضاعف الدائرة الداخلية (تلك التي بحدود بيضاء وبدون لون تعبئة) ثم أزِل الحدود ولوّنها بأي لون حيث سنستخدمها كقناع. نحتاج الآن إلى الصورة، من الممكن استخدام صورة فكتور (إن كان لديك رسم مذهل) أو حتى صورة نقطية (على فرض أنك تريد وضع صورة فضائية). أنا ذهبت إلى موقع مشروع فيدورا وحمّلت صورة نقطية (PNG) من إحدى الصور المرشحة لتكون خلفية فيدورا 13. أدرج صورة الخلفية (سيكفي أن تسحبها إلى نافذة البرنامج). اجعل صورة الخلفية تحت دائرة القناع وبذلك نستطيع أن نرى الجزء الذي سنقصّه. غيّر حجم الصورة (مع الضغط على Ctrl للمحافظة على النسبية) وحرّكها حتى تغطي دائرة القناع الجزء الذي تراه مناسبًا لقصّه. حدد الدائرة وصورة الخلفية ثم اذهب إلى القائمة: Object > Clip > Set والآن اجعل الدائرة الجديدة ذات الصورة تحت الدائرة ذات الحدود البيضاء حتى تظهر الحدود البيضاء كاملة. ومن أجل الزينة الرئيسية استخدم شعار فيدورا. قم بكل ما يلزم من العمل ليكون الشعار بالشكل والموضع والحجم المناسبين. والآن دورك لتصنع شارتك الخاصة، سواء بأسلوب فيدورا أم لا، ولربما قد تطبعها على رقعة مطاطية وتضعها على المعطف. ترجمة -وبتصرّف- للمقال: NASA mission styled badges with Inkscape لصاحبه Nicu Bulelei.