compile source code
آیا تابه حال برای شما هم پیش آمده قصد نصب و یا آپدیت application خاصی در سیستم عامل لینوکسی خودتون رو داشته باشید، و نتونید package متناسب با توزیع سیستم عامل خودتون رو از طریق RPM و یا YUM دانلود و نصب کنید؟
اگر جواب شما هم مثبت هست ، مثل اتفاقی که اخیرا برای من رخ داد، پس حتما شما هم از اونجایی که نیاز فوری به انجام این اقدام داشتید ، به دنبال راه چاره و جایگزین برای این موضوع هستید.
با من همراه باشید تا با یکی از متداولترین و البته command base ترین روشهای نصب یک application در سیستم عاملهای لینوکسی آشنا بشید.
در چنین مواردی تنها راه باقی مانده جهت نصب application مورد نظر، میتونه نصب اون از طریق source code مربوط به application باشه.
حالا چطور این اتفاق میافته؟
برای اینکه شما بتوانید یک application را از طریق source code نصب کنید، نیاز است مطابق استانداردهای تعریف شده ، به ترتیب زیر اقدام به انجام این مورد کنید:
- دانلود source code مربوط به application مورد نظر با فرمت .tar.gz
- Unpack کردن source code دانلود شده در مسیر پیشنهادی /usr/src
- آماده سازی فایل مربوطه جهت شروع فرایند compile
- آغاز فرایند compile source code
- انتقال فایلهای اجرایی application به مسیرهای مورد نظر و لازم
مثل همیشه قطعا درک و انتقال مفاهیم اینچنینی، بدون طرح مثال کاربردی قطعا سخت و پیچیده خواهد بود، پس با من همراه باشید تا باهم بریم برای compile کردن یکی از application های پرکاربرد درlinux
compile curl
Curl اپلیکیشنی که شاید بارها در طول دوران کاری خودتون به قصد مشاهده صفحات یک website از اون استفاده کرده باشید.
قصد داریم تا با استفاده از روش فوق، اقدام به دانلود source code مربوط به application مورد نظر و سپس compile و راهاندازی اون کنیم.
مطابق آنچه که پیشتر توضیح دادیم، اولین گام در مسیر نصب یک application به روش compile ، دانلود source code مربوط به application مورد نظر میباشد.
جهت دانلود source code مربوط به اپلیکیشن curl مطابق دستور زیر بنده از طریق wget اقدام میکنم:
wget https://curl.se/download/curl-7.86.0.tar.gz
بعد از دانلود موفقیت آمیز source code مورد نظر میبایست با استفاده از دستور زیر اقدام به unpack فایل مورد نظر در مسیر پیشنهادی /usr/src نماییم:
tar -zxvf curl-7.86.0.tar.gz -C /usr/src
بعد از اینکه فرایند unpack مربوط به source code اپلیکیشن مورد نظر انجام شد، فرایند compile رو آغاز میکنیم:
وارد directory پکیجی که unpack شده میشوید ،در مثال ما به صورت زیر میباشد:
cd /usr/src/curl-7.86.0
بعد از وارد شدن به دایرکتوری مورد نظر، اولین دستوری که اجرا خواهید کرد به صورت زیر خواهد بود:
configure./
اقدامی که این دستور انجام میده این میباشد که فایل source code مورد نطر را برای شروع فرایند compile آماده سازی میکند.
بعد از آماده سازی source code جهت شروع فرایند compile مطابق دستور زیر اقدام میکنیم:
make
این مرحله باتوجه به نوع و حجم source code شما معمولا زمان بیشتری به طول میانجامد.
درصورت اتمام مراحل compile بدون خطا، آخرین مرحله از فرایند compile اپلیکیشن شما اجرا دستور زیر، جهت انتقال فایلهای اجرایی application به دایرکتوریهای ملزومه میباشد:
make install
خب البته تموم شد.
حالا میتونید با استفاده از دستور curl –version ورژن آپدیت شده curl خودتون مشاهده کنید.
همه تلاش ما انتقال مفهوم و به اشتراک گذاری دانش هست، البته که ممکنه در طی انجام فرایند مورد نظر با انواع خطاهای رایج و گاها غیر رایج مواجه بشید که همونطور که خودتون هم آگاهید، متاسفانه امکان بررسی همه موارد در قالب یک مقاله غیرممکن میباشد.
پس در نهایت مثل همیشه شما رو به موتور جستجو قدرتمند google میسپارم.