ملف التكوين

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

تُوفّر بعض التطبيقات أداةً لإنشاء ملفات التكوين وتعديلها والتحقق من صحة بنيتها ، وذلك أحيانًا عبر واجهة مستخدم رسومية . على سبيل المثال، قد يُطلب من مديري الأنظمة إنشاء ملفات التكوين النصية وتعديلها باستخدام محرر نصوص. أما بالنسبة لعمليات الخادم وإعدادات نظام التشغيل، فغالبًا لا توجد أداة قياسية، ولكن قد تُوفّر أنظمة التشغيل واجهات رسومية مثل YaST أو debconf.

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

تنسيق الملف

بشكل عام، يمكن أن يكون لملف الإعدادات أي تنسيق . ويُحدد التنسيق المُناسب لنظام معين بناءً على تصميم ذلك النظام. غالبًا ما يُستخدم تنسيق قياسي لأنه يسمح باستخدام الأدوات المُصممة لهذا التنسيق حتى لو لم تكن مُصممة للنظام المُستخدم. على وجه الخصوص، تُستخدم تنسيقات التسلسل العامة ، مثل JSON و XML و YAML ، بكثرة في البرامج مفتوحة المصدر والمُحايدة للمنصات . وتكون مواصفات هذه التنسيقات متاحة للعموم لدعم استخدامها على نطاق واسع.

يقارن الجدول التالي بين التنسيقات البارزة المستخدمة لبيانات التكوين.

مقارنة التنسيق [ 1 ]
شكلالمواصفات الرسميةيسمح بالتعليقاتتحديد نوع بناء الجملة
INIلانعملا
JSONنعم [ 2 ]لانعم
TOMLنعم [ 3 ]نعمنعم
جامعة لندنلا [ 4 ]نعمنعم
YAMLنعم [ 5 ]نعمنعم
XMLنعم [ 6 ]نعملا

يشير عمود تحديد أنواع البيانات إلى ما إذا كان بناء الجملة يدعم أنواع البيانات . يتمتع التنسيق بتحديد أنواع البيانات إذا تم تحديد نوع القيمة بواسطة بناء الجملة - على سبيل المثال، ` trueis` قيمة منطقية بينما "true"`is` سلسلة نصية . لا يتمتع التنسيق بتحديد أنواع البيانات إذا كان نوع القيمة يعتمد على الدلالات - على سبيل المثال، `is` trueو` is` كلاهما قيم منطقية إذا كان المحلل يتوقع قيمة منطقية. تختلف"true" الآراء حول أهمية تحديد أنواع البيانات .

أمثلة

فيما يلي أمثلة على ملفات التكوين المصنفة حسب أنظمة التشغيل التي تُستخدم عليها بشكل شائع.

يونكس والأنظمة الشبيهة بيونكس

تُستخدم العديد من تنسيقات الملفات المختلفة في أنظمة التشغيل يونكس والأنظمة الشبيهة بها . ومع ذلك، لا يزال هناك تقليد راسخ لاستخدام تنسيقات النصوص العادية القابلة للتعديل البشري، بما في ذلك أزواج المفاتيح والقيم البسيطة . كما تُستخدم امتدادات أسماء الملفات .cnf.co.uk و .conf.co.uk .cfgو .co.uk .cfو .ini.co.uk بشكل شائع.

تسمح العديد من التنسيقات بإضافة التعليقات ، وفي هذه الحالة، يمكن تعطيل إعدادات معينة بإضافة رمز التعليق في البداية . غالبًا ما تحتوي ملفات التكوين الافتراضية على توثيق داخلي شامل على شكل تعليقات [ 7 ] [ 8 ] ، كما تُستخدم ملفات الدليل عادةً لتوثيق التنسيق والخيارات المتاحة.

تستخدم البرامج التي تعمل على مستوى النظام غالبًا ملفات تهيئة مخزنة في مجلد معين /etc، بينما تستخدم تطبيقات المستخدم عادةً ملفًا فرعيًا ( dotfile ) في المجلد الرئيسي مسبوقًا بنقطة ، وهو ما يخفي الملف أو المجلد عن العرض العادي في أنظمة يونكس. ولأن هذا يُسبب تداخلًا في بنية النظام، فإن تطبيقات المستخدم الحديثة تُنشئ عادةً مجلدًا خاصًا بها في هذا .configالمجلد، وهو مجلد فرعي موحد ضمن المجلد الرئيسي.

على غرار ملفات التكوين، يمكن لبرنامج نصي لتشغيل الأوامر (rc) تهيئة جلسة طرفية . غالبًا ما تُسمى هذه البرامج النصية بلاحقة بعد اسم البرنامج المستهلك ، مثل . [ 9 ]rc.xinitrc.vimrc.bashrcxsane.rc

وعلى النقيض من ذلك، يستخدم نظام التشغيل AIX من شركة IBM قاعدة بيانات مدير بيانات الكائنات (ODM) لتخزين الكثير من إعدادات النظام الخاصة به.

نظام التشغيل MS-DOS

MS-DOS primarily relied on the CONFIG.SYS config file, a plain text file with simple key–value pairs (e.g. DEVICEHIGH=C:\DOS\ANSI.SYS). MS-DOS 6 introduced the INI-file format. Similar to an rc file, the batch file named AUTOEXEC.BAT ran commands on startup. Both these files were retained up to Windows 98SE, which still ran on top of MS-DOS.

An example CONFIG.SYS:

DOS=HIGH,UMBDEVICE=C:\DOS\HIMEM.SYSDEVICE=C:\DOS\EMM386.EXE RAMDEVICEHIGH=C:\DOS\ANSI.SYSFILES=30SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P

DOS applications used a wide variety of individual configuration files, most of them binary, proprietary and undocumented - and there were no common conventions or formats.

Windows

The REGEDIT application being used to edit Windows Registry data

Early Windows operating systems heavily utilized plain-text INI files which served as the primary mechanism to configure the operating system and applications.[10] The APIs to read and write from these still exist in Windows, but after 1993, Microsoft began to steer developers away from using INI files and toward storing settings in the registry, a hierarchical database to store configuration settings, which was introduced with Windows NT. Later systems use XML and other formats instead of the registry.

macOS

The Property List is the standard configuration file format in macOS (as well as in iOS, NeXTSTEP, GNUstep and Cocoa applications). It uses the filename extension.plist.

IBM OS/2

IBM's OS/2 uses a binary format, also with a .INI suffix, but this differs from the Windows versions. It contains a list of lists of untyped key–value pairs.[11] Two files control system-wide settings: OS2.INI and OS2SYS.INI. Application developers can choose whether to use them or to create a specific file for their applications.

HarmonyOS and OpenHarmony operating systems

HarmonyOS and OpenHarmony-based operating systems use JSON config files, named config.json. The platform IDE, DevEco Studio, provides methods for editing config.json.[12]

See also

مراجع