سامانه آموزش آنلاین

مقلات آموزشی

آموزش BSD به زبان ساده

نصب برنامه از طریق ports

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

سیستم ports مجموعه ای از فایلهایی به نام Makefile است که در خود patch ها امنیتی و توضیحات در مورد هر برنامه را در شاخه /usr/ports قرار داده این شاخه به صورت دسته بندی شده هر برنامه را به دسته های مختلف جدا کرده است برای مثال شما برای نصب برنامه هایی که به زبان برنامه نویسی جاوا مروبوط میشود باید وارد شاخه java شوید، یا برای نصب برنامه هایی که به لیست های پستی یا همان mail مربوط می شود به شاخه mail وارد شوید، برای برنامه های مربوط به برنامه های مدیریتی شبکه به شاخه net-mgmt مراجعه کنید، در زیر لیست کامل این شاخه ها را در شکل زیر مشاهده می کنید:

اگر شما این شاخه ها را در زیر شاخه /usr/ports را ندارید پس ports برروی سیستم شما نصب نیست و  به بخش بعدی یعنی نصب ports مراجعه کنید.

 

نصب ports:

شما به سه روش می توانید سیستم ports را برروی سیستم خود پیاده سازی کنید، در ادامه این سه روش را توضیح می دهیم:

 

روش اول ( در حین نصب)

در زمان نصب شما این امکان را دارید که ports را نصب کنید، این گزینه پیش فرض است، در شکل زیر نمایش داده شده است :

اگر شما تیک بخش ports را برداشته باشید عمل نصب انجام نمی شود.

روش دوم (دریافت جداگانه از طریق ftp)

شما می توانید این سیستم را به صورت offline برروی سیستم خود نصب کنید، برای اینکار شما باید فایل ports.tar.gz از آدرس زیر دریافت کنید:

ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz

بعد این فایل را در شاخه /usr/ports کپی کنید و با استفاده از فرمان tar فایل ports.tar.gz را از حالت فشرده خارج کنید:

#tar –zxvf ports.tar.gz

مراحل Extract شدن فایل برای شما برروی صفحه نمایش داده می شود.

 

روش نصب با فرمان (portsnap):

روشی وجود دارد که شما بتوانید با استفاده از برنامه portsnap موجود در FreeBSD عمل نصب را به صورت خودکار انجام دهید، برای انجام این کار کافیست که از این فرمان به صورت زیر استفاده کنید:

در این فرمان همانطوری که مشاهده می کنید به صورت خودکار از ساین FreeBSD فایلی را به حجم 70 مگ دانلود کرده است، در مرحله بعد شما با استفاده از فرمان extract فایل را از حالت فشرده خارج کنید، برای اینکار فرمان زیر را اجرا کنید:

# portsnap fetch
# portsnap extract

 

اگر شما قصد داشته باشید تا ساختار ports خود را بروز کنید ابتدا فرمان portsnap fetch را اجرا کنید تا برنامه portsnap به صورت زیر این عمل را برای شما انجام دهد:

بعد از اجرای این فرمان شما باید فرمان extrac را اجرا کنید، به صورت زیر :

در مرحله یعد شما باید فرمان update را به صورت زیر اجرا کنید تا ساختار ports شما بروز شود. البته به دلیل اینکه من برروی این سیستم از ابتدا ports  را نصب کرده ام نیازی به بروز رسانی ندارد و بعد از اجرای فرمان پیغام زیر را مشاهده می کنید:

جستجوی برنامه با استفاده از سیستم ports:

شما می توانید با استفاده از سیستم ports به جستجوی برنامه ها بپردازید، برای اینکار ابتدا باید وارد شاخه ports شوید با استفاده از فرمان زیر:

#cd /usr/ports

حال با استفاده از فرمان make و بخش search و بعد نام برنامه مورد نظر به جستجو بپردازید ، در شکل زیر ما به دنبال محل برنامه lsof هستیم:

شما با استفاده فرمان جستجوی whereis  هم می توانید جستجوی بالا را انجام دهید، با استفاده از فرمان به صورت زیر :

#whereis lsof

Lsof: /usr/ports/sysutils/lsof

در یک سری از موارد هست که شما یک بخشی از نام برنامه ار می دانید ولی مسیر کامل را به یاد ندارید، برای اینکه بتوانید به صورت مستقیم با استفاده از فرمان Cd وارد شاخه مورد نظر شوید باید از ستاره استفاده کنید به صورت زیر:

#cd /usr/ports/*/lsof

فایلهای موجود در شاخه هر برنامه:

مجموعه فایلهای موجود در هر شاخه به نام آن برنامه  موجب نصب شدن ان برنامه از طریق سیستم ports می شود، برای مثال در شکل زیر فایلهای موجو.د برای نصب برنامه lsof را مشاهده می کنید:

فایل اصلی برای نصب این برنامه make نام دارد این فایل تمام مراحل نصب را به صورت خودکار انجام می دهد محتوای این فایل به برنامه شما بستگی دارد ولی دارای ساختار مشخص است، در شکل زیر خطوطی از این فایل را مشاهده می کنید:

فایل بعدی distinfo است که اطلاعاتی را به شما نمایش می دهد در مورد فایلهایی را که توسط این برنامه باید دانلود شود، سایز و مقدار sha شده این فایل را نیز به شما نمایش می دهد و سیستم ports از این روش برای تایید کردن صحت دانلود شما استفاده می کند:

فایل دیگری وجود دارد به نام pkg-descr که به شما اطلاعاتی در مورد برنامه می دهد، این اطلاعات را شما در فایل زیر مشاهده م کنید:

نصب کردن یک برنامه با ports:

برای نصب یک برنامه در سیستم ports ابتدا وارد شاخه مورد نظر شوید، و در ابتدا فرمان make  را وارد کرده تا بسته های مورد نیاز برای شما دریافت و کامپایل شود و در مرحله بعد فرمان make install  را وارد کنید تا فایلهای کامپایل شده در مرحله قبل در محل خود برای اجرا قرار گیرند برای مثال ما برنامه lsof را نصب می کنیم به این نکته توجه کنید که این برنامه به سورس کد FreeBSD نیاز دارد پس باید یا در زمان نصب این سورس کد را نصب کرده باشید یا در بعد از نصب با استفاده از دو فرمان زیر:

# fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE/src.txz

# tar -C / -xzvf src.txz

بعد از نصب سورس FreeBSD حال شما می توانید با استفاده از فرمان make مراحل نصب را اغاز کنی به صورت زیر:

همانطوری که مشاهده می کنید به صورت خودکار فایل های مورد نیاز از سرورهای مربوطه دانلود می شود و چک می شود و برای کامپایل کردن آماده می شود، این برنامه نیاز به دسترسی به اینترنت دارد. البته امکانی هم وجود دارد که شما با قرار دادن فایل های درشاخه ای خاص عمل نصب را به صورت بدون اینترنت انجام دهید، اگر اجرای این فرمان با شکست مواجه نشود شما خروجی به صوت زیر را مشاهده می کنید:

حال در مرحله بعدی فرمان make install  را اجرا کنید:

همانطور که مشاهده می کنید این برنامه نصب شده است و اماده استفاده است، بعد از نصب شاخه در این زیر شاخه به نام work ایجاد می شود که شامل فایلهایی است که در زمان کامپایل کردن برنامه ایجاد شده است.شما با استفاده از فرمان زیر می توانید این شاخه را حذف کنید و در استفاده از فضای سیستم خود صرفه جویی کنید:

همانطوری که مشاهده می کنید در ابتدا شاخه work موجود بود و بعد از اجرا فرمان make clean این شاخه حذف شد.

صفحه های پیکربندی:

یکی ایرادات استفاده از سیستم باینری این است که شما نمی توانید قابلیتهای خاص خود را در برنامه اعمال کنید ، در سیستم  ports این قابلیتها را شما می توانید در زمان کامپال بسته به نوع و نیاز خود انها را تنظیم کنید، این بخش در قالب صفحاتی به صورت دیالوگ به صورت زیر برای شما نمایش داده می شود:

بسته به درخواست خود می توانید گزینه های مورد نظر را فعال یا غیرفعال کنید، در این شکل ما برنام وب سرور apache را نصب کردیم ، در بخش فرمان make شما وارد این صفحه به صورت خودکار می شوید تا تنظیمات خود را اعمال کنید.

 

فایلهایی در شاخه  distfiles چیست؟

فایلهایی که در زمان نصب برنامه ها از طریق اینترنت دانلود می شود در شاخه ای به نام distfiles در زیر شاخه /usr/ports قرار می گیرد، شما می توانید از این فایلها در سیستم های دیگر به صورت افلاین استفاده کنید، در شکل زیر فایلهای موجود در این زیر شاخه را مشاهده می کنید:

روش ایجاد بسته های باینری

بسته های باینری از داخل سیستم ports ایجاد می شوند، شما هم می توانید این بسته های باینری را برای خود با تنظیمات دلخواه خود ایجاد کنید، برای انجام این کار کافیست که در شاخه ports که نصب کرده اید فرمان make packages را اجرا کنید تا بسته باینری در شاخه work در زیر شاخه pkg برای شما ایجاد شود، این فرمان در شکل زیر نمایش داده شده است:

پاک کردن برنامه نصب شده

برنامه ای را که شما با استفاده از سیستم ports ایجاد کرده اید می توانید هم از طریق فرمان pkg delete پاک کنید و از طریق خود سیستم ports و شاخه همان برنامه، برای اینکار کافیست که وارد شاخه برنامه نصب شده شوید و فرمان make را با deinstall اجرا کنید. برای مثال برنامه lsof را که در بخش قبلی نصب کرده ایم با این روش در شکل زیر حذف می کنیم:


 

نظرات (0)

هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان ثبت نام یا ورود به حساب کاربری خود.
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
عبارت تصویر زیر را بازنویسی کنید. واضح نیست؟
آموزش BSD با محمدعابدینی

اولین مرکز آموزش BSD  و نخستین مرکز ارائه نرم افزارهای مبتنی بر BSD در ایران

کلیه حقوق این سایت متعلق به محمد عابدینی است که در زمینه آموزش BSD فعالیت می کند.
All rights are reserved for Mohammad Abedini 2019

Search

09356757020
محمد عابدینی
کرج 
مهرشهر
Your SEO optimized title