لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۹/۱۱/۱۳
    java

۲ مطلب با کلمه‌ی کلیدی «dynamic library» ثبت شده است

۰۱
اسفند

tar:

archive: tar -cvf File.tar /directory

Extract: tar xf FileName.tar


Tar.gz:

Archive: tar czvf name.tar.gz files

Extract: tar xzvf name.tar.gz


tar.bz2:

Archive: tar -cvjSf folder.tar.bz2 folder

Extract: tar xjf File.tar.bz2 


bz2:

Archive: bzip2 -z filename

[or] Archive: bzip2  filename

Extract: bunzip2 FileName.bunzip2

[or] Extract: bzip2 -d filename.bz2


rar:

archive: 

Extract: unrar e FileName.rar

 

gz:

Archive: gzip file

Extract: gzip -d file.gz

Extract: gunzip FileName.gz


zip:

archive: zip file.zip file

archive: zip -r Folder.zip folder

Extract: unzip File.zip


7zip:

Archive: 7z a File.7z File

Extract: 7z e File.7z

  • behrooz mohamadi nsasab
۲۵
شهریور

زمانی که برنامه ای به اجرا در آورده میشود (مثلا برنامه ی ls), این برنامه برای اجرا به یک سری کتابخانه نیازمند است و باید این کتابخانه ها در داخل ram قرار بگیرد.

ابزارهایی هستند که این کار را انجام می دهند. به عنوان مثال در هنگام اجرای دستور ls ابتدا چک می‌شود که دستور به چه کتابخانه هایی احتیاج دارد و از بین این کتابخانه ها کدامیک در حال حاضر در داخل ram نیست، پس آن را به داخل ram برده و در نتیجه دستور ls به درستی کار خواهد کرد.

این ابزار linker نام دارد.

در یک سیستم عامل تعداد زیادی کتابخانه وجود دارد و linker نمی تواند هر بار برای اجرای هر برنامه, تمامی مسیر های کتابخانه ها را به صورت آنلاین بگردد لذا از دیتابیسی استفاده می کند که در آن , آدرس دقیق هر کتابخانه نوشته شده است . پس زمانی که linker به کتابخانه ای احتیاج داشته باشد ابتدا در دیتابیس خود به دنبال نام آن گشته سپس مسیر آن را از داخل db می خواند و در آخر آن را در داخل ram قرار می‌دهد.
این دیتابیس را می توان در دو فایل زیر دید که اولی یک فایل متنی و دومی یک فایل باینری است

/etc/ld.so.conf
/dtc/ld.so.cache

بصورت پیش فرض در داخل این دیتابیس،بسیاری مسیر و کتابخانه وجود دارد و حتی ممکن است کتابخانه‌ای جدید بصورت دستی به این دیتابیس اضافه بشود. برای این منظور ابتدا مسیر کتابخانه های خود را در فایل متنی

ld.so.conf

اضافه می کنیم سپس با استفاده از دستوری دیگر به نام

ldconfig

ایندکس کتابخانه‌های جدید (موجود در مسیری که اضافه کردیم) را به دیتابیس اضافه می کنیم

/etc/ld.so.cache
ldconfig

توجه داشته باشید که برای اضافه کردن کتابخانه به فایل باینری ls.so.cache نیاز به یوزر root است


Static library
تمام توابع مورد نیاز همواره باید همراه برنامه باشد، حجم برنامه خیلی بزرگ خواهد شد


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

/lib
/usr/lib
/lib64

  • behrooz mohamadi nsasab