چطور برنامه‌ها و پکیج‌های نصب‌شده در لینوکس را مدیریت کنیم؟

یک‌شنبه ۱ مهر ۱۴۰۳ - ۱۵:۳۰
مطالعه 11 دقیقه
ترمینال لینوکس با دستور sudo apt-get install gimp روی یک صفحه نمایش
در این مقاله به نحوه‌ی لیست کردن پکیج‌های نصب‌شده در توزیع‌های اصلی لینوکس می‌پردازیم.
تبلیغات

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

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

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

در این راهنما، نحوه‌ی فهرست کردن پکیج‌های نصب‌شده در توزیع‌های اصلی لینوکس با استفاده از پکیج‌منیجر‌هایی مثل apt، dnf و pacman و همچنین سیستم‌های یونیورسالی مانند Flatpak و Snap را بررسی می‌کنیم.

پکیج‌های لینوکسی چیستند؟

پکیج‌های لینوکسی مشابه برنامه‌ها یا نصب‌کننده‌هایی هستند که در ویندوز یا مک‌اواس می‌بینید؛ با این تفاوت که پکیج‌های مذکور شامل وابستگی‌ها نیز می‌شوند. وابستگی‌ها (دیپِندِنسی‌ها یا Dependencies) کتابخانه‌های نرم‌افزاری اضافی هستند که برنامه‌های نصب‌شده‌ی شما به آن‌ها نیاز دارند.

پکیج‌ها به‌صورت آرشیوهای فشرده در کنار هم باندل شده‌اند و توسط یک مدیر پکیج یا پکیج‌منیجر (Package Manager)، فرایند نصب، به‌روزرسانی و حذف آن‌ها به‌صورت خودکار انجام می‌شود.

توزیع‌های مختلف لینوکس از پکیج‌منیجر‌های متفاوتی استفاده می‌کنند. برای مثال:

  • Debian/Ubuntu از پکیج‌منیجر apt برای فایل‌های .deb استفاده می‌کنند.
  • Fedora/CentOS از dnf برای پکیج‌های .rpm استفاده می‌کنند.
  • Arch Linux از pacman برای مدل Rolling Release خود استفاده می‌کند.
  • پکیج‌منیجرهای یونیورسال مانند Flatpak و Snap روی تمام توزیع‌های اصلی لینوکس کار می‌کنند و برنامه‌های جداشده (sandboxed) و مستقل ارائه می‌دهند.

چرا باید پکیج‌ها و برنامه‌های نصب‌شده را بررسی کرد؟

با گذشت زمان، ممکن است تعداد زیادی پکیج روی سیستم‌های لینوکسی نصب‌شده باشند، از جمله آن‌هایی که دیگر استفاده نمی‌کنید. این پکیج‌ها می‌توانند فضای ارزشمندی اشغال، روند به‌روزرسانی‌ها را کُند و حتی در نصب نرم‌افزارهای جدید تداخل ایجاد کنند.

از جمله دلایل بررسی پکیج‌های نصب‌شده روی سیستم لینوکسی عبارت‌اند از:

  • عملکرد سیستم: برنامه‌های غیرضروری می‌توانند به‌روزرسانی‌های سیستم را کُند و فضای ذخیره‌سازی را مصرف کنند.
  • مدیریت وابستگی‌ها: وقتی برنامه‌ای را حذف می‌کنید، ممکن است وابستگی‌هایی که موقع نصب با آن نصب‌شده‌اند، روی سیستم باقی بمانند.
  • امنیت: ممکن است پکیج‌های قدیمی یا رهاشده در صورت به‌روزرسانی نشدن، خطرات امنیتی ایجاد کنند.

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

فهرست کردن پکیج‌های نصب‌شده در دبیان/اوبونتو با استفاده از apt

سیستم‌های مبتنی بر دبیان، مانند اوبونتو، از پکیج‌منیجر apt استفاده می‌کنند. Apt فرمانی کاربرپسند محسوب می‌شود که جایگزین apt-get شده است و مدیریت پکیج‌ها را راحت‌تر می‌کند.

  • فهرست کردن تمام پکیج‌های نصب‌شده:
apt list --installed
دستور apt list -installed در اوبونتو
HowToGeek

این فرمان همه‌ی پکیج‌های نصب‌شده را فهرست می‌کند. خروجی ممکن است طولانی باشد؛ اما می‌توانید آن را با ابزارهای اضافی فیلتر کنید.

خروجی دستور apt list --installed در اوبونتو
HowToGeek
  • شمارش تعداد پکیج‌های نصب‌شده:
apt list --installed | wc -l

فرمان wc -l تعداد خطوط خروجی را شمارش می‌کند و به شما تعداد پکیج‌های نصب‌شده را نشان می‌دهد.

دستور apt list --installed | wc -l و خروجی آن در اوبونتو
HowToGeek
  • جست‌وجو برای یک پکیج خاص:

از grep برای فیلتر کردن فهرست و جست‌وجوی پکیج‌های مربوط به کلمات کلیدی خاص استفاده کنید.

apt list --installed | grep <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

دستور apt list --installed | grep xfonts در اوبونتو و خروجی آن
HowToGeek
  • مشاهده‌ی اطلاعات دقیق درباره‌ی یک پکیج:

فرمان زیر اطلاعات دقیق یک پکیج را نشان می‌دهد، از جمله نسخه، وابستگی‌ها و توضیحات.

apt show <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

دستور apt show xml-core و خروجی آن در اوبونتو
HowToGeek

نکته: اگر فهرست خیلی طولانی باشد که نتوانید آن را اسکرول کنید، می‌توانید خروجی را با less پایپ (pipe) کنید:

apt list --installed | less

توجه: اگر دستورهایی با apt-get پیدا کردید، معمولاً می‌توانید بدون مشکل از apt به جای آن استفاده کنید، زیرا بیشتر سینتکس آن‌ها مشترک است.

فهرست کردن پکیج‌های نصب‌شده در فدورا (Fedora) با استفاده از dnf

فِدورا، سِنت‌اواس و سایر توزیع‌های مبتنی بر رِد‌هَت از dnf برای مدیریت پکیج‌های .rpm استفاده می‌کنند. Dnf قدرتمند است و برای سیستم‌های رد‌هتی عملکردی مشابه apt (پکیج‌منیجر دبیان) دارد.

  • فهرست کردن تمام پکیج‌های نصب‌شده:
dnf list installed
دستور dnf list installed در فدورا
HowToGeek

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

خروجی دستور dnf list installed در فدورا
HowToGeek
  • شمارش تعداد پکیج‌های نصب‌شده:
dnf list installed | wc -l
دستور dnf list installed | wc -l و خروجی آن در فدورا
HowToGeek
  • جست‌وجو برای یک پکیج خاص:
dnf list installed | grep <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

دستور dnf list installed | grep terminal و خروجی آن در فدورا
HowToGeek
  • مشاهده‌ی اطلاعات دقیق درباره‌ی یک پکیج:
dnf info <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید. برای مثال، برای مشاهده‌ی جزئیات gnome-terminal.x86_64 از dnf info gnome-terminal استفاده کنید (جزئیات معماری را حذف کنید).

دستور dnf info gnome-terminal و خروجی آن در فدورا
HowToGeek

نکته: همانند apt، می‌توانید خروجی‌های طولانی را با less مشاهده کنید:

dnf list installed | less

فهرست کردن پکیج‌های نصب‌شده در آرچ (Arch) با استفاده از pacman

آرچ لینوکس و مشتقات آن، مانند مانجارو، از پکیج‌منیجر pacman استفاده می‌کنند. Pacman به‌خاطر سبک و کارآمد بودنش شناخته شده و برای مدل انتشار غلتان (Rolling Release) سیستم‌های مبتنی بر آرچ طراحی شده است.

  • فهرست کردن تمام پکیج‌های نصب‌شده:
pacman -Q
دستور pacman -Q در آرچ
HowToGeek

این فرمان تمامی پکیج‌های نصب‌شده و نسخه‌های آن‌ها را فهرست می‌کند.

خروجی دستور pacman -Q در آرچ
HowToGeek
  • شمارش تعداد پکیج‌های نصب‌شده:
pacman -Q | wc -l
دستور pacman -Q | wc -l و خروجی آن در آرچ
HowToGeek
  • جست‌وجو برای یک پکیج خاص:
pacman -Q | grep <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

  • مشاهده‌ی اطلاعات دقیق درباره‌ی یک پکیج:
pacman -Qi <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

دستور pacman -Qi bash و خروجی آن در آرچ
HowToGeek

نکته: اگر به دنبال فیلتر کردن وابستگی‌های غیرضروری یا پکیج‌های یتیم (پکیج‌هایی که دیگر به هیچ ریپازیتوری‌ای ارجاع نمی‌شوند) هستید، می‌توانید از:

pacman -Qdtq

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

نکته: اگر به اطلاعات بیشتری از آنچه دستور pacman -Qi نشان می‌دهد، نیاز دارید، می‌توانید برای مشاهده‌ی جزئیات بیشتر درباره‌ی یک پکیج از دستور زیر استفاده کنید:

pacman -Qii bash
دستور pacman -Qii bash در آرچ
HowToGeek

در این مثال، می‌توان دید که جزئیات بیشتری درباره‌ی محل فایل‌های تمپلیت bash_logout و bash_profile نشان داده می‌شوند.

خروجی دستور pacman -Qii bash در آرچ
HowToGeek

فهرست کردن پکیج‌های نصب‌شده با فلت پک (Flatpak)

فلت پک یک پکیج‌منیجر یونیورسال است که برنامه‌های جداشده (sandboxed) را نصب می‌کند. با این کار، اجرای نسخه‌های مختلف برنامه‌ها بدون نگرانی درباره‌ی تضاد وابستگی‌های آن‌ها آسان‌تر می‌شود.

از دید توسعه‌دهنده، فلت پک فرایند پکیجینگ را ساده‌تر می‌کند؛ زیرا یک پکیج فلت پک می‌تواند روی تقریباً هر توزیع لینوکسی‌ای اجرا شود.

  • فهرست کردن تمام پکیج‌های نصب‌شده با فلت پک:
flatpak list
دستور flatpak list و خروجی آن در فدورا
HowToGeek
  • مشاهده‌ی پکیج‌های نصب‌شده به‌تنهایی (بدون نمایش runtime-ها):
flatpak list --app
دستور flatpak list --app و خروجی آن در فدورا
HowToGeek
  • مشاهده‌ی اطلاعات دقیق درباره‌ی یک پکیج:
flatpak info <application_id>

در این دستور، باید به‌جای نام یک برنامه، از application_id آن (در خروجی دستور flatpak list --app) استفاده کرد. برای مثال، برای دیدن اطلاعات دقیق درباره‌ی Blender، باید به‌جای <application_id>، عبارت org.blender.Blender را وارد کرد.

دستور flatpak info org.blender.Blender و خروجی آن در فدورا
HowToGeek

نکته: همان‌طور که اشاره شد، برنامه‌های فلت پک جداشده یا sandboxed هستند، به این معنی که برای امنیت بیشتر از سیستم ایزوله شده‌اند. Runtime-ها نیز برای کارکرد صحیح پکیج‌ها ضروری هستند اما در فهرست --app نمایش داده نمی‌شوند.

فهرست کردن پکیج‌های نصب‌شده با اسنپ (Snap)

اسنپ یک پکیج‌منیجر یونیورسال دیگر محسوب می‌شود که توسط کَنونیکال (سازندگان اوبونتو) ساخته شده است. مانند فلت پک، پکیج‌های اسنپ خودکفا و جداشده (sandboxed) هستند و در نتیجه با توزیع‌های مختلف سازگارند.

  • فهرست کردن تمام پکیج‌های نصب‌شده‌ی اسنپ:
snap list
دستور snap list و خروجی آن در اوبونتو
HowToGeek
  • مشاهده‌ی اطلاعات دقیق درباره‌ی یک پکیج اسنپ:
snap info <package_name>

در این دستور به‌جای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.

دستور snap info firefox و خروجی آن در اوبونتو
HowToGeek

نکته: اگر نیاز به بررسی نسخه‌های موجود یا کانال‌های برنامه‌ها را دارید (مانند پایدار، بتا)، می‌توانید از snap info استفاده کنید.

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

توجه داشته باشید که هرچند پکیج‌منیجر‌ها گزینه‌هایی برای یافتن و حذف خودکار پکیج‌های یتیم و غیرضروری دارند؛ اما از شناسایی پکیج‌های قدیمی که دیگر استفاده نمی‌کنید، عاجزند و این کار نیاز به مداخله‌ی انسانی دارد.

شما چگونه برنامه‌های نصب‌شده‌ در توزیع لینوکسی خود را مدیریت می‌کنید؟ دیدگاه خود را در بخش نظرات با ما به اشتراک بگذارید.

تبلیغات
داغ‌ترین مطالب روز
تبلیغات

نظرات