نظام ملفات في مساحة المستخدم (فيوز)
نظام الملفات في مساحة المستخدم(فيوز) (بالإنجليزية: Filesystem in Userspace (FUSE)) هو واجهة برمجية لأنظمة تشغيل الكمبيوتر يونكس والشبيهة بـيونكس والتي تتيح للمستخدمين بدون صلاحيات، إنشاء أنظمة الملفات الخاصة بهم دون تحرير كود النواة. يتم تحقيق ذلك عن طريق تشغيل كود نظام الملفات في مساحة المستخدم بينما توفر وحدة FUSE فقط «جسرًا» إلى واجهات النواة الفعلية.
Filesystem in Userspace
|
يتوفر FUSE لأنظمة لينكس وفري بي إس دي وأوبن بي إس دي ونت بي إس دي (مثل puffs ) و أوبن سولاريس و Minix 3 و أندرويد وماك أو إس و [2] و ويندوز.[3]
يعد فيوز من البرمجيات الحرة تم طرحه في الأصل بموجب شروط رخصة جنو العمومية ورخصةجنو العمومية الصغرى .
تاريخ
كان نظام فيوز في الأصل جزءًا من نظام الملفات الافتراضي AVFS(A Virtual Filesystem)، وهو نظام ملفات تأثر بشدة بمفهوم المترجم الخاص بـ جنو هيرد.[4] حل محل نظام الملفات لوفس ، وقدم واجهة ترجمة باستخدام lufis
في مكتبة libfuse1.
تم إصدار فيوز في الأصل بموجب شروط رخصة جنو العمومية العامة ورخصة جنو العمومية الصغرى ، والتي أعيد تطبيقها لاحقًا كجزء من نظام فري بي إس دي الأساسي [5] وتم إصدارها بموجب شروط رخصة بي إس دي المبسطة. تم إعادة إصدار تنفيذ مرخصة تحت رخصة إي اس سي من قبل سيلفيسر غالون (Sylvestre Gallon) في مارس 2013 ، [6] وتم دمجها في أوبن بي إس دي في يونيو 2013.[7]
دمج فيوز في شجرة نواة Linux السائدة في الإصدار 2.6.14.[8]
اتبع تطوير جانب مساحة المستخدم من فيوز ، ومكتبة libfuse ، بشكل عام وتيرة تطوير نواة لينكس مع الحفاظ على توافق بـ«أفضل جهد» مع أحفاد بي إس دي. هذا ممكن لأن فيوز النواة يقوم بالتلبيغ عن «مستويات الميزات» أو الإصدارات الخاصة به. الاستثناء هو شعبة فيوز لنظام التشغيل ماك أو اس (أو اكس فيوز - OSXFUSE)، ، والذي يحتوي على العديد من الاختلافات لمشاركة المكتبات.[9] دعم الإصدار الثالث من مكتبة ليب فيوز libfuse3
ميزات غير متوافقة في الواجهة والآداء على غرار سابقه libfuse2
الذي في وضع الصيانة حاليا.[10]
نظرًا لأن بروتوكول مساحة مستخدمي النواة (kernel-space) لفيوز متعدد الإصدارات وعام، يمكن للمبرمج اختيار استخدام جزء مختلف من التعليمات البرمجية بدلاً من libfuse ولا يزال بإمكانه التواصل مع مرافق فيوز الخاصة بالنواة. من ناحية أخرى، libfuseوالعديدة من منقولاته البرمجية توفر واجهة محمولة عالية المستوى يمكن تنفيذها على نظام بدون خاصية فيوز.
التشغيل والاستخدام
لتنفيذ نظام ملفات جديد ، يجب كتابة برنامج مناول مرتبط بمكتبة libfuse
الغرض الرئيسي من هذا البرنامج هو تحديد كيفية استجابة نظام الملفات لطلبات القراءة / الكتابة / ستات . يستخدم البرنامج أيضًا في ربط نظام الملفات الجديد. في الوقت الذي يتم فيه تثبيت نظام الملفات، يتم تسجيل المعالج في kernel. إذا أصدر المستخدم طلبات القراءة / الكتابة / ستات لنظام الملفات الذي تم ربطه حديثًا ، فإن النواة تعيد توجيه طلبات الإدخال والإخراج هذه إلى المعالج ثم ترسل استجابة المعالج مرة أخرى إلى المستخدم.
تكمن فائدة فيوز بشكل خاص في كتابة أنظمة الملفات الافتراضية . على عكس أنظمة الملفات التقليدية التي تعمل بشكل أساسي مع البيانات على التخزين كبير السعة، فأنظمة الملفات الافتراضية لا تقوم في الواقع بتخزين البيانات بنفسها. تعمل كعرض أو ترجمة لنظام ملفات أو جهاز تخزين موجود.
من حيث المبدأ ، يمكن تصدير أي مورد متاح لتطبيق فيوز كنظام ملفات.
التطبيقات
أنظمة الملفات على القرص
يمكن تنفيذ أنظمة الملفات التقليدية الموجودة على القرص في مساحة المستخدم باستخدام فيوز، بسبب التوافق أو الترخيص مثلا.
- نظام ملفات الشريط الخطي : يسمح بالوصول إلى الملفات المخزنة على شريط مغناطيسي بطريقة مماثلة لتلك الموجودة على القرص أو وحدات الذاكرة الفلاشية.
- إن تي إف إس-3ج(NTFS-3G) و كابتيف إن تي إف إس(Captive NTFS)، يسمحان بالوصول إلى أنظمة ملفات إن تي إف إس(NTFS).
طبقات أنظمة الملفات
يمكن لأنظمة ملفات فيوز إنشاء عرض لنظام الملفات الضمني، وتحويل الملفات بطريقة ما.
- EncFS : نظام ملفات إفتراضي مشفر
- FuseCompress و Fuse-ZIP و CompFUSEd: أنظمة ملفات افتراضية مضغوطة.
أنظمة ملفات الأرشفة والنسخ الاحتياطي
يمكن لأنظمة ملفات فيوز الكشف عن محتويات الأرشيفات أو مجموعات النسخ الاحتياطي دون الحاجة إلى استخراجها أولاً.
- أرشيف ماونت
- بورغ-Borg (برنامج النسخ الاحتياطي) : برنامج إزالة النسخ الاحتياطي المتكررة الذي يسمح بتثبيت أرشيفات النسخ الاحتياطي كنظم ملفات فيوز.
- رستيك-Restic : برنامج نسخ احتياطي، مجاني، سريع، فعال، وآمن. يقة م باستعمال فيوز لتصفح جميع لقطات النسخ الاحتياطي كنظام ملفات عادي.
- SPFS نظام ملفات لحماية الطيف، مصمم لربط مساحة ملفات خادم النسخ الاحتياطية في أي مكان على الخادم الخاص بك، واستخدام الميزات المضمنة من خادم النسخ الاحتياطية (التشفير ، وإزالة التكرار ، والضغط ، والترشيح ، إلخ) وهو مايعرف بنظام ملفات أكتب مرة اقرأ عدة مرات (WORM).
عملاء نظام الملفات الموزعة/البعيدة
- CernVM-FS : نظام توزيع برامج للقراءة فقط موزع ، يتم تنفيذه كنظام ملفات POSIX في مساحة المستخدم (FUSE) باستخدام نقل HTTP ، لتقديم البرامج بطريقة سريعة وموثوقة على نطاق عالمي.
- CloudStore ( Kosmos سابقًا): من خلال الربط عبر فيوز، يمكن لأدوات لينكس الموجودة التفاعل مع CloudStore
- ExpanDrive : نظام ملفات تجاري يطبق SFTP / FTP / S3 / Swift باستخدام فيوز.
- FTPFS
- GlusterFS : نظام ملفات مُوزَّع وعنقودي لديه القدرة على توسيع نطاقه إلى عدة بيتابايتات.
- goofys : نظام ملفات فيوز يسمح بالوصول إلى تخزين Amazon S3 / Microsoft Azure مع التركيز على الأداء.
- IPFS : نظام ملفات مُوزَّع، ند لند، يسعى إلى توصيل جميع أجهزة الحواسيب بنفس نظام الملفات.
- JuiceFS : نظام ملفات بوزيكس مُوزَّع مبني على Redis و S3.
- KBFS : نظام ملفات مُوزَّع مع تشفير ند لند ومساحة اسم عالمية تعتمد على خدمة Keybase.io التي تستخدم FUSE لإنشاء نقاط ربط ملفات آمنة ومشفرة.
- لوستري(Lustre) نظام ملفات عنقودي يستعمل فيوز لكي يشتغل في مساحة المستخدم، بحيث يمكن أن ينقل إلى نظام فري بي إس دي.[11] ومع ذلك ، فإن منفذ ZFS -Linux الخاص بـ Luster سوف يقوم بتشغيل DMU (وحدة إدارة البيانات) الخاصة بـ ZFS في مساحة المستخدمين.[12]
- MinFS : هو برنامج تعريف لفيوز لخادم آمازون إس3(Amazon S3)لتخزين الكائنات المتوافقة. يتيح لك تركيب حاوية بعيدة (من مخزن عناصر متوافق مع S3) ، كما لو كانت مجلدا محليًا.[13]
- MooseFS : نظام ملفات مفتوح المصدر مُوزَّع، يتحمل الأخطاء، متاح على كل نظام تشغيل مع تطبيق فيوز لـ(لينكس، فري بي إس دي، نت بي إس دي، أوبن سولاريس، ماك أو اس)، قادر على تخزين بيتابايت من البيانات الموزعة على عدة خوادم مرئية كمَوْرِد واحد.
- ObjectiveFS : نظام ملفات مُوزَّع مع الواجهة الخلفية(back end) لمخزن العناصر (Amazon S3 أو Google Cloud Storage أو مخزن كائنات متوافق مع S3) باستخدام فيوز.
- s3fs : يمنح القدرة على تركيب دلو S3 كما لو أنه نظام ملفات محلي.
- نظام ملفات القطاع : Sector هو نظام ملفات مُوزَّع مصمم لكمية كبيرة من أجهزة الكمبيوتر السلعية. يستخدم هذا القطاع فيوز لتوفير واجهة نظام ملفات محلية قابلة للتركيب.
- SSHFS : يوفر الوصول إلى نظام ملفات بعيد من خلال بروتوكول النقل الآمن(SSH) .
- الإرسال : عميل إف تي بي تجاري يضيف أيضًا القدرة على تحميل خوادم WebDAV و SFTP و FTP و Amazon S3 كأقراص في فايندر ، عبر MacFUSE.
- WebDrive : نظام ملفات تجاري يطبق WebDAV و SFTP و FTP و FTPS و Amazon S3
- WikipediaFS : عرض وتحرير مقالات ويكيبيديا كما لو كانت ملفات حقيقية.
- Wuala : كان نظامًا للملفات الموزعة متعدد المنصات ، قائم على Java ونظام تشغيل متكامل ومتكامل. استخدام FUSE و MacFUSE و CBFS Connect على التوالي لتكامل نظام الملفات ، بالإضافة إلى تطبيق قائم على Java يمكن الوصول إليه من أي متصفح ويب يدعم Java (توقفت الخدمة في 2015).
أنظة ملفات أخرى
- GVfs : نظام الملفات الافتراضي لسطح مكتب جنوم
- rvault : متجر آمن وموثق للأسرار والمستندات الصغيرة باستخدام تشفير المغلفات مع مصادقة كلمة المرور لمرة واحدة (OTP). يستخدم FUSE لفضح الخزنة كنظام ملفات.
- EmojiFS : نظام ملفات FUSE يسمح لك بمعالجة الرموز التعبيرية المخصصة على Slacks و Discords المختلفة.
انظر أيضًا
- بافس PUFFS، إطار مشابه مع توافقيات فيوز.
- 9P (بروتوكول)
- نظام الملفات القابل للتثبيت
- مكتبة دوكان مكتبة توافقية لفيوز مع نظام التشغيل ميكروسوفت ويندوز.
- Windows Projected File System (ProjFS)
روابط خارجية
- الموقع الرسمي
- قم بتطوير نظام الملفات الخاص بك باستخدام FUSE بواسطة Sumit Singh
- قائمة أنظمة ملفات FUSE.
- وثائق فيوز في شجرة نواة لينكس على المسار Documentation/filesystems/fuse.txt، رابط آخر.
- WinFSP، شبيه فيوز لنظام التشغيل ميكروسوفت ويندوز (يتم توفير طبقة توافق فيوز لـ Cygwin).
- Crossmeta FUSE، برنامج منقول من فيوز موجه نحو نظام ميكروسوفت ويندوز (برنامج تجاري).
مراجع
- "Release libfuse 3.11.0".
- "Home - FUSE for OS X"، مؤرشف من الأصل في 30 مارس 2021.
- Zissimopoulos, Bill (14 فبراير 2021)، billziss-gh/winfsp، مؤرشف من الأصل في 18 مارس 2021، اطلع عليه بتاريخ 16 فبراير 2021
- "Some technical advantages of the Hurd"، 15 مايو 2011، مؤرشف من الأصل في 15 يناير 2021، اطلع عليه بتاريخ 28 مارس 2016.
- "WhatsNew/FreeBSD10 - FreeBSD Wiki"، مؤرشف من الأصل في 13 مارس 2021.
- "openbsd dev - tech - Fuse (and sshfs) support for OpenBSD"، مؤرشف من الأصل في 26 أكتوبر 2020.
- "'CVS: cvs.openbsd.org: src' - MARC"، مؤرشف من الأصل في 19 أكتوبر 2018.
- "file-systems.fuse.devel - FUSE merged to 2.6.14! - msg#00021 - Recent Discussion OSDir.com"، مؤرشف من الأصل في 20 أبريل 2016.
- "libfuse/libfuse, the reference implementation of the Linux FUSE (Filesystem in Userspace) interface"، libfuse، 09 يناير 2020، مؤرشف من الأصل في 29 مارس 2021، اطلع عليه بتاريخ 09 يناير 2020.
- "libfuse3 ChangeLog"، GitHub، مؤرشف من الأصل في 16 أكتوبر 2020، اطلع عليه بتاريخ 09 يناير 2020.
- "Lustre FreeBSD"، مؤرشف من الأصل في 12 مارس 2008، اطلع عليه بتاريخ 02 مارس 2008.
- "Architecture ZFS for Lustre"، Sun Microsystems، مؤرشف من الأصل في 22 يناير 2009، اطلع عليه بتاريخ 02 مارس 2008.
- "minio/minfs"، GitHub، مؤرشف من الأصل في 26 سبتمبر 2020، اطلع عليه بتاريخ 12 أبريل 2018.
- بوابة برمجيات حرة
- بوابة لينكس