تعداد نرمافزارهای رایگانی که برای سیستمهای لینوکسی در دسترساند، قابل شمارش نیست، همین برای ورود به چرخهی دیوانهوار نصب برنامههایی که شاید تنها یک بار از آنها استفاده کنید، کافی است.
با زیاد شدن تدریجی برنامهها یا پکیجهای نصبشده، شانس اینکه مشکلات گوناگونی هنگام کار با سیستم لینوکسیتان به وجود بیاید بهصورت تصاعدی بالا میرود، از کند شدن فرایند بهروزرسانی پکیجها گرفته تا ایجاد تداخل بین آنها.
چه به دنبال پاکسازی سیستم باشید، چه بخواهید پکیجهای قدیمی را شناسایی کنید یا مشکلی را برطرف کنید، دانستن چگونگی فهرست کردن پکیجهای نصبشده ضروری است. هر توزیع لینوکسی پکیجمنیجر مخصوص به خود را دارد، اما سیستمهای پکیجینگ یونیورسالی نیز وجود دارند که روی تمامی توزیعها کار میکنند.
در این راهنما، نحوهی فهرست کردن پکیجهای نصبشده در توزیعهای اصلی لینوکس با استفاده از پکیجمنیجرهایی مثل 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 | wc -l
فرمان wc -l تعداد خطوط خروجی را شمارش میکند و به شما تعداد پکیجهای نصبشده را نشان میدهد.
- جستوجو برای یک پکیج خاص:
از grep برای فیلتر کردن فهرست و جستوجوی پکیجهای مربوط به کلمات کلیدی خاص استفاده کنید.
apt list –installed | grep <package_name>
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
فرمان زیر اطلاعات دقیق یک پکیج را نشان میدهد، از جمله نسخه، وابستگیها و توضیحات.
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
نکته: اگر فهرست خیلی طولانی باشد که نتوانید آن را اسکرول کنید، میتوانید خروجی را با less پایپ (pipe) کنید:
apt list –installed | less
توجه: اگر دستورهایی با apt-get پیدا کردید، معمولاً میتوانید بدون مشکل از apt به جای آن استفاده کنید، زیرا بیشتر سینتکس آنها مشترک است.
فهرست کردن پکیجهای نصبشده در فدورا (Fedora) با استفاده از dnf
فِدورا، سِنتاواس و سایر توزیعهای مبتنی بر رِدهَت از dnf برای مدیریت پکیجهای .rpm استفاده میکنند. Dnf قدرتمند است و برای سیستمهای ردهتی عملکردی مشابه apt (پکیجمنیجر دبیان) دارد.
- فهرست کردن تمام پکیجهای نصبشده:
این فرمان تمامی پکیجهای نصبشده در سیستم را نمایش میدهد، شامل جزئیات نسخه و معماری.
- شمارش تعداد پکیجهای نصبشده:
dnf list installed | wc -l
- جستوجو برای یک پکیج خاص:
dnf list installed | grep <package_name>
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید. برای مثال، برای مشاهدهی جزئیات gnome-terminal.x86_64 از dnf info gnome-terminal استفاده کنید (جزئیات معماری را حذف کنید).
نکته: همانند apt، میتوانید خروجیهای طولانی را با less مشاهده کنید:
dnf list installed | less
فهرست کردن پکیجهای نصبشده در آرچ (Arch) با استفاده از pacman
آرچ لینوکس و مشتقات آن، مانند مانجارو، از پکیجمنیجر pacman استفاده میکنند. Pacman بهخاطر سبک و کارآمد بودنش شناخته شده و برای مدل انتشار غلتان (Rolling Release) سیستمهای مبتنی بر آرچ طراحی شده است.
- فهرست کردن تمام پکیجهای نصبشده:
این فرمان تمامی پکیجهای نصبشده و نسخههای آنها را فهرست میکند.
- شمارش تعداد پکیجهای نصبشده:
- جستوجو برای یک پکیج خاص:
pacman -Q | grep <package_name>
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
pacman -Qi <package_name>
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
نکته: اگر به دنبال فیلتر کردن وابستگیهای غیرضروری یا پکیجهای یتیم (پکیجهایی که دیگر به هیچ ریپازیتوریای ارجاع نمیشوند) هستید، میتوانید از:
توجه: وقتی برنامهای را نصب میکنید، احتمالاً بهخاطر وابستگیهای آن چندین پکیج روی سیستم شما نصب میشود. به همین ترتیب، حذف یک برنامه نیز میتواند چندین پکیج را حذف کند. بنابراین تعداد برنامهها با تعداد پکیجها یکسان نیست.
نکته: اگر به اطلاعات بیشتری از آنچه دستور pacman -Qi نشان میدهد، نیاز دارید، میتوانید برای مشاهدهی جزئیات بیشتر دربارهی یک پکیج از دستور زیر استفاده کنید:
در این مثال، میتوان دید که جزئیات بیشتری دربارهی محل فایلهای تمپلیت bash_logout و bash_profile نشان داده میشوند.
فهرست کردن پکیجهای نصبشده با فلت پک (Flatpak)
فلت پک یک پکیجمنیجر یونیورسال است که برنامههای جداشده (sandboxed) را نصب میکند. با این کار، اجرای نسخههای مختلف برنامهها بدون نگرانی دربارهی تضاد وابستگیهای آنها آسانتر میشود.
از دید توسعهدهنده، فلت پک فرایند پکیجینگ را سادهتر میکند؛ زیرا یک پکیج فلت پک میتواند روی تقریباً هر توزیع لینوکسیای اجرا شود.
- فهرست کردن تمام پکیجهای نصبشده با فلت پک:
- مشاهدهی پکیجهای نصبشده بهتنهایی (بدون نمایش runtime-ها):
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
flatpak info <application_id>
در این دستور، باید بهجای نام یک برنامه، از application_id آن (در خروجی دستور flatpak list –app) استفاده کرد. برای مثال، برای دیدن اطلاعات دقیق دربارهی Blender، باید بهجای <application_id>، عبارت org.blender.Blender را وارد کرد.
نکته: همانطور که اشاره شد، برنامههای فلت پک جداشده یا sandboxed هستند، به این معنی که برای امنیت بیشتر از سیستم ایزوله شدهاند. Runtime-ها نیز برای کارکرد صحیح پکیجها ضروری هستند اما در فهرست –app نمایش داده نمیشوند.
فهرست کردن پکیجهای نصبشده با اسنپ (Snap)
اسنپ یک پکیجمنیجر یونیورسال دیگر محسوب میشود که توسط کَنونیکال (سازندگان اوبونتو) ساخته شده است. مانند فلت پک، پکیجهای اسنپ خودکفا و جداشده (sandboxed) هستند و در نتیجه با توزیعهای مختلف سازگارند.
- فهرست کردن تمام پکیجهای نصبشدهی اسنپ:
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج اسنپ:
در این دستور بهجای <package_name>، نام پکیجی را که به دنبال آن هستید، جایگزین کنید.
نکته: اگر نیاز به بررسی نسخههای موجود یا کانالهای برنامهها را دارید (مانند پایدار، بتا)، میتوانید از snap info استفاده کنید.
فهرست کردن پکیجهای نصبشده، چه برای پاکسازی نرمافزارهای غیرضروری باشد و چه اطمینان از عملکرد مناسب سیستم، گامی مهم در مدیریت سیستمهای لینوکسی است. مشاهدهی پکیجهای نصبشده میتواند به صرفهجویی در فضا، تسریع بهروزرسانیها و جلوگیری از تداخل کمک کند.
توجه داشته باشید که هرچند پکیجمنیجرها گزینههایی برای یافتن و حذف خودکار پکیجهای یتیم و غیرضروری دارند؛ اما از شناسایی پکیجهای قدیمی که دیگر استفاده نمیکنید، عاجزند و این کار نیاز به مداخلهی انسانی دارد.
شما چگونه برنامههای نصبشده در توزیع لینوکسی خود را مدیریت میکنید؟ دیدگاه خود را در بخش نظرات با ما به اشتراک بگذارید.
source