راقب أجهزتك باستخدام LibreNMS على Ubuntu 16.04

LibreNMS هو نظام مراقبة شبكة مفتوح المصدر كامل المواصفات. يستخدم SNMP للحصول على البيانات من أجهزة مختلفة. يتم دعم مجموعة متنوعة من الأجهزة في LibreNMS مثل Cisco و Linux و FreeBSD و Juniper و Brocade و Foundry و HP وغيرها الكثير. وهو يدعم العديد من آليات المصادقة ويدعم المصادقة الثنائية. لديها نظام تنبيه قابل للتخصيص يمكنه تنبيه مدير الشبكة عبر البريد الإلكتروني أو IRC أو slack.

المتطلبات الأساسية

في هذا البرنامج التعليمي ، سنستخدم nms.example.com كاسم المجال الموجه نحو مثيل Vultr. يرجى التأكد من استبدال جميع حالات اسم النطاق المثال بالاسم الفعلي.

قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات.

قم بتثبيت Nginx و PHP

تمت كتابة الواجهة الأمامية لـ LibreNMS بـ PHP ، وبالتالي سنحتاج إلى تثبيت خادم ويب و PHP. في هذا البرنامج التعليمي ، سنقوم بتثبيت Nginx مع PHP 7.2 للحصول على أقصى قدر من الأمان والأداء.

قم بتثبيت Nginx.

sudo apt -y install nginx

قم بتشغيل Nginx وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start nginx
sudo systemctl enable nginx

قم بإضافة مستودع Remi وتمكينه ، حيث يحتوي مستودع apt الافتراضي على إصدار قديم من PHP.

sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update

قم بتثبيت PHP الإصدار 7.2 مع الوحدات المطلوبة من قبل LibreNMS.

sudo apt -y install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-mysql php7.2-snmp php7.2-mbstring php7.2-xml php7.2-zip zip unzip

افتح ملف التهيئة المحمل في محرر.

sudo nano /etc/php/7.2/fpm/php.ini

ابحث عن الخطوط التالية.

;cgi.fix_pathinfo=1
;date.timezone =

قم بإلغاء التعليق واستخدام هذه القيم بدلاً من ذلك ، Asia/Kolkata استبدل بمنطقتك الزمنية المحلية.

cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata

ستحتاج أيضًا إلى تغيير المنطقة الزمنية للنظام عن طريق تشغيل الأمر التالي.

sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime

أعد تشغيل PHP-FPM.

sudo systemctl restart php7.2-fpm

قم بتثبيت MariaDB

MariaDB هو شوكة مفتوحة المصدر لـ MySQL. أضف مستودع MariaDB إلى نظامك ، حيث يحتوي مستودع Ubuntu الافتراضي على إصدار أقدم من MariaDB.

sudo apt-key adv --yes --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.2/ubuntu xenial main'
sudo apt update

قم بتثبيت MariaDB. أثناء التثبيت ، سيطلب المثبت كلمة مرور rootمستخدم MySQL . أدخل كلمة مرور قوية.

sudo apt -y install mariadb-server

قبل أن نبدأ في استخدام MariaDB ، سنحتاج إلى تعديل التكوين قليلاً. افتح ملف التكوين.

sudo nano /etc/mysql/conf.d/mariadb.cnf 

أضف التعليمات البرمجية التالية إلى نهاية الملف.

[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

أعد تشغيل MariaDB وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl restart mariadb.service 
sudo systemctl enable mariadb.service

قبل تكوين قاعدة البيانات ، ستحتاج إلى تأمين مثيل MariaDB.

sudo mysql_secure_installation

ستتم مطالبتك بكلمة مرور الجذر MariaDB الحالية ، وبعد ذلك ستتم مطالبتك بتغيير rootكلمة المرور. نظرًا لأننا قمنا بالفعل بتعيين كلمة مرور قوية rootللمستخدم أثناء التثبيت ، تجاوزها عن طريق الإجابة " N". لجميع الأسئلة الأخرى ، أجب " Y". الأسئلة المطروحة ذاتيّة.

قم بتسجيل الدخول إلى هيكل MySQL كجذر.

mysql -u root -p

قم بتوفير كلمة المرور لمستخدم الجذر MariaDB لتسجيل الدخول. قم بتشغيل الاستعلامات التالية لإنشاء قاعدة بيانات ومستخدم قاعدة بيانات لتثبيت LibreNMS.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;

يمكنك استبدال اسم قاعدة البيانات واسم librenms المستخدم librenms وفقًا لاختيارك. يرجى التأكد من التغيير StrongPassword إلى كلمة مرور قوية للغاية.

قم بتثبيت LibreNMS

بصرف النظر عن التبعيات أعلاه ، يحتاج LibreNMS إلى عدد قليل من التبعيات.

sudo apt -y install fping git imagemagick jwhois mtr graphviz nmap python-memcache python-mysqldb rrdtool snmp snmpd whois composer

إضافة مستخدم جديد غير مميز لتطبيق LibreNMS.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG www-data librenms

يمكن تثبيت LibreNMS مباشرة عن طريق استنساخ مستودع Github.

cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms

قم بتغيير الملكية.

sudo chown librenms:librenms -R /opt/librenms

قم بتثبيت تبعيات PHP.

cd /opt/librenms
sudo su librenms -c "composer install"

يعتمد LibreNMS على SNMP في العديد من المهام. نظرًا لأننا قمنا بالفعل بتثبيت SNMP ، انسخ مثال ملف التكوين إلى موقعه.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

افتح ملف التكوين في المحرر.

sudo nano /etc/snmp/snmpd.conf

ابحث عن هذا الخط.

com2sec readonly  default         RANDOMSTRINGGOESHERE

قم بتحرير النص RANDOMSTRINGGOESHERE واستبدال سلسلة المجتمع بأي سلسلة من اختيارك. فمثلا.

com2sec readonly  default         my-org

تذكر السلسلة لأنها ستكون مطلوبة لاحقًا عندما نضيف أول جهاز SNMP.

يحتاج SNMP أيضًا إلى معلومات حول إصدار التوزيع. قم بتنزيل وتثبيت البرنامج النصي للعثور على إصدار التوزيع.

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro

ابدأ تشغيل خدمة SNMP daemon وتمكينها من البدء تلقائيًا في وقت التمهيد.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

ستحتاج الآن إلى إضافة بعض إدخالات crontab لتشغيل المهام المجدولة. قم بإنشاء ملف مهمة cron جديد.

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

أعد تشغيل خدمة cron daemon.

sudo systemctl restart cron

قم بالإعداد logrotate بحيث يتم تحديث ملفات السجل تلقائيًا بمرور الوقت.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

أخيرًا ، قم بتعيين الملكية والأذونات المناسبة.

sudo chown -R librenms:www-data /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

تكوينات SSL و Nginx VHost

لا يتم تأمين تسجيلات الدخول والمعلومات الأخرى المرسلة من خلال واجهة الويب الخاصة بـ LibreNMS إذا لم يتم تشفير الاتصال باستخدام SSL. سنقوم بتهيئة Nginx لاستخدام SSL الذي تم إنشاؤه باستخدام Let's Encrypt free SSL.

أضف مستودع Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.

sudo apt -y install certbot

ملاحظة : للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.

إنشاء شهادات SSL.

sudo certbot certonly --webroot -w /var/www/html -d nms.example.com

من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها في /etc/letsencrypt/live/nms.example.com/الدليل. سيتم تخزين شهادة SSL كـ وسيتم تخزين fullchain.pem المفتاح الخاص كـ privkey.pem.

تنتهي صلاحية شهادات التشفير في غضون 90 يومًا ، وبالتالي يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظيفة cron.

افتح ملف مهمة كرون.

sudo crontab -e

أضف السطر التالي في نهاية الملف.

30 5 * * 1 /usr/bin/certbot renew --quiet

سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم إثنين الساعة 5:30 صباحًا بالتوقيت المحلي. إذا كانت الشهادة ستنتهي صلاحيتها ، فسيتم تجديدها تلقائيًا.

إنشاء مضيف افتراضي جديد.

sudo nano /etc/nginx/sites-available/librenms

تعبئة الملف.

server {
    listen 80;
    server_name nms.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name nms.example.com;

    ssl_certificate           /etc/letsencrypt/live/nms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/nms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /opt/librenms/logs/librenms.nginx.access.log;
    root        /opt/librenms/html;
    index       index.php;

    charset utf-8;
    gzip on;
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location /api/v0 {
        try_files $uri $uri/ /api_v0.php?$query_string;
    }
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

استبدل nms.example.com بنطاقك الفعلي في التكوين أعلاه.

تنشيط التكوين الذي تم إنشاؤه حديثًا.

sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/librenms

أعد تشغيل Nginx.

sudo systemctl restart nginx

التثبيت باستخدام WebUI

لإنهاء التثبيت ، افتح https://nms.example.com المتصفح المفضل لديك. سترى تلبية المتطلبات. قدم تفاصيل قاعدة البيانات الخاصة بك وإنشاء حساب إداري جديد. بمجرد التثبيت ، ستحصل على رسالة للتحقق من التثبيت. انقر فوق الارتباط وقم بتسجيل الدخول باستخدام حساب المسؤول. يجب أن ترى أن كل شيء ما عدا الحالة " Poller" له حالة " Ok".

راقب أجهزتك باستخدام LibreNMS على Ubuntu 16.04

الآن ، انقر على الرابط لإضافة جهاز. على Add Deviceواجهة " " ، قدم اسم المضيف مثل المضيف المحلي واترك كل شيء كما هو. قدم سلسلة المجتمع الخاص بك في مجال المجتمع. يجب أن تكون نفس السلسلة التي قدمتها بالضبط snmpd.confأثناء تكوين SNMP.

راقب أجهزتك باستخدام LibreNMS على Ubuntu 16.04

بمجرد إضافة الجهاز ، يمكنك رؤية التفاصيل بالانتقال إلى Devicesعلامة التبويب "". وبالمثل ، يمكنك إضافة المزيد من الأجهزة إلى تطبيق LibreNMS لرصد "على مدار الساعة".



Leave a Comment

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

LiteCart عبارة عن منصة سلة تسوق مجانية ومفتوحة المصدر مكتوبة بلغة PHP و jQuery و HTML 5. وهي عبارة عن برنامج بسيط وخفيف الوزن وسهل الاستخدام للتجارة الإلكترونية

قم بإعداد NFS Share على دبيان

قم بإعداد NFS Share على دبيان

NFS هو نظام ملفات قائم على الشبكة يسمح لأجهزة الكمبيوتر بالوصول إلى الملفات عبر شبكة الكمبيوتر. يوضح هذا الدليل كيف يمكنك فضح المجلدات عبر NF

كيفية تثبيت Matomo Analytics على Fedora 28

كيفية تثبيت Matomo Analytics على Fedora 28

استخدام نظام مختلف؟ Matomo (Piwik سابقًا) هو نظام أساسي مفتوح المصدر للتحليلات ، وهو بديل مفتوح لبرنامج Google Analytics. مصدر Matomo مستضاف

قم بإعداد خادم TeamTalk على Linux

قم بإعداد خادم TeamTalk على Linux

TeamTalk هو نظام مؤتمرات يتيح للمستخدمين إجراء محادثات صوتية / مرئية عالية الجودة ، والدردشة النصية ، ونقل الملفات ، ومشاركة الشاشات. أنا

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

Ruby on Rails هو إطار عمل شهير لـ Ruby تم تطويره لزيادة إنتاجية المبرمجين. ومع ذلك ، الحصول على الجواهر والتبعيات المختلفة ر

كيفية الوصول إلى Vultr VPS الخاص بك

كيفية الوصول إلى Vultr VPS الخاص بك

يوفر Vultr عدة طرق مختلفة للوصول إلى VPS لتكوين وتثبيت واستخدام. بيانات اعتماد الوصول بيانات اعتماد الوصول الافتراضية لـ VPS الخاص بك

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من GZIP. تتم استضافة رمز المصدر الخاص به علنًا على Githu هذا

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ OpenNMS عبارة عن منصة إدارة شبكة مفتوحة المصدر على مستوى المؤسسات يمكن استخدامها لمراقبة وإدارة العديد من الأجهزة

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

مقدمة: التأليف والإصدار الموزع على الويب (WebDAV) هو امتداد HTTP يوفر إطار عمل لإنشاء الملفات وتعديلها عن بُعد على

استخدام طرق عرض MySQL على دبيان 7

استخدام طرق عرض MySQL على دبيان 7

مقدمة يتميز MySQL بميزة رائعة تعرف باسم طرق العرض. المشاهدات هي استعلامات مخزنة. اعتبرها اسمًا مستعارًا لاستعلام طويل. في هذا الدليل ،

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ DokuWiki هو برنامج ويكي مفتوح المصدر مكتوب بلغة PHP ولا يتطلب قاعدة بيانات. يقوم بتخزين البيانات في ملفات نصية. DokuWik

إنشاء Chroot على دبيان

إنشاء Chroot على دبيان

ستعلمك هذه المقالة كيفية إعداد سجن سريع على دبيان. أفترض أنك تستخدم Debian 7.x. إذا كنت تقوم بتشغيل دبيان 6 أو 8 ، فقد يعمل هذا ، ولكن

كيفية تثبيت PiVPN على دبيان

كيفية تثبيت PiVPN على دبيان

مقدمة طريقة سهلة لإعداد خادم VPN على دبيان هي PiVPN. PiVPN هو أداة تثبيت وغلاف لـ OpenVPN. يخلق أوامر بسيطة لك

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية نشر Ghost v0.11 LTS على Fedora 25

كيفية نشر Ghost v0.11 LTS على Fedora 25

استخدام نظام مختلف؟ Ghost هي منصة تدوين مفتوحة المصدر اكتسبت شعبية بين المطورين والمستخدمين العاديين منذ عام 201

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

كيفية نشر Lets Chat Server على CentOS 7

كيفية نشر Lets Chat Server على CentOS 7

Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد