ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

پیوندهای نمادین

همانطور که به اطراف نگاه می کنیم، احتمالاً فهرست فهرستی با ورودی مانند زیر مشاهده می کنیم:



lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so

lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so


توجه کنید که چگونه حرف اول لیست "l" است و به نظر می رسد ورودی دارای دو نام فایل است؟ این نوع خاصی از فایل به نام a است لینک نمادین (همچنین به عنوان a شناخته شده است پیوند نرم or سیم- پیوند). در اکثر سیستم‌های شبه یونیکس، امکان ارجاع فایل با چندین نام وجود دارد. اگرچه ارزش این ممکن است واضح نباشد، اما واقعاً یک ویژگی مفید است.

این سناریو را تصور کنید: یک برنامه نیاز به استفاده از یک منبع مشترک از نوعی موجود در فایلی به نام "foo" دارد، اما "foo" دارای تغییرات مکرر نسخه است. خوب است که شماره نسخه را در نام فایل درج کنید تا مدیر یا سایر افراد علاقه مند بتوانند ببینند چه نسخه ای از "foo" نصب شده است. این یک مشکل ایجاد می کند. اگر نام منبع اشتراک‌گذاری شده را تغییر دهیم، باید هر برنامه‌ای را که ممکن است از آن استفاده کند ردیابی کنیم و هر بار که نسخه جدیدی از منبع نصب می‌شود، آن را برای جستجوی نام منبع جدیدی تغییر دهیم. به نظر اصلا سرگرم کننده نیست

اینجا جایی است که پیوندهای نمادین روز را نجات می دهند. فرض کنید نسخه 2.6 "foo" را نصب می کنیم که نام فایل "foo-2.6" را دارد و سپس یک پیوند نمادین به نام "foo" ایجاد می کنیم که به "foo-2.6" اشاره می کند. این بدان معناست که وقتی یک برنامه فایل "foo" را باز می کند، در واقع فایل "foo-2.6" را باز می کند. الان همه خوشحالن برنامه هایی که به "foo" متکی هستند می توانند آن را پیدا کنند و ما همچنان می توانیم ببینیم چه نسخه واقعی نصب شده است. هنگامی که زمان ارتقاء به "foo-2.7" فرا می رسد، فقط فایل را به سیستم خود اضافه می کنیم، پیوند نمادین "foo" را حذف می کنیم و یک فایل جدید ایجاد می کنیم که به نسخه جدید اشاره می کند. این نه تنها مشکل ارتقاء نسخه را حل می کند، بلکه به ما امکان می دهد هر دو نسخه را روی دستگاه خود نگه داریم. تصور کنید که "foo-2.7" یک باگ دارد (لعنت به این توسعه دهندگان!) و ما باید به نسخه قبلی برگردیم.


مجدداً فقط پیوند نمادین را که به نسخه جدید اشاره می کند حذف می کنیم و یک پیوند نمادین جدید با اشاره به نسخه قدیمی ایجاد می کنیم.

فهرست فهرست بالا (از / lib دایرکتوری یک سیستم فدورا) یک پیوند نمادین به نام "libc.so.6" را نشان می دهد که به یک فایل کتابخانه مشترک به نام "libc-2.6.so" اشاره می کند. این بدان معنی است که برنامه هایی که به دنبال "libc.so.6" هستند، در واقع فایل "libc-2.6.so" را دریافت می کنند. در فصل بعدی نحوه ایجاد پیوندهای نمادین را یاد خواهیم گرفت.


برترین سیستم عامل Cloud Computing در OnWorks: