سلب مسئولیت: ممکن است Prelinking موجب به هم ریختن کامپیوتر شما شود! این راهنما برای کاربرانی است که ریسک این کار را به عهده گیرند و به هم ریختن سیستم خود را تقبل کنند. مهم تر از همه چیز مطمئن شوید که همان بار اول این راهنما را انجام دهید. اگر در اواسط، این عملیات را رها کنید ممکن است که سیستم شما دچار اشکال شود. Prelinking یک ابزار بسیار قدرتمند است و باید با احتیاط انجام شود. مقاله اصلی توسط Jdong نوشته شده.
برای چه از Prelinking استفاده کنیم؟
(برگرفته از راهنمای Prelinking لینوکس گٍنتو)
بیشتر برنامه های مشهور از shared libraries استفاده می کنند. این shared libraries باید در زمان اجرا درون حافظه قرار بگیرند و symbol reference ها نیز مجددا مقرر شوند. برای اکثر برنامه های کوچک این عملیات dynamic linking به سرعت انجام می شود ولی برنامه هایی که با زبان ++c نوشته می شوند به دلیل داشتن و استفاده کردن از library های فراوان، dynamic linking زمان قابل توجهی را به خود اختصاص می دهد.
در اکثر سیستم ها، library ها به ندرت نیاز به عوض شدن دارند و وقتی که یک برنامه اجرا می شود زمان linking در هر دفعه تقریبا ثابت است. در واقع prelinking از این مزیت استفاده می کند و این روند تکراری را درون فایل اجرایی ذخیره می کند، در اصل prelink می کند.
Prelinking می تواند زمان راه اندازی یا بالا آمدن برنامه ها را سریعتر کند. برای مثال، بارگذاری برنامه ای را در محیط KDE تا %50 افزایش می دهد. اگر library های یک برنامه تغییر یا ارتقاء یافت، تنها خرج این خواهد بود که دوباره Prelinking انجام شود.
دوباره تاکیید می کنم که این کار (Prelinking) ممکن است سیستم شما را از پای در آورد.
چگونه Prelinking را فعال کنیم
universe resource .1 های اوبونتو را فعال کنید. (برای چگونگی این کار به
اینجا مراجعه کنید)
2. این دستور را در یک ترمینال اجرا کنید
sudo apt-get install prelink
3. سپس این دستور را:
sudo gedit /etc/default/prelink
4. جایی را که نوشته شده "PRELINKING=
unknown" را به "PRELINKING=
yes" تغییر دهید.
5. پارامترهای دیگر را می توانید به دلخواه تغییر دهید، البته اگر که می دونید په کار می کنید اگر نه به همون صورت بگذارید.
6. برای شروع اولین prelink (احتمالا طولانی ترین!)، این را در ترمینال اجرا کنید:
sudo /etc/cron.daily/prelink
راه اندازی خودکار prelinking بعد از نسب برنامه های جدید
یکی از مشکلهایی که با آن روبرو هستیم prelink کردن برنامه های جدید است که توسط apt-get یا synaptic نسب می شون. برای رفع این مشکل:
1.
sudo gedit /etc/apt/apt.conf
2. وفتی که فایل در Gedit باز شد، این خط را در آخر آن اضافه کنید و فایل را ذخیره کنید (حتی اگر تنها خط این فایل باشد):
DPkg::Post-Invoke {"echo Running prelink, please wait...;/etc/cron.daily/prelink";}
نکته های عمومی در مورد Prelinking
در آینده، عملیات prelinking سریعتر خواهد شد (زیر 1 دقیقه در اکثر سیستم ها) روزانه، نیمه شب یا هر 14 روز یک بار یا هر از چند مدتی که شما برای این کار در نظر گرفته باشید این عملیات انجام خواهد شد.
اگر شما عملیات گسترده ای مثل apt-get upgrade را اجرا کردید که موجب تغییرات فراوان در systemwide library ها شود (مانند: libc6, glibc, major gnome/X libs و غیره) و با اشکالهای مرموزی برخوردید مرحله 6 را تکرار کنید.
اگر هم تصمیم گرفتید که Prelinking را خنثی کنید، در مرحله 4 yes را به no تبدیل کنید و دوباره مرحله 6 را اجرا کنید.
تهیه کنندگان:
Jdongpoofyhairguyمترجم:
hadiriazi