معمولا اکثر کاربران برای نصب نرم افزارهای مختلف در لینوکس یا یونیکس خودشون از پکیج های اماده استفاده میکنن که به اونها pre-compiled package می گوییم. در حقیقت این فایل ها قبلن کامپایل شدن و به یک فایل فرمت اماده نصب rpm یا deb تبدیل شد. (فایل فرمت های اماده دیگری هم داریم مثل tbz که برای FreeBSD هست یا tgz برای OpenBSD). این فایل ها باینری گفته میشوند.
اما اگر لازم داشتید که نرم افزاری را دستی کامپایل و نصب کنید باید مراحل زیر رو انجام بدید:
اول مطمئن شوید که کامپایلر کدهای سی و لایبرری یا همون کتابخونه اون نصب باشه؛ که کم پیش میاد نصب نباشه.
بعد فایل سورس اون نرم افزار رو که معمولا به فرم زیپ شده tar, tgz, bz2 و غیره میاد رو باز کنید. در محیط گرافیکی راست کلیک کنید و Extract رو بزنید. در محیط ترمینال از فرمان های زیر استفاده کنید:
tar -xf xxx.tar
tar -xzf xxx.tgz
tar -xzf xxx.tar.gz
bzip2 -d xxx.bz2
از اینجا به بعد رو در ترمینال یا همان کونسول انجام میدیم.. با فرمان cd وارد دایرکتوری زیپ باز شده اون نرم افزار بشوید
حالا قبل از شروع مراحل کامپایل و نصب، یک عمل مفید رو می تونید انجام بدید و اون چک کردن پارامترها و اپشن های نصب اون پکیج هست. اینجوری بجای اینکه حالت پیش فرض رو نصب کنید، این فرصت رو دارید که همه پارامترها رو ببیند و اونهایی رو که لازم دارید ولی در حالت نرمال فعال نیستن رو دستی هنگام نصب وارد کنید. پس این فرمان رو ابتدا اجرا کنید:
configure –help/.
و لیستی از تمامی اپشن ها رو می بینید. حالا اصل کار رو شروع می کنیم؛ ابتدا
configure + optional parameter/.
مثلا
configure –with-xml2=/usr/lib/xml2/.
اگر این مرحله بدون اشتباه و یا مشکلی تمام شد، فرمان بعدی رو اجرا کنید. اگر به پیام error برخوردید فایل config.log رو در همانجا باز کنید، مشکل رو حل کنید و دوباره فرمان قبلی رو اجرا کنید. بعد از اون فرمان make رو در لینوکس و gmake رو در FreeBSD اجرا کنید.
بعد از پایان این مرحله که در حقیقت نرم افزار از سورس به باینری یا زبان کد ماشین تبدیل میشه، فرمان اخر رو اجرا کنید؛ البته برای این فرمان باید از کاربر مدیر یا همان root استفاده کنید.
make install => GNU Linux
gmake install => FreeBSD UNIX
به این صورت شما نرم افزار مورد نظر رو دستی و از سورس نصب کردید.
اگر مشکلی داشتید به من ایمیل بزنید یا کامنت بذارید تا من تا جایی که دانشم برسه کمک کنم.
مرسی از وقتی که گذاشتید و امیدوارم به دردتون بخوره.
امید