فصل دوم PKGSRC(دریافت برنامه و بروز رسانی آن)

NetBSD pf

قبل از اینکه این برنامه را دانلود کرده و از حالت فشرده خارج کنید باید به این موضوع توجه کنید که در چه قسمتی از دیسک خود قصد دارید این اعمال را انجام دهید. زمانی که شما با دسترسی کاربر ریشه یا همان root از این طریق بسته های را نصب می کنید این بسته ها در شاخه /usr/pkgsrc نصب می شود.

به موضوع باید توجه کنید که در این مسیر فضای کافی در اختیار داشته باشید و اگر هم قصد دارید مسیر بسته های نصبی را تغییر دهید، مسیر مورد نظر شما فضای کافی را داشته باشد و با برنامه های دیگر این فضا مداخله نداشته باشد.

 

 


 

۱-۲ گرفتن برنامه pkgsrc برای اولین بار

قبل از اینکه اقدام به دانلود کردن خوب برنامه pkgsrc بکنید، باید تصمیم بگیرید که کدام شاخه را قصذ ذاریذ ذانلود کنید این برنامه در دو شاخه current و stable  ارایه می شود. حالت stable  زیرشاخه ای است از حالت current که در یک زمان خاصی تهیه شده و از نظر بخش امنیتی فایل های مربوط به بروز رسانی برنامه ها در آن قرار گرفته است. این ورژن هر سه ماه یکبار ایجاد می شود و نام ان با سال ایجاد شده به همراه عدد فصلی که در آن این فایل ایجاد شده مشخص می شود مثل ۲۰۱۴Q3 که Q مخفف quarter یا همان فصل مورد نظر است.

بعد از اینکه در مورد نوع شاخه دانلود مورد نظر و فضای مورد نیاز برروی دیسک خود تصمیم گرفتید باید انتخاب کنید که از چه طریقی قصد دارید فایل برنامه را دانلود کنید از طریق دریافت فایل یا از طریق برنامه CVS، هر دوی این روش ها در ادامه همین فصل مورد بحث و آموزش قرار می گیرد.

به این نکته هم توجه کنید که فایل هایی که در برنامه CVS وجود دارند در لحظه در حال تغییر هستن و بعد از نصب و استفاده از این برنامه شما می توانید از CVSبرای تغییر دادن فایل های خود استفاده کنید.


 

۱-۱-۲ دریافت فایل TAR

اصلی ترین شاخه ها برای دریافت کردن فایل برنامه pkgsrc در دو آدرس معروف است http://ftp.NetBSD.org/pub/pkgsrc  و ftp://ftp.NetBSD.org/pub/pkgsr تفاوت این دو ادرس فقط نوع پروتکل دریافتی است و ادرس ها از نظر شاخه بندی یکسان است. در این مصیر زیر شاخه های متعددی وجود دارد که بخش پایانی این کتاب Appendix C مورد بررسی قرار می گیرد.

فایل tar  که مربوط می شود به ورژن current  شاخه current در شاخه  به نام pkgsrc.tar.gz قرار دارد، برای دریافت مستقیم از لینک http://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz استفاده کنید. برای اینکه در حجم دانلود خود صرفه جویی کنید می توانید از حالت فشرده شده bz2 استفاده کنید و از برنامه tar با استفاده از سویچ xz- این فایل را از حالت فشرده خارج کنید مسیر فایل فشرده شده به صورت زیر است:

http://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2

روش دانلود از لینک بالا به صورت پروتکل http است،شما می توانید همین کار را هم با پروتکل ftp انجام دهید.

برای اینکه انشعاب stable به نام ۲۰۱۴Q3  را دانلود کنید وارد شاخه pkgsrc-2014Q3  شده و فایل pkgsrc.tar.gz  را که به همین نام در همه شاخه های مورد نظر وجود دارد را دانلود کنید مسیر کامل این فایل را در زیر مشاهده می کنید:

ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2014Q3/pkgsrc.tar.gz

برای دانلود کردن همین فایل از طریق FTP فرمان زیر را اجرا کنید:

 ftp ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-20xxQy/pkgsrc.tar.gz$

این فرمان با استفاه از پروتکل FTP دانلود را انجام می دهد اگر شما از طریق خط فرمان به سیستم خود متصل شده اید و قصد استفاده از پروتکل HTTP را برای دانلود دارید می توانید از برنامه های جانتبی مثل wget یا curl استفاده کنید.

برای از حالت فشرده خارج کردن این فایل از فرمان زیر استفاده کنید:

 tar -xzf pkgsrc.tar.gz -C /usr$

سویچ C- مسیری را که شما قصد استخراج فایل ها را داری مشخص می کند بعد از اجرای این فرمان در شاخه usr/  شاخه ای به نام pkgsrc ایجاد شده و فایل هایی که شما را برای نصب برنامه ها کمک می کند در این شاخه به صورت طبقه بندی ذخیره شده است.


-۱-۲ دریافت از طریق CVS

برای دریافت کردن شاخه stable خاصی از طریق برنامه CVS فرمان زیر را اجرا کنید:

 cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-20xxQy -P pkgsrc$

نام pkgsrc-20xxQy  یک مثالی از است شاخه stable مورد نظر که می توانید این نام ار با pkgsrc-2014Q جایگزین کنید. این فرمان در ادامه شاخه ای به نام pkgsrc در زیر شاخه usr ایجاد کرده و فایل های مورد نظر را در مسیر ایجاد شده کپی می کند.

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

 cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc$

برای افزایش سرعت دانلود خود می توانید از لیست های سرور های همسان شده با پروژه اصلی استفاده کنید  برای این منظور  به سایت http://www.NetBSD.org/mirrors/#anoncvs مراجعه کنید تا لیست کامل از این سرور ها که به اصطلاح mirror هستند را مشاهده کنید و سروری که به شما نزدیک تر است را انتخاب کنید.

 

اگر شما از خط فرمان rsh استفاده می کنید با پیغام خظا مشاهده می کنید باید فرمان زیر را اجرا کنید:

 cd /usr && env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc$

برای خط فرمان معروف BASH در فایل profile. موجود در شاخه کاربری خود با تنطیم به صورت کلی تر در فایل /etc/profile خطوط زیر را اضافه کنید:

 set CVS remote shell command#

CVS_RSH=ssh

export CVS_RSH

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

recommended CVS configuration file from the pkgsrc guide#

cvs -q -z2

checkout -P

update -dP

diff -upN

rdiff -u

release -d


۲-۲ بروز رسانی برنامه pkgsrc

راه پیشنهاد شده برای بروزرسانی این برنامه استفاده کردن از cvs است که هم در حجم دانلود شما و هم در فضای دیسک شما صرفه جویی می کند در مقابل زمانی که شما قصد دارید کل فایل tar مربوطه را دانلود کنید.

۱-۲-۲ استفاده از فایل tar برای بروزرسانی


 

هشدار

زمانی که شما قصد دارید از این روش استفاده کنید برای بروز رسانی باید همه فایل های قبلی  این برنامه را پاک کنید در غیر این صورت اگر این عمل را انجام ندهید وجود فایل های قدیمی برروی دیسک سخت شما باعث ایجاد تناقض با سیستم جدیدی می شود بعد از پاک کردن به صورت کامل هم هر تغییری که برای خود در این برنامه ایجاد کرده اید به صورت خودکار بعد از برروز رسانی پاک می شود اگر این تنظیمات برای شما مهم است از این روش استفاده نکنید.


 

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

 

۲-۲-۲ بروز رسانی از طریق CVS

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

 cd /usr/pkgsrc && cvs update -dP$

اگر در rsh برای شما پیغام خطایی نمایش داده شد نیاز دارید که متغییر CVS_RSH  را به صورت زیر نتظیم کنید:

 cd /usr/pkgsrc && env CVS_RSH=ssh cvs up -dP$

۱-۲-۲-۲ تغییر دادن بین ساختار های مختلف pkgsrc

زمانی که شما عمل بروزرسانی را با استفاده از cvs انجام می دهید این برنامه ردیابی می کند انشعاب یا شاخه ای را که شما انتخاب کردید و در همان branch بروزرسانی را انجام می دهد اگر قصد دارید که stableرا به current تبدیل کنید سویچ A- را بعد از فرمان Update اضافه کنیدو برای معکوس عمل کردن و تبدیل current به شاخه stabel مورد نظر  بخش rpkgsrc-2014Q3-  را در مقابل فرمان اضافه کنید.

 

۲-۲-۲-۲ چه اتفاقی برای تغییرات می افتد بعد از بروز رسانی؟

زمانی که شما با استفاده از برنامه cvs اقدام به بروزرسانی می کنید این برنامه فقط فایل های ثبت شده در مخزن خود را بروز رسانی می کند، این عمل بدین معناست که فایل ها و بسته هایی را که شما به تناسب نیاز خود تغییر دادید بدون تغییر باقی می مانند. برای درک بهتر روش بروزرسانی با برنامه cvs به مقالات این برنامه مراجعه کنید.