ديف أوبس

إدارة النظام في RHEL

إدارة الحزم، أتمتة المهامّ ومراقبة السّجلات في Red Hat Enterprise Linux

إدارة الحزم، أتمتة المهام، مراقبة السجلات، Red Hat Enterprise Linux، RHEL، إدارة النظام، أدوات لينكس، أمان النظام، RPM، Yum، DNF، systemd، journald، crontab، Ansible


مقدّمة

يُعد نظام Red Hat Enterprise Linux (RHEL) من أبرز توزيعات لينوكس المُستخدمة في البيئات المؤسسية، نظراً لثباته، أمنه، ودعمه طويل الأجل. ويعتمد مديرو النظام في الشركات والمؤسسات الكبرى على RHEL لضمان استقرار الخوادم والتطبيقات الحيوية. ومن أجل تحقيق أقصى قدر من الكفاءة، يعتمد هذا النظام على ثلاث ركائز أساسية: إدارة الحزم، أتمتة المهام، ومراقبة السجلات. وتشكّل هذه المكوّنات العمود الفقري لأي بيئة تشغيل حديثة ومؤمنة. يتناول هذا المقال هذه المحاور بتوسّع، مع تحليل الأدوات والآليات التي توفرها Red Hat لإدارتها بكفاءة عالية.


أولاً: إدارة الحزم في RHEL

مفهوم إدارة الحزم

الحزمة (Package) هي وحدة قابلة للتثبيت تحتوي على ملفات البرنامج والمكتبات والتعليمات الضرورية لتشغيله. نظام إدارة الحزم في RHEL مبني على تنسيق RPM (Red Hat Package Manager)، وهو تنسيق موحّد لإدارة التطبيقات ومكوناتها.

أدوات إدارة الحزم

1. RPM – Red Hat Package Manager

rpm هو الأداة الأساسية للتعامل مع الحزم في RHEL. تُستخدم هذه الأداة لتثبيت، تحديث، إزالة، والتحقق من الحزم. لكنها لا تدير التبعيات تلقائياً.

أمثلة:

bash
rpm -ivh package.rpm # لتثبيت حزمة rpm -e package-name # لإزالة حزمة rpm -qa # لعرض جميع الحزم المثبتة rpm -ql package-name # لعرض الملفات التي تحتويها الحزمة

2. YUM – Yellowdog Updater Modified

YUM هو مدير حزم عالي المستوى يعتمد على RPM، ويُستخدم لإدارة الحزم مع حلّ تلقائي للتبعيات. تم استبداله لاحقاً بـ DNF في الإصدارات الأحدث من RHEL.

مثال:

bash
yum install httpd yum update yum remove mariadb

3. DNF – Dandified YUM

ابتداءً من RHEL 8، أصبح DNF هو المدير الافتراضي للحزم، ويقدم أداءً أعلى وتحليلاً أفضل للتبعيات.

bash
dnf install nginx dnf update dnf remove nano

إدارة المستودعات (Repositories)

تعتمد أدوات الحزم على مستودعات رسمية أو خاصة. يمكن تعديل المستودعات بإضافة ملفات تحت /etc/yum.repos.d/ وتحديد المصدر URL، وGPG key، ونوع المستودع (base، updates…).


ثانياً: أتمتة المهام في RHEL

تُعتبر أتمتة المهام من الركائز الأساسية في إدارة الخوادم، حيث تقلل من التكرار البشري وتزيد من دقة التنفيذ.

1. Crontab – المجدول التقليدي

crontab هو الأداة التقليدية لتحديد مهام دورية تُنفّذ تلقائياً في أوقات محددة.

صيغة الجدولة:

scss
* * * * * command_to_run │ │ │ │ │ │ │ │ │ └── يوم الأسبوع (0 - 7) (0 و 7 كلاهما تعني الأحد) │ │ │ └──── الشهر (1 - 12) │ │ └────── اليوم من الشهر (1 - 31) │ └──────── الساعة (0 - 23) └────────── الدقيقة (0 - 59)

أمثلة:

bash
crontab -e # تعديل جدول cron 0 2 * * * /usr/bin/backup.sh # تنفيذ نسخة احتياطية يومياً في الثانية فجراً

2. systemd Timers – البديل الحديث لـ Cron

يوفر systemd آلية جدولة متقدمة باستخدام “Timers”، وهي أكثر موثوقية وقابلة للتكامل مع إدارة الخدمات.

مثال على ملف timer:

ini
[Unit] Description=تشغيل مهمة تنظيف مؤقت [Timer] OnBootSec=5min OnUnitActiveSec=1h [Install] WantedBy=timers.target

3. Ansible – أداة الأتمتة الشاملة

يُستخدم Ansible لأتمتة المهام المعقدة، كإعداد الخوادم، نشر التطبيقات، أو إدارة التكوين.

خصائصه:

  • يعتمد على SSH دون الحاجة إلى وكيل (Agentless).

  • ملفات YAML لكتابة المهام (Playbooks).

  • قابل للتوسعة باستخدام وحدات جاهزة.

مثال على playbook:

yaml
- name: تثبيت وتفعيل خدمة Apache hosts: webservers become: true tasks: - name: تثبيت httpd dnf: name: httpd state: present - name: تفعيل الخدمة systemd: name: httpd enabled: yes state: started

ثالثاً: مراقبة السّجلات في RHEL

السجلات (Logs) تمثل المصدر الأساسي لتشخيص المشاكل ومراقبة الأنشطة. تعتمد RHEL على systemd وjournald لإدارة السجلات بشكل مركزي.

1. journald – النظام الحديث لتسجيل الأحداث

journald هو جزء من systemd ويحلّ محل الأنظمة التقليدية مثل syslog. يخزن السجلات في ملفات ثنائية.

أمثلة:

bash
journalctl # عرض كامل السجلات journalctl -u sshd # عرض سجلات خدمة sshd journalctl --since "1 hour ago" # عرض السجلات من الساعة الماضية journalctl -xe # عرض الأحداث الحرجة الأخيرة

2. rsyslog – التكامل مع أنظمة تقليدية

رغم وجود journald، لا تزال العديد من المؤسسات تستخدم rsyslog لتوجيه السجلات إلى ملفات نصية أو إلى خوادم خارجية.

الملف الرئيسي لإعداداته: /etc/rsyslog.conf

3. logrotate – إدارة دورية السجلات

logrotate هو أداة لإدارة حجم السجلات وتنظيم تناوبها (rotation) لمنع امتلاء الأقراص.

ملف الإعداد الرئيسي: /etc/logrotate.conf

يمكن جدولة تناوب السجلات يومياً، أسبوعياً، أو شهرياً، مع خيارات للضغط أو الحذف.

مثال:

conf
/var/log/httpd/*.log { weekly rotate 4 compress missingok notifempty }

جدول مقارنة بين أدوات RHEL الأساسية

المجال الأداة الوظيفة البديل الحديث الموقع الافتراضي للملفات
إدارة الحزم rpm تثبيت، إزالة، فحص الحزم dnf /usr/bin/rpm
إدارة الحزم yum إدارة الحزم مع التبعيات dnf /etc/yum.repos.d/
أتمتة المهام crontab جدولة المهام دورياً systemd timers /etc/crontab
أتمتة المهام Ansible أتمتة التكوينات عبر الشبكة لا بديل مباشر ملفات YAML مخصصة
مراقبة السجلات journald إدارة السجلات المركزية /var/log/journal/
مراقبة السجلات rsyslog تسجيل السجلات إلى ملفات أو خوادم خارجية journald /etc/rsyslog.conf
إدارة السجلات logrotate تنظيم التناوب وضغط السجلات /etc/logrotate.conf

أهمية تكامل هذه العناصر في بيئة RHEL

يعتمد استقرار النظام وكفاءته على تكامل أدوات الإدارة. فإدارة الحزم تُسهل تثبيت البرامج وتحديثها، بينما تُقلّل أتمتة المهام من الأخطاء البشرية. أما مراقبة السجلات، فهي الحارس الذي يُنبّه إلى أي خلل أو خطر محتمل. والدمج بين هذه الأدوات يخلق بيئة عمل مرنة، مستقرة، وآمنة، مما يجعل Red Hat Enterprise Linux اختياراً موثوقاً في بيئات الإنتاج.


المراجع

  1. Red Hat Documentation – https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux

  2. Ansible Documentation – https://docs.ansible.com/