منصوبے کے بارے میں

s3fs-fuse ایک اوپن سورس FUSE (Filesystem in Userspace) نفاذ ہے جو صارفین کو Amazon S3 بکیٹس—یا کسی بھی S3-مطابقت رکھنے والے آبجیکٹ اسٹور—کو Linux، macOS اور FreeBSD پر مقامی فائل سسٹم کے طور پر ماؤنٹ کرنے کی اجازت دیتا ہے۔ یہ مقامی S3 آبجیکٹ فارمیٹ کو برقرار رکھتا ہے، لہٰذا فائلیں AWS CLI جیسے دیگر ٹولز کے ذریعے قابل رسائی رہتی ہیں۔ کلیدی خصوصیات میں POSIX سیمنٹکس کے ایک بڑے ذیلی سیٹ کے لیے سپورٹ (فائلیں پڑھنا/لکھنا، ڈائریکٹریز، سم لنکس، موڈ، uid/gid اور توسیعی صفات)، ملٹی پارٹ اپ لوڈ کے ذریعے بے ترتیب تحریریں اور اپینڈز، سرور سائیڈ کاپی کے ذریعے رینییمز، اختیاری سرور سائیڈ انکرپشن، MD5 ہیشز کے ذریعے ڈیٹا کی سالمیت کی تصدیق، میموری میں میٹا ڈیٹا کیشنگ، مقامی ڈسک ڈیٹا کیشنگ، صارف کی مخصوص کردہ ریجنز (بشمول Amazon GovCloud)، اور v2 یا v4 دستخطوں کے ذریعے تصدیق شامل ہیں۔ زیادہ تر ڈسٹری بیوشنز پر انسٹالیشن سیدھی ہے: Amazon Linux، Arch Linux، Debian/Ubuntu، Fedora، Gentoo، RHEL/CentOS، SUSE/openSUSE، macOS (Homebrew کے ذریعے)، FreeBSD اور Windows کے لیے پہلے سے تیار شدہ پیکجز دستیاب ہیں۔ صارفین فراہم کردہ ہدایات پر عمل کرتے ہوئے سورس سے بھی کمپائل کر سکتے ہیں۔ اسناد معیاری AWS اسناد فائل (~/.aws/credentials)، ایک حسب ضرورت پاس ورڈ فائل (~/.passwd-s3fs یا /etc/passwd-s3fs)، یا ماحولیاتی متغیرات (AWS_ACCESS_KEY_ID، AWS_SECRET_ACCESS_KEY، AWS_SESSION_TOKEN) کے ذریعے فراہم کی جا سکتی ہیں۔ ماؤنٹنگ ایک سادہ کمانڈ جیسے `s3fs mybucket /path/to/mountpoint -o passwd_file=~/.passwd-s3fs` سے کی جاتی ہے، اور /etc/fstab کے ذریعے خودکار ماؤنٹنگ کے لیے ترتیب دی جا سکتی ہے۔ غیر Amazon S3 نفاذات کے لیے، صارفین ایک حسب ضرورت URL بتا سکتے ہیں اور پاتھ اسٹائل درخواستیں فعال کر سکتے ہیں۔ خرابیوں کا سراغ لگانے کے لیے ڈیبگ آؤٹ پٹ فعال کیا جا سکتا ہے۔ محدودیتوں سے آگاہ رہیں: S3 مقامی فائل سسٹم کی کارکردگی یا سیمنٹکس سے مماثل نہیں ہو سکتا۔ بے ترتیب تحریریں اور اپینڈز پورے آبجیکٹ کو دوبارہ لکھنے کی ضرورت ہوتی ہیں (ملٹی پارٹ اپ لوڈ کاپی کے ساتھ بہتر کیا گیا)۔ ڈائریکٹری لسٹنگ جیسے میٹا ڈیٹا آپریشنز نیٹ ورک لیٹنسی سے متاثر ہوتے ہیں۔ غیر AWS فراہم کنندگان میں حتمی مستقل مزاجی کے مسائل ہو سکتے ہیں۔ کوئی ایٹمک رینییمز نہیں، ایک ہی بکیٹ کو ماؤنٹ کرنے والے متعدد کلائنٹس کے درمیان کوئی ہم آہنگی نہیں، کوئی ہارڈ لنکس نہیں، اور inotify صرف مقامی تبدیلیوں کا پتہ لگاتا ہے۔ یہ پروجیکٹ GNU GPL ورژن 2 کے تحت لائسنس یافتہ ہے اور متعلقہ ٹولز جیسے CSI for S3 (Kubernetes)، docker-s3fs-client، goofys، s3backer، S3Proxy، s3ql اور YAS3FS کا حوالہ دیتا ہے۔