بررسی و لیست کردن پکیجهای نصبشده در اوبونتو

مدیریت بستههای نرمافزاری در توزیعهای مبتنی بر دبیان، بهویژه اوبونتو، یکی از کلیدیترین وظایف در مدیریت سرور و لینوکس است. اوبونتو به صورت پیشفرض ابزارهای متنوعی را برای کنترل، نصب و بازبینی این بستهها در اختیار مدیران سیستم قرار میدهد. شناخت دقیق این ابزارها و سوئیچهای آنها، امکان مانیتورینگ دقیق سیستمعامل و پایداری آن را فراهم میکند.
در این راهنما، نحوه بررسی و لیست کردن پکیجهای نصبشده در اوبونتو را با استفاده از ابزارهای بومی سیستمعامل بررسی میکنیم.
پیشنیازها
برای اجرای دستورات و استخراج لیست پکیجها در اوبونتو، دسترسی به موارد زیر الزامی است:
- دسترسی به خط فرمان (Terminal) یا اتصال SSH به سرور
- سیستمعامل اوبونتو یا هر توزیع دیگری که از ابزارهای مدیریت بسته دبیان استفاده میکند
- دسترسی به پکیجمنیجرهای اصلی سیستم مانند APT یا DPKG
لیست کردن پکیجها با ابزار APT
ابزار APT (Advanced Package Tool) مدیریت بسته پیشفرض و مدرن در نسخههای جدید اوبونتو است که تعامل با مخازن نرمافزاری را تسهیل میکند.
مشاهده تمامی بستههای موجود و نصبشده
برای استخراج یک لیست جامع از تمامی پکیجهایی که در مخازن اوبونتو وجود دارند (چه روی سیستم نصب باشند و چه نباشند)، دستور زیر کاربرد دارد:
apt list
از آنجایی که تعداد این بستهها بسیار زیاد است و خروجی ترمینال به سرعت حرکت میکند، پایپ کردن این دستور به ابزار less جهت ناوبری آسانتر و صفحهبندی خروجی توصیه میشود:
apt list | less
در این وضعیت، با کلیدهای جهتنما یا دکمه Space میتوان در متن حرکت کرد و برای خروج از این حالت نیز کافی است کلید Q فشرده شود.
مشاهده انحصاری بستههای نصبشده
در صورتی که هدف تنها بررسی پکیجهایی باشد که در حال حاضر روی سیستمعامل فعال و نصب هستند، باید از آپشن اختصاصی این دستور استفاده کرد:
apt list --installed
خروجی این دستور وضعیت نصب هر بسته را با برچسبهای خاصی مشخص میکند:
- برچسب [installed]: نشاندهنده این است که بسته به صورت دستی و مستقیم توسط مدیر سیستم نصب شده است.
- برچسب [installed,automatic]: مشخص میکند که این بسته به عنوان یک وابستگی (Dependency) برای نرمافزار دیگری و به صورت خودکار نصب شده است و حذف نرمافزار اصلی میتواند این بسته را نیز بلااستفاده کند.
جستجو و فیلتر کردن یک بسته خاص
برای پیدا کردن یک بسته مشخص در میان پکیجهای نصبشده یا موجود، راهکارهای متفاوتی وجود دارد. سادهترین روش، ارجاع مستقیم نام بسته به دستور است:
apt list --installed [package_name]
روش انعطافپذیرتر، ترکیب دستور با ابزار grep است تا بتوان پکیجهایی که نام آنها شامل یک عبارت خاص است را پیدا کرد. استفاده از سوئیچ -i در دستور grep باعث میشود جستجو به کوچک یا بزرگ بودن حروف حساس نباشد:
apt list --installed | grep -i [keyword]
علاوه بر این، برای دریافت اطلاعات ساختاری و جزییات فنی دقیقتر از یک پکیج مشخص، ابزار show اطلاعات جامعتری ارائه میدهد:
apt show [package_name]
مشاهده بستههای نیازمند بهروزرسانی
بررسی پکیجهایی که نسخه جدیدی از آنها در مخازن ارائه شده و آمادگی ارتقا دارند، برای حفظ امنیت سرور اهمیت بالایی دارد. برای فیلتر کردن این بستهها از دستور زیر استفاده میشود:
apt list --upgradable
در صورت به روز بودن تمامی پکیجهای سیستم، این دستور خروجی خاصی بازنمیگرداند.
شمارش تعداد پکیجهای نصبشده
برای به دست آوردن آمار دقیق و عددی از پکیجهای فعال روی سیستمعامل، میتوان خروجی لغوشده را به ابزار شمارش خطوط (wc) متصل کرد. استفاده از سوئیچ -qq در دستور apt الزامی است تا پیامهای سیستمی اضافی حذف شوند و تنها تعداد خطوط خالص خروجی شمارش شود:
apt -qq list --installed | wc -l
لیست کردن پکیجها با استفاده از ابزار DPKG
ابزار DPKG یک پکیجمنیجر سطح پایینتر در توزیعهای دبیان و اوبونتو است. برخلاف APT، این ابزار مستقیما با مخازن آنلاین تعامل ندارد، اما وضعیت پکیجهای نصبشده محلی را با سرعت بسیار بالایی گزارش میدهد.
استخراج لیست کامل بستهها با DPKG
برای مشاهده تمام بستههایی که روی سیستم نصب شدهاند یا اثری از فایلهای پیکربندی آنها باقی مانده است، دستور زیر اجرا میشود:
dpkg --get-selections
برای دریافت خروجی دقیقتر همراه با معماری پکیج، نسخه و توضیحات کوتاه هر بسته، سوئیچ لیست کاربرد دارد:
dpkg -l
فیلتر کردن خروجی DPKG برای یک بسته خاص
در ابزار DPKG نیز میتوان برای پیدا کردن یک نرمافزار خاص، نام آن را مستقیما جستجو کرد یا خروجی را به ابزار grep فرستاد:
dpkg -l | grep -i [package_name]
مدیریت و لیست کردن بستههای سورس Snap
در نسخههای جدید اوبونتو، بسیاری از پکیجها و سرویسهای نرمافزاری به صورت پکیجهای مستقل و ایزوله لینوکس (Snap) نصب میشوند. این بستهها توسط ابزارهای APT و DPKG ردیابی نمیشوند و باید به صورت جداگانه بررسی گردند.
مشاهده پکیجهای نصبشده Snap
برای بررسی نرمافزارهایی که از طریق سورس اسنپ روی سیستمعامل اوبونتو فعال هستند، دستور زیر به کار میرود:
snap list
خروجی این دستور شامل نام پکیج، نسخه جاری، شماره بازبینی (Revision)، توسعهدهنده و وضعیت فعال بودن آن است.
خروجی گرفتن از لیست پکیجها برای بکآپ و انتقال
یکی از کاربردهای اصلی لیست کردن پکیجها، ایجاد یک نسخه پشتیبان از معماری نرمافزاری سرور جهت راهاندازی مجدد یا انتقال به سرور دیگر است.
ذخیره لیست در فایل متنی
با هدایت خروجی دستور APT یا DPKG به یک فایل متنی، میتوان ساختار نرمافزاری سیستم را ذخیره کرد:
dpkg --get-selections > packages_list.txt
بازگردانی پکیجها روی سرور جدید
در سرور مقصد (که مجهز به همان نسخه اوبونتو است)، میتوان فایل متنی تولیدشده را ایمپورت کرد تا تمام برنامهها به صورت خودکار و یکجا نصب شوند:
sudo dpkg --set-selections < packages_list.txt sudo apt-get dselect-upgrade
جمعبندی
تسلط بر روشهای استخراج لیست پکیجهای نصبشده در اوبونتو، فرآیند عیبیابی، بهروزرسانی و مهاجرت بین سرورها را به شدت تسهیل میکند. در حالی که ابزار APT به عنوان یک راهکار مدرن و همهجانبه برای کارهای روزمره شناخته میشود، ابزار DPKG برای بررسیهای عمیقتر محلی و ابزار Snap برای مدیریت پکیجهای نسل جدید توزیعهای لینوکس الزامی هستند. ترکیب این ابزارها با دستورات فیلترینگ مانند grep و ابزارهای شمارش، کنترل کاملی بر زیرساخت نرمافزاری سیستمعامل به مدیران شبکه و سرور اعطا میکند.
سوالات متداول
بله، ابزارهای APT و DPKG لیست پکیجها را بدون تاریخ نصب نمایش میدهند. برای پیدا کردن زمان دقیق نصب یک نرمافزار، باید تاریخچه فعالیتهای سیستم را در فایل لاگ اختصاصی آن در مسیر مشخصی از سیستمعامل بررسی کنید که تمامی رویدادهای نصب را با زمان دقیق ثبت میکند.
بستههایی که برچسب installed دارند به صورت مستقیم و دستی توسط کاربر یا مدیر سیستم نصب شدهاند. در مقابل، بستههای دارای برچسب installed,automatic وابستگیهای فنی نرمافزار اصلی هستند که سیستم برای عملکرد صحیح برنامه اصلی، آنها را به صورت خودکار دانلود و نصب کرده است.
ابزار APT و DPKG تنها بستههایی را نشان میدهند که از طریق مخازن رسمی دبیان یا فایلهای متناسب با آن نصب شده باشند. اگر نرمافزاری را از طریق پکیجمنیجر اسنپ، فلتپک یا به صورت دستی از روی سورس کد کامپایل و نصب کرده باشید، در این لیست ظاهر نمیشود و باید از ابزار اختصاصی همان سرویس استفاده کنید.
برای پیدا کردن پکیجهایی که بیشترین فضای دیسک را روی سرور اشغال کردهاند، ابزار ابزار دیگری به نام dpkg-query وجود دارد. این ابزار میتواند حجم مصرفی هر بسته را استخراج کرده و به کمک دستورات مرتبسازی لینوکس، آنها را از بزرگ به کوچک در خروجی ترمینال ردیف کند.
زمانی که یک نرمافزار اصلی را حذف میکنید، وابستگیهای اتوماتیک آن که دیگر کاربردی ندارند ممکن است روی سیستم باقی بمانند. برای پاکسازی کامل این بستههای منقضیشده و آزاد کردن فضای دیسک، سیستمعامل اوبونتو یک سوئیچ اختصاصی به نام autoremove را در ابزار APT قرار داده است که این پکیجهای اضافی را شناسایی و حذف میکند.





























شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.