مدیریت پکیجها در سرور مجازی لینوکس با apt-get و apt-cache
۱ بهمن ۱۴۰۳
مقدمه
Apt یک رابط خط فرمان برای سیستم پکیجینگ dpkg است و برای بسیاری از توزیعهای لینوکس، به عنوان یک روش عالی برای مدیریت نرمافزار، از طریق خط فرمان، استفاده میشود. apt، سیستم اصلی مدیریت پکیجها در Debian و توزیعهای مبتنی بر Debian مانند Ubuntu است.
در حالی که ابزاری به نام dpkg لایه زیرین پکیجینگ را تشکیل میدهد، apt و apt-cache رابطهای کاربرپسندتری ارائه میدهند و مدیریت وابستگیها (dependency handling) را پیادهسازی میکنند. این قابلیت به کاربران اجازه میدهد که حجم زیادی از نرمافزارها را به طور بهینه و بهسادگی، مدیریت کنند.
در این راهنما، ما به بررسی استفاده اولیه از apt
و apt-cache
و نحوه مدیریت نرمافزارها با آنها میپردازیم. ما تمرینات خود را روی یک سرور مجازی اوبونتو انجام خواهیم داد، اما همین مراحل و تکنیکها در سایر توزیعهای مبتنی بر Debian نیز قابل اجرا است.
نحوه بهروزرسانی پایگاه داده پکیجها با Apt
Apt بر روی یک پایگاه داده از نرمافزارهای شناختهشده و در دسترس، کار میکند. این ابزار برای نصب، جستجوی پکیجها و بسیاری عملیات دیگر به این پایگاه داده مراجعه میکند.
به همین دلیل، پیش از شروع هر عملیات مربوط به مدیریت پکیجها با apt، باید مطمئن شویم که نسخه local پایگاه داده ما بهروز است.
پایگاه داده local را با دستور apt update
بهروزرسانی کنید. بیشتر عملیات apt نیاز به مجوزهای مدیریتی (administrative privileges) دارند:
sudo apt update
پس از اجرای این دستور، فهرستی از سرورهایی که اطلاعات را از آنها بازیابی میکنیم نمایش داده میشود. پس از این مرحله، پایگاه داده شما باید بهروز شده باشد.
نحوه ارتقا نسخه پکیجهای نصبشده با Apt
میتوانید پکیجهای موجود در سیستم خود را با استفاده از دستور apt upgrade
، ارتقا دهید. هنگام اجرای این دستور، از شما خواسته میشود که بهروزرسانیها را تأیید کنید و سرویسهای سیستمی ارتقایافته را مجدداً، راهاندازی کنید:
sudo apt upgrade
نحوه نصب پکیجهای جدید با Apt
اگر نام پکیجی که نیاز دارید را میدانید، میتوانید با استفاده از دستور apt install
آن را نصب کنید:
sudo apt install package1 package2 …
همانطور که میبینید؛ میتوانیم چندین پکیج را به طور همزمان بر روی سرور مجازی، نصب کنیم، که این ویژگی برای نصب تمامی نرمافزارهای لازم برای یک پروژه، در یک مرحله، بسیار مفید است. Apt نه تنها نرمافزار درخواستشده، بلکه هر نرمافزار دیگری که برای نصب یا اجرای آن مورد نیاز است را نیز برایتان نصب میکند.
به عنوان مثال، میتوانید برنامهای به نام sl را با تایپ کردن دستور زیر نصب کنید:
sudo apt install sl
پس از آن، میتوانید sl را در خط فرمان اجرا کنید.
نحوه حذف یک پکیج با Apt
برای حذف یک پکیج از سیستم خود، دستور apt remove
را اجرا کنید:
sudo apt remove package_name
دستور فوق، پکیج مورد نظرتان را حذف میکند، اما فایلهای پیکربندی (configuration files) آن را نگه میدارد تا در صورت نصب مجدد پکیج در آینده، تنظیمات شما همچنان حفظ شوند.
اگر نیاز دارید علاوه بر برنامه، فایلهای پیکربندی را نیز پاک کنید، از دستور apt purge
استفاده کنید:
sudo apt purge package_name
این دستور، پکیج را حذف میکند و تمامی فایلهای پیکربندی مرتبط با آن را نیز پاک میکند. برای حذف پکیجهایی که به صورت خودکار، برای پشتیبانی از برنامهای دیگر نصب شدهاند و دیگر مورد نیاز نیستند، دستور زیر را وارد کنید:
sudo apt autoremove
همچنین میتوانید بعد از دستور autoremove
، نام یک پکیج را مشخص کنید تا آن پکیج و وابستگیهایش (dependencies)، با هم حذف شوند.
فلگهای پرکاربرد در Apt
تعدادی گزینه اضافی در apt وجود دارد که میتوان با استفاده از فلگها (flag) از آنها بهره برد. در ادامه، برخی از فلگهای پرکاربرد را بررسی میکنیم.
برای انجام یک شبیهسازی (dry run) و دریافت ایدهای از اینکه یک عملیات چه کاری انجام میدهد، میتوانید از فلگ -s
(مخفف simulate) استفاده کنید:
sudo apt install -s htop
خروجی دستور فوق، مشابه زیر است:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
lm-sensors
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Inst htop (3.0.5-7build2 Ubuntu:22.04/jammy [amd64])
Conf htop (3.0.5-7build2 Ubuntu:22.04/jammy [amd64])
به جای انجام عملیات به صورت واقعی، شما یک بخش Inst
و Conf
خواهید دید که نشان میدهد پکیج در کجا نصب و پیکربندی خواهد شد (اگر فلگ -s
حذف شود).
اگر نمیخواهید از شما برای تأیید انتخابهایتان، سوال شود، میتوانید از فلگ -y
برای پذیرفتن خودکار (yes)، استفاده کنید:
sudo apt remove -y htop
برای دانلود یک بسته بدون نصب آن، میتوانید دستور زیر را وارد کنید:
sudo apt install -d packagename
فایلها در مسیر /var/cache/apt/archives
ذخیره خواهند شد.
اگر میخواهید پس از اجرای دستور apt، خروجی به شما نمایش داده نشود؛ میتوانید فلگ -qq
را به دستور اضافه کنید:
sudo apt remove -qq packagename
نحوه پیدا کردن یک پکیج با استفاده از Apt-Cache
Apt مجموعهای از ابزارها است که برای مدیریت نرمافزار سیستم شما استفاده میشود و در حالی که برای ارتقا، نصب و حذف پکیجها به کار میرود، apt-cache
برای جستجو و دریافت اطلاعات از پایگاه داده پکیجها استفاده میشود.
میتوانید از دستور apt-cache search
برای جستجوی پکیجی که دنبالش هستید، استفاده کنید. معمولاً apt-cache
به دسترسیهای مدیریتی (administrative privileges) نیاز ندارد:
apt-cache search what_you_are_looking_for
برای مثال، برای پیدا کردن htop
که یک نسخه بهبودیافته از ابزار مانیتورینگ سیستم top
است، میتوانید از دستور زیر استفاده کنید:
apt-cache search htop
خروجی دستور فوق، مشابه زیر است:
htop - interactive processes viewer
aha - ANSI color to HTML converter
bashtop - Resource monitor that shows usage and stats
bpytop - Resource monitor that shows usage and stats
btop - Modern and colorful command line resource monitor that shows usage and stats
libauthen-oath-perl - Perl module for OATH One Time Passwords
pftools - build and search protein and DNA generalized profiles
میتوانید برای اصطلاحات کلیتر نیز جستجو کنید. به عنوان مثال، برای یافتن نرمافزار تبدیل mp3، میتوانید دستور زیر را وارد کنید:
apt-cache search mp3 convert
خروجی دستور فوق، مشابه زیر است:
abcde - A Better CD Encoder
cue2toc - converts CUE files to cdrdao's TOC format
dir2ogg - audio file converter into ogg-vorbis format
easytag - GTK+ editor for audio file tags
ebook2cw - convert ebooks to Morse MP3s/OGGs
ebook2cwgui - GUI for ebook2cw
ffcvt - ffmpeg convert wrapper tool
. . .
نحوه مشاهده اطلاعات یک پکیج با استفاده از Apt-Cache
برای مشاهده اطلاعات یک پکیج، از جمله توضیحات کامل آن، میتوانید از Syntax زیر استفاده کنید:
apt-cache show package_name
دستور فوق، اندازه دانلود و وابستگیهای مورد نیاز پکیج را نیز، نمایش میدهد.
برای بررسی اینکه آیا یک پکیج نصب شده است یا نه و بررسی repository که پکیج از آن، دریافت میشود، از دستور apt-cache policy
استفاده کنید:
apt-cache policy package_name
نتیجهگیری
اکنون شما باید به اندازه کافی با apt-get
و apt-cache
آشنا شده باشید تا اکثر نرمافزارهای موجود در سرور خود را مدیریت کنید. گاهی اوقات نیاز است از این ابزارها و نرمافزارهای موجود در repositoryها فراتر بروید، اما بیشتر عملیات نرمافزاری را میتوان با این ابزارها مدیریت کرد.
در صورتی که به یک سرور مجازی دائمی سریع و بهینه برای توسعه نرمافزارتان نیاز دارید؛ میتوانید از سرور مجازی ایران لیارا استفاده کنید. سرورهای مجازی لیارا از جمله بهترین VPSهای موجود در ایران است که از جمله ویژگیهای آن، سرعت بالا، بهینگی، سادگی و پشتیبانی لحظهای است.