نحوه استفاده از مدیر بسته بندی Pkg در FreeBSD 12

معرفی

FreeBSD یک سیستم عامل شبیه به منبع آزاد است که برای تغذیه سرورهای مدرن ، دسک تاپ و سیستم عامل های جاسازی شده مورد استفاده قرار می گیرد. غول هایی مانند Netflix ، Yahoo! WhatsApp ، BBC و Sony از FreeBSD به نوعی استفاده می کنند. سیستم FreeBSD به اندازه لینوکس مشهور نیست ، زیرا بیشتر لینوکس سالهاست که روی Desktop کار می کند و پروژه FreeBSD تمایل دارد که بیشتر مبتنی بر سرور باشد.

در این راهنما با مدیریت بسته بندی در FreeBSD 12 آشنا می شوید.

پورت ها در مقابل بسته ها

در FreeBSD ما دو روش مختلف برای نصب نرم افزار اضافی داریم: از طریق Ports Collection یا Ports و از طریق بسته های از پیش تنظیم شده برای نصب و مدیریت نرم افزار.

Ports سیستمی برای ساختن نرم افزارهای اضافی در FreeBSD است. با استفاده از درگاه ها ، شما از کد منبع خام تهیه شده توسط فروشنده نرم افزار شروع می کنید و نرم افزار را دقیقاً به همان روشی که لازم دارید ساختید ، و ویژگی های مورد نیاز خود را فعال و غیرفعال می کنید.

بسته ها نرم افزاری از پیش تدوین شده و نتیجه ساختمان بنادر هستند ، با استفاده از گزینه هایی که نگهدار بندر فکر می کند برای بیشترین تنوع افراد مفید است و بسته بندی آنها را در یک بسته قرار می دهد تا نصب آنها به راحتی انجام شود. بسته ها به شما امکان می دهند به سرعت نرم افزار افزودنی را نصب ، حذف و به روز کنید. سیستم بسته بندی FreeBSD بسته یا یا بسته نامیده می شود pkg. اطلاعات بسته در یک پایگاه داده SQLite ذخیره می شود که می توانید در مورد داده های بسته پرس و جو کنید.

نکته مهم دیگر در مورد مدیریت بسته FreeBSD ، موقعیت باینری بسته است. بسته ها دودویی ها را در زیر نصب می کنند /usr/local، و بیشتر پرونده های پیکربندی به /usr/local/etcجای آن پایان می یابند /etc. اگر اهل دنیای لینوکس باشید ممکن است این مسئله بسیار غیر معمول باشد.

مدیر بسته FreeBSD ، pkg

جایگزینی نسل بعدی برای ابزارهای مدیریت بسته های سنتی FreeBSD است pkg. ارائه بسیاری از ویژگیهایی که باعث سریعتر و آسان تر شدن معامله با بسته های باینری می شوند ، pkgساده ترین راه برای نصب نرم افزاری است که در سیستم پایه FreeBSD وجود ندارد. این یک برنامه واحد با زیرمجموعه‌های زیادی است که تقریباً در مورد هر عملیاتی روی بسته‌هایی مانند نصب ، حذف و تحقیق بسته‌ها استفاده خواهید کرد. کلیه عملیات بسته بندی و تغییرات باید به صورت rootیا از طریق اجرا شود sudo.

در اینجا نحوه نصب curlبسته در FreeBSD آورده شده است:

pkg install curl

-yبرای جلوگیری از Proceed with this action? [y/N]:سوالی که هنگام نصب نرم افزار می توانید از این دستور استفاده کنید یا می توانید پیکربندی کنید pkgکه همیشه -yدر یک پرونده پیکربندی فرض کنید.

برای حذف بسته ، از این موارد استفاده می کنید delete:

pkg delete curl

همانطور که مشاهده می کنید ، بسیار ساده و شهودی است.

استفاده از pkg helpیک مرجع سریع در subcommands در دسترس، یا pkg help <subcommand>برای نمایش در صفحه کتابچه راهنمای کاربر برای subcommand خاص:

pkg help
pkg help install
pkg help delete

نصب pkg

نسخه سهام FreeBSD با pkgنصب مدیر بسته نصب نمی شود. اولین باری که می خواهید برخی از بسته ها را نصب کنید ، pkgشما را به نصب ابزار مدیریت بسته درخواست می کند. به عنوان مثال ، بیایید بگوییم اولین بسته ای که می خواهید در FreeBSD تازه خود نصب کنید wget، است و فوریت زیر را در پایانه خود مشاهده خواهید کرد:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

شما ضربه خواهید دید Yو ENTERنصب ابزار مدیریت بسته بندی آغاز خواهد شد. بعد از راه اندازی ، بسته نرم افزاری اولیه ای که می خواستید نصب کنید ( wget) نصب می شود.

شما همچنین می توانید با راه اندازی ، سیستم بسته بندی را به تنهایی و بدون اضافه کردن بسته های دیگر نصب کنید pkg bootstrap. علاوه بر این ، pkgمی داند که چگونه خود و سایر بسته ها را نصب و به روز کند.

توجه: نمونه های Vultr pkgبصورت پیش فرض نصب شده اند ، بنابراین نیازی به نصب آن نیست.

پیکربندی pkg

این pkgبرنامه بسیار انعطاف پذیر طراحی شده است ، که در هر فرعی گزینه های بسیاری وجود دارد. شما می توانید برای اکثر برنامه ها با پرونده پیکربندی گسترده سیستم pkg، که در آن واقع شده است ، رفتارهای سفارشی اما مداوم برقرار کنید /usr/local/etc/pkg.conf.

پرونده حاوی پیش فرض های اعلام شده برای pkg. فقط با خواندن آن پرونده می توانید چیزهای زیادی درباره نحوه pkgرفتار کردن بیاموزید . پیکربندی به زبان پیکربندی جهانی (UCL) نوشته شده است و گزینه های پیکربندی کاملاً کامنت زده و چند اسم مستعار وجود دارد. متغیرها را می توان روی یک عدد صحیح ، یک رشته یا یک مقدار بولی تنظیم کرد:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

می توانید نام های مستعار را برای pkgsubcommands در تعریف کنید pkg.conf. در انتهای قسمت pkg.conf، بخشی با برچسب پیدا می کنید ALIAS. وقتی خودتان را مرتباً دستورات پیچیده را اجرا می کنید ، باید نام مستعار را اضافه کنید.

برای اطلاعات بیشتر در مورد فرمت و گزینه های پرونده ، می توانید به pkg.conf(5)صفحه man مراجعه کنید:

man pkg.conf

یافتن بسته ها

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

پروژه FreeBSD مجموعه های مختلفی از بسته ها را در یک مخزن عمومی ارائه می دهد و هر چند روز یکبار به روز می شوند. در حال حاضر بیش از 25000 بسته وجود دارد.

به عنوان مثال ، بیایید سعی کنیم سرور وب Apache را جستجو کنیم:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

تمام بسته های موجود apacheدر نام آنها را پیدا می کند. این لیست طولانی را برمی گرداند ، اما آنچه شما به دنبال آن هستید ، apache24بسته بندی است. شرح مختصری از هر بسته وجود دارد. این باید به شما در تصمیم گیری چه بسته ای برای نصب کمک کند ، اما همیشه ساده نیست.

برخی از جستجوها می توانند صدها نتیجه تولید کنند. برای تعدیل یا تنظیم نتایج جستجو ، باید از گزینه های مختلف خط فرمان استفاده کنید. برای کسب اطلاعات بیشتر در مورد گزینه های جستجوی متداول با pkg-searchصفحه مرد یا صفحه راهنمایی مشورت کنید pkg help search.

اگر مطمئن نیستید که آیا بسته موردی است که واقعاً می خواهید ، می توانید از دستور زیر برای جستجوی جزئیات بسته استفاده کنید:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

این دستور اطلاعات مفیدی را در مورد بسته به شما می دهد.

نصب بسته ها

برای نصب نرم افزار ، از نصب installفرعی و نام بسته برای نصب استفاده کنید:

pkg install apache24

هنگامی که بسته ها را با آنها نصب می کنید pkg install، با pkgکاتالوگ بسته محلی مشورت می کنید ، سپس بسته درخواستی را از مخزن در آن بارگیری می کنید pkg.FreeBSD.org. پس از نصب بسته ، در پایگاه داده SQLite که در آن نگهداری می شود ، ثبت می شود /var/db/pkg/local.sqlite. مواظب باشید این پرونده را حذف نکنید ، در غیر این صورت ، سیستم شما پیگیری می کند که بسته های نصب شده کدامند. اگر نرم افزار وابستگی دارد ، pkgآنها را تشخیص داده و آنها را به همراه بسته پایه نصب کنید. بسته های نصب شده به عنوان وابستگی ، بسته های اتوماتیک نامیده می شوند .

مدیر بسته امکان این را دارد که فقط بسته‌ها را از طریق اینترنت بارگیری کرده و آنها را در یک مکان روی دیسک ذخیره کند. این به شما امکان می دهد آنها را در زمان دیگری نصب کنید. pkg fetchبدون نصب آن می توانید از این دستور استفاده کنید:

pkg fetch nginx

این دستور فقط Nginx را بدون وابستگی به آن منتقل می کند. می توانید از -dپرچم برای گرفتن همه وابستگی ها و همچنین بسته نامگذاری شده استفاده کنید:

pkg fetch -d nginx

بسته ها در فهرست کش بسته بارگیری می شوند /var/cache/pkg. بعد از اینکه بسته ها را برداشتید ، pkgآنها را به این فهرست اضافه کنید. می توانید پرونده ها را برای دیدن آنچه در آن قرار دارد لیست کنید:

ls /var/cache/pkg

اکنون ، برای نصب بسته بارگیری شده پس از واکشی ، به pkg installطور عادی اجرا کنید . فرایند نصب به جای فایلهای بارگیری شده از فایلهای ذخیره شده استفاده می کند.

با گذشت زمان ، پوشه کش پکیج می تواند بزرگ شود. این pkg cleanدستورالعمل بسته های حافظه پنهانی را که جایگزین نسخه های جدیدتر شده اند ، و همچنین پرونده های بسته دیگری که دیگر در مخازن موجود نیست حذف می کند:

pkg clean

اگر می خواهید همه بسته های ذخیره شده را حذف کنید ، از -aپرچم استفاده کنید :

pkg clean -a

اگر می خواهید حافظه نهان بسته را بطور خودکار بعد از نصب یا به روزرسانی هر بسته تمیز کنید ، pkg.confگزینه AUTOCLEANرا تنظیم کنید true.

به دست آوردن اطلاعات در مورد بسته های نصب شده

اگر فراموش کرده اید که بسته هایی را که روی یک سیستم نصب کرده اید می توانید از آنها pkg infoبرای تهیه لیست کاملی از نرم افزارهای نصب شده استفاده کنید:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

اگر می خواهید اطلاعات بیشتری در مورد یک بسته نصب شده ، از pkg infoنام و نام بسته استفاده کنید . این جزئیات نصب بسته را در یک گزارش دوستانه انسان نشان می دهد:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

شما می توانید اطلاعات مفیدی مانند نسخه نرم افزار ، زمان نصب نرم افزار ، مجوز نرم افزار ، پرچم های زمان کامپایل و سایر موارد را مشاهده کنید. را بررسی کنید pkg-infoman برای جزئیات کامل.

پاک کردن بسته ها

برای پاک کردن بسته های دودویی از pkg deleteفرعی استفاده کنید . همچنین به صورت زیر موجود است pkg remove:

pkg delete nginx
# or
pkg remove nginx

لیستی از بسته هایی را که باید حذف شوند دریافت می کنید و چقدر فضای این مکان را آزاد می کند.

اگر بسته ای را که بسته های دیگر به آن بستگی دارند pkgحذف کنید ، بسته های بسته را نیز حذف می کنید.

بستن بسته ها

ممکن است زمانی وجود داشته باشد که بخواهید یک بسته روی سرور شما هرگز به روز رسانی نشود. هنگامی که یک بسته را قفل می کنید ، pkgآن را ارتقاء ، کاهش ، حذف یا نصب مجدد نخواهید کرد. همین قوانین را برای وابستگی بسته و برنامه هایی که به آن بستگی دارد اعمال می کند.

استفاده از pkg lockبرای قفل کردن یک بسته:

pkg lock openssl

این opensslبسته اکنون قفل است.

برای لیست تمام بسته های در حال حاضر قفل شده در سیستم ، از -lپرچم استفاده کنید :

pkg lock -l

برای حذف قفل از pkg unlockدستور استفاده کنید :

pkg unlock openssl

برای قفل کردن یا باز کردن همه بسته ها در یکباره ، از -aپرچم استفاده کنید :

pkg lock -a
pkg unlock -a

مخازن بسته

مخازن بسته بندی توسط مجموعه هایی از آنها پشتیبانی می شوند pkgکه به آنها مجموعه ای از بسته ها گفته می شود. می توانید مخازن را اضافه ، حذف ، فعال و غیرفعال کنید. شما باید با استفاده از فرمت UCL ، هر مخزن را در پرونده خود تنظیم کنید. مخازن رسمی FreeBSD در /etc/pkgفهرست قرار دارند. کشتی های FreeBSD با استفاده از repo "FreeBSD" امکان پذیر است. پرونده پیکربندی آن را در /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

در صورت لزوم می توانید مخازن را اضافه و حذف کنید. همانطور /etc/pkgکه برای مخازن رسمی FreeBSD محفوظ است ، به فهرست دیگری نیاز دارید. مکان سنتی است /usr/local/etc/pkg/repos. اگر می خواهید از یک دایرکتوری متفاوت استفاده کنید ، باید یک گزینه pkg.confرا با آن تنظیم REPO_DIRSکنید. دایرکتوری مخزن محلی به طور پیش فرض وجود ندارد ، بنابراین باید با استفاده از آن ایجاد کنید mkdir -p /usr/local/etc/pkg/repos. تنظیمات مخزن خود را در آن فهرست قرار دهید.

به عنوان مثال pkgsubcommands

در این بخش برخی از فرعی های متداول مورد استفاده در لیست سرور FreeBSD استفاده می شود:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

پرونده ها و دایرکتوری های مهم

  • pkgفایل پیکربندی -/usr/local/etc/pkg.conf
  • دایرکتوری برای مخازن رسمی FreeBSD محفوظ است - /etc/pkg
  • پرونده مخزن FreeBSD - /etc/pkg/FreeBSD.conf
  • محل سنتی مخازن سفارشی - /usr/local/etc/pkg/repos
  • دایرکتوری حافظه پنهان بسته - /var/cache/pkg
  • بانک اطلاعاتی SQLite - /var/db/pkg/local.sqlite

خلاصه

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



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد