Tagsistant
ٹیگسسٹینٹ لینکس کرنل کے لیے ایک سیمنٹک فائل سسٹم ہے، جو سی میں لکھا گیا ہے اور فیوز پر مبنی ہے۔ روایتی فائل سسٹمز کے برعکس جو اشیاء کا پتہ لگانے کے لیے ڈائریکٹریز کی درجہ بندی کا استعمال کرتے ہیں، ٹیگسسٹینٹ ٹیگز کے تصور کو متعارف کراتا ہے۔ ترتیب وار فائل سسٹمز کے ساتھ ڈیزائن اور اختلافات کمپیوٹنگ میں، فائل سسٹم ڈیٹا اسٹور کی ایک قسم ہے جسے فائلوں کو اسٹور کرنے، بازیافت کرنے اور اپ ڈیٹ کرنے کے لیے استعمال کیا جا سکتا ہے۔ ہر فائل کو اس کے راستے سے منفرد طور پر تلاش کیا جا سکتا ہے۔ صارف کو فائل تک رسائی کے لیے پہلے سے راستہ معلوم ہونا چاہیے اور اس راستے میں فائل کے مواد کے بارے میں کوئی معلومات لازمی طور پر شامل نہیں ہوتی ہے۔ ٹیگسسٹینٹ ٹیگز پر مبنی ایک تکمیلی نقطہ نظر کا استعمال کرتا ہے۔ صارف ٹیگز کا ایک سیٹ بنا سکتا ہے اور ان ٹیگز کو فائلوں، ڈائریکٹریز اور دیگر اشیاء (ڈیوائسز، پائپز) پر لاگو کر سکتا ہے۔ اس کے بعد صارف ان تمام اشیاء کو تلاش کر سکتا ہے جو ٹیگز کے ذیلی سیٹ سے میل کھاتے ہیں، جسے استفسار کہا جاتا ہے۔ اس قسم کا نقطہ نظر صارف کے مواد جیسے تصاویر، آڈیو ریکارڈنگ، فلمیں اور ٹیکسٹ دستاویزات کے انتظام کے لیے اچھی طرح سے موزوں ہے لیکن سسٹم فائلوں (جیسے لائبریریوں، کمانڈز اور ترتیبات) کے ساتھ مطابقت نہیں رکھتا ہے جہاں راستے کی یکسانیت کسی غلط مواد تک رسائی کو روکنے کے لیے حفاظتی ضرورت ہے۔ ٹیگز/ڈائریکٹری ایک ٹیگسسٹینٹ فائل سسٹم میں چار اہم ڈائریکٹریز ہوتی ہیں: آرکائیو/ریلیشنز/اسٹیٹس/ٹیگز/ٹیگز ٹیگز/ڈائریکٹری کی ذیلی ڈائریکٹریز کے طور پر بنائے جاتے ہیں اور اس نحو کی تعمیل کرنے والے سوالات میں استعمال کیے جا سکتے ہیں: ٹیگز/سبکوری/[+/سبکوری/[+/سبکوری]]/@/جہاں ایک سبکوری ٹیگز کی لامحدود فہرست ہے، جسے ڈائریکٹریز کے طور پر منسلک کیا جاتا ہے: ٹیگ 1/ٹیگ 2/ٹیگ 3/./ٹیگ این/ٹیگز کے ذریعے حد بند راستے کا حصہ/اور @/اصل استفسار ہے۔ +/آپریٹر مختلف ذیلی سوالات کے نتائج کو ایک ہی فہرست میں شامل کرتا ہے۔ @/آپریٹر استفسار ختم کرتا ہے۔ مندرجہ ذیل استفسار کے نتیجے میں واپس کرنے کے لیے: ٹیگز/t1/t2/+/t1/t4/@/کسی آبجیکٹ کو t1/اور t2/یا دونوں t1/اور t4/کے طور پر ٹیگ کیا جانا چاہیے۔ ٹی 2/یا ٹی 4/کے طور پر ٹیگ کیا گیا کوئی بھی آبجیکٹ، لیکن ٹی 1/کے طور پر نہیں، بازیافت نہیں کیا جائے گا۔ استفسار کی نحو جان بوجھ کر پوزیکس فائل سسٹم سیمنٹکس کی خلاف ورزی کرتی ہے جس میں پاتھ ٹوکن کو خود کی نسل بننے کی اجازت دی جاتی ہے، جیسے ٹیگز/t1/t2/+/t1/t4/@جہاں t1/دو بار ظاہر ہوتا ہے۔ نتیجتا ٹیگسسٹینٹ فائل سسٹم کا ریکرسو اسکین ایک غلطی یا لامتناہی لوپ کے ساتھ باہر نکل جائے گا، جیسا کہ یونکس فائنڈ: ~/ٹیگسسٹینٹ _ ماؤنٹ پوائنٹ $فائنڈ ٹیگز/ٹیگز/ٹیگز/ڈاکیومنٹ ٹیگز/ڈاکیومنٹ/+ ٹیگز/ڈاکیومنٹ/+/ڈاکیومنٹ/+ ٹیگز/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ ٹیگز/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ/+/ڈاکیومنٹ/+ کے ذریعے کیا جاتا ہے۔ یہ خرابی کسی بھی ترتیب میں استفسار کے اندر ٹیگز کی فہرست بنانے کے امکان سے متوازن ہے۔ استفسار ٹیگز/t1/t2/@/مکمل طور پر ٹیگز/t2/t1/@/کے مساوی ہیں اور ٹیگز/t1/+/t2/t3/@/ٹیگز/t2/t3/+/t1/@/کے مساوی ہیں۔ @/عنصر کا پوزیکس سیمنٹکس کو بحال کرنے کا قطعی مقصد ہے: پاتھ ٹیگز/t1/@/ڈائریکٹری/روایتی ڈائرکٹری سے مراد ہے اور اس راستے کا ریکرسو اسکین مناسب طریقے سے کام کرے گا۔ استدلال کار اور ریلیشنز/ڈائرکٹری ٹیگسسٹینٹ میں ایک سادہ استدلال کار ہوتا ہے جو متعلقہ ٹیگز کے ساتھ ٹیگ کردہ اشیاء کو شامل کرکے استفسار کے نتائج کو بڑھاتا ہے۔ دو ٹیگز کے درمیان تعلق تین سطح کے پیٹرن کے بعد ریلیشنز/ڈائرکٹری کے اندر قائم کیا جا سکتا ہے: ریلیشنز/ٹیگ 1/ریل/ٹیگ 2/ریل عنصر شامل یا اس کے مساوی ہو سکتا ہے۔ میوزک ٹیگ میں راک ٹیگ کو شامل کرنے کے لیے، UNIX کمانڈ mkdir استعمال کیا جا سکتا ہے: mkdir-p تعلقات/موسیقی/شامل/راک استدلال کرنے والا بار بار تعلقات کو حل کر سکتا ہے، جس سے پیچیدہ ڈھانچے کی تخلیق کی اجازت ملتی ہے: mkdir-p تعلقات/موسیقی/شامل/راک mkdir-p تعلقات/راک/شامل/ہارڈ _ راک mkdir-p تعلقات/راک/شامل/گرینج mkdir-p تعلقات/راک/شامل/ہیوی _ میٹل mkdir-p تعلقات/ہیوی _ میٹل/شامل/سپیڈ _ میٹل تعلقات/ڈائریکٹری کے اندر پیدا ہونے والے تعلقات کا ویب آنٹولوجی کی ایک بنیادی شکل تشکیل دیتا ہے۔ آٹو ٹیگنگ پلگ ان ٹیگسسٹینٹ میں ایک آٹو ٹیگنگ پلگ ان اسٹیک ہوتا ہے جسے فائل یا سم لنک لکھنے پر کال کیا جاتا ہے۔ ٹیگسسٹینٹ 0.6 کے ساتھ جاری کردہ ورکنگ پلگ ان کی فہرست اس حد تک محدود ہے: متن/ایچ ٹی ایم ایل: فائل کو ہر لفظ کے ساتھ <عنوان> اور <مطلوبہ الفاظ> عناصر میں ٹیگ کرتا ہے اور دستاویز، ویب پیج اور ایچ ٹی ایم ایل کے ساتھ بھی تصویر/جے پی ای جی: فائل کو ہر ایک ایگزف ٹیگ کے ساتھ ٹیگ کرتا ہے۔ ہر ٹیگسسٹینٹ فائل سسٹم میں ایک متعلقہ ذخیرہ ہوتا ہے جس میں ایک آرکائیو/ڈائرکٹری ہوتی ہے جہاں اشیاء اصل میں محفوظ ہوتی ہیں اور ایک tags.sql فائل ہولڈنگ ٹیگنگ معلومات بطور ایس کیو لائٹ ڈیٹا بیس ہوتی ہے۔ اگر مائی ایس کیو ایل ڈیٹا بیس انجن کو-- db دلیل کے ساتھ متعین کیا گیا تھا، تو tags.sql فائل خالی ہو جائے گی۔ repository.ini نامی ایک اور فائل ذخیرہ کنفیگریشن کے ساتھ ایک GLib ini اسٹور ہے۔ ٹیگ مزاحم 0.6 ٹیگ استدلال اور ٹیگ ریزولوشن کے لیے ایس کیو ایل کی مائی ایس کیو ایل اور ایس کیو لائٹ بولیوں کے ساتھ مطابقت رکھتا ہے۔ جبکہ اس کی منطق کو دیگر ایس کیو ایل بولیوں میں پیش کرنا ممکن ہے، بنیادی تعمیرات (خاص طور پر انٹرسیکٹ ایس کیو ایل مطلوبہ الفاظ) میں فرق پر غور کیا جانا چاہیے۔ آرکائیو/اور اعدادوشمار/ڈائریکٹریز آرکائیو/ڈائرکٹری کو ٹیگز کا استعمال کیے بغیر اشیاء تک رسائی کا فوری طریقہ فراہم کرنے کے لیے متعارف کرایا گیا ہے۔ اشیاء کو ان کے انوڈ نمبر کے ساتھ درج کیا جاتا ہے۔ اعداد و شمار/ڈائرکٹری میں کچھ صرف پڑھنے والی فائلیں ہوتی ہیں جن میں استعمال کے اعداد و شمار ہوتے ہیں۔ فائل کی ترتیب میں مرتب کے وقت کی معلومات اور موجودہ ذخیرہ کنفیگریشن دونوں ہوتے ہیں۔ اہم تنقید اس بات پر روشنی ڈالی گئی ہے کہ ٹیگز اور ٹیگنگ کی معلومات کو ذخیرہ کرنے کے لیے بیرونی ڈیٹا بیس پر انحصار کرنے سے اگر ڈیٹا بیس خراب ہو جاتا ہے تو میٹا ڈیٹا کا مکمل نقصان ہو سکتا ہے۔ اس بات پر روشنی ڈالی گئی ہے کہ فلیٹ نیم اسپیس کا استعمال ٹیگز/ڈائرکٹری کو زیادہ ہجوم کرتا ہے۔ اسے ٹرپل ٹیگز متعارف کرانے سے کم کیا جا سکتا ہے۔ سیمنٹک فائل سسٹم حوالہ جات بیرونی لنکس آرچ لینکس پیکیج ہیکر نیوز پر بحث توسیعی صفات اور ٹیگ فائل سسٹم ٹیگسسٹینٹ آن پروڈکشن کمپیوٹر فائل سسٹم ڈیٹا مینجمنٹ سیمنٹک فائل سسٹم