دوره Lpic 1 - پارت ششم

موضوع این قسمت : Managing shared libraries

در اول باید با مفهوم library اشنا شویم library یک کتابخوانه نرم افزاری هست که به ما در نوشتن برنامه ها و ... کمک می کند .

برای مثال ما در نوشتن برنامه خاصی نیاز به توابع مختلفی داریم که وقتی liberty مورد نظرمون رو صدا میزنیم می تونیم از اون توابع مورد نظرمون استفاده کنیم .

library ها دو دسته هستند :

  1. static
  2. Dynamic

static : نوعی لایبری هست که درون یک برنامه قرار میگیرد برای مثال ما یک برنامه می نویسیم درون برنامه ، یک دایرکتوری اجاد می کنیم و لایبری ها را درون اون قرار میدیم و درون کد هامون اون لایبری هارو لینک می کنیم این نوع لایبری درون سیستم عامل ویندوز بسیار مرسوم است .

Dynamic : نوعی لایبری است که درون یک برنامه قرار نمی گیرد و هر موقع برنامه نویس به اون نیاز داشت اون صدا میزنه

اما لیوکس Dynamic linking است یعنی تمام لایبری های نرم افزاری درون یک فایل قرار می گیرند اگر نرم افزاری به لایبری خاصی نیاز داشت لایبری مورد نظرش رو ازون فایل صدا میزد و اگر اون لایبری نبود اون لایبری رو نصب می کند و با این روش هم سرعت سیستم بطور چشم گیری بالا می ره هم امنیت سیستم حفظ میشه .

لایبری های ما در لینوکس در سه مسیر هستند لایبری های اصلی ما در مسیر :

/lib

و یک سری لایبری ۶۴بیتی در داریکتوری :

/lib64

وجود دارد و یکسیری لایبری خاص هم در مسیر :

/usr/lib

وجود دارد و اگر ما بخوایم لایبری های یک نرم افزار رو رسد کنیم و ببنیم در این نرم افزار از چه لایبری هایی استفاده شده اول باید مسیر اون نرم افزار رو پیدا کنیم با کامند :

whereis NameScript

و به ما یه مسیر به این شکل نشون میده :

/sbin/NameScript 

و ما می تونیم با دادن مسیر به اسکریپت ldd ببنیم چه لایبری های درون اون اسکریپت مورد نظر وجود دارد به این نحو :

ldd /sbin/NameScript

فایل کانفیگ این اسکریپت در مسیر :

/etc/ld.so.conf

است و با کامند

export 

می توان متغیر های محیطی رو مشاهده کرد و می خوایم با یک متغیر محیطی بنام (LD_LIBRARY_PATH$) اشنا شویم که با این متغیر محیطی می توانیم لایبری به سیستم معرفی کنیم از کامند :

export LD_LIBRARY_PATH=address_library

و ارزون لایبری می تونیم استفاده کنیم.

امیدوارم این قسمت براتون مفید بوده باشه :)