یکی از مهمترین کارهایی که در زمان مدیریت سرور باید انجام دهید این است که بتوانید پکیجهای نرمافزاری نصبشده را در سیستم اوبونتو لیست کنید. با انجام این کار، مواردی نظیر ردیابی موجودی نرمافزار، برزورسانیهای لازم و مهاجرت به محیط هاستینگ بسیار راحتتر میشود و به زمان کمتری هم نیاز دارد.
دستورهای زیادی برای مدیریت پکیجهای سرور لینوکس وجود دارد که با اهداف متفاوت و بسته به سیستمعامل و مدیریت پکیج، استفاده میشوند.
در این مقاله، میخواهیم دربارهی نحوهی استفاده از دستورات اوبونتو برای لیستکردن پکیجهای نصبشده صحبت کرده و با یکدیگر، روشها و تغییر دستورات را بررسی کنیم. با مبین هاست همراه باشید…
چطور میتوانم پکیجهای نصبشده روی اوبونتو را لیست کنم؟
خب! میخواهیم روشهای متداول لیستکردن پکیجهای نصبشده روی سیستمعامل اوبونتو 20.04 را بررسی کنیم. قبل از اینکه این آموزش را شروع کنیم، ابتدا باید مطمئن شوید که پس از خرید vps یا همان سرور خصوصی مجازی، این سرور با نسخهی سیستمعاملتان سازگاری دارد؛ وگرنه دستورات شما اجرا نمیشوند.
لیستکردن پکیجهای نصبشده روی اوبونتو با استفاده از apt
از نسخهی اوبونتو 14.04 به بعد، شما میتوانید از سیستم مدیریت پکیج apt استفاده کنید. در این نسخهها، یکی از راههای لیستکردن پکیجهای نرمافزاری نصبشده روی سیستم، استفاده از خط فرمان apt است.
به عبارتی دیگر، میتوانید از ترمینال سیستمعاملتان برای اجرای دستورات لینوکس در یک سیستم محلی استفاده کنید. برای یک ماشین ریموت مثل VPS، باید از طریق SSH با استفاده از ترمینال یا نرمافزار putty متصل شوید.
اگر کاربر هاستینگ VPS هستید، میتوانید اعتبار ورود به سیستم را از تب (tab) دسترسی SSH در VPS overview بگیرید. پس از اتصال به vps، دستور زیر را اجرا کنید تا تمام پکیجهای موجود در اوبونتو 20.04 برایتان نمایش داده شوند:
sudo apt list
برای اینکه فقط پکیجهای نصبشده را لیست کنید، دستور apt list را با گزینهی –installed اجرا کنید:
sudo apt list –-installed
میتوانید از آرگومان less برای داشتن یک نمایش کوچکتر از خروجی استفاده کنید. برای این کار، از کاراکتر (|) در انتهای دستورتان و قبل از less استفاده کنید:
sudo apt list –-installed | less
با این که آرگومان less، خروجی شما را به صورت فشرده نمایش میدهد، اما تمام پکیجهای نصبشده را لیست میکند. اگر میخواهید بدانید یک پکیج خاص، نصب شدهاست یا نه، از دستور grep استفاده کنید:
sudo apt list --installed | grep packagename
اگر میخواهید اطلاعات بیشتری دربارهی یک پکیج خاصی که روی سیستمتان نصبشده را مشاهده کنید، میتونید مانند کد زیر از دستور apt show استفاده کنید:
sudo apt show packagename
یادتان باشد که به جای عبارت packagename باید نام پکیج موردنظرتان را وارد کنید. به عنوان مثال، دستور زیر برای لیستکردن پکیجهای مرتبط با Vim اجرا میشود:
sudo apt list --installed | grep vim
اگر میخواهید اطلاعات بیشتری دربارهی پکیج Vim مشاهده کنید، باید دستور زیر را اجرا کنید:
sudo apt show vim
لیستکردن پکیجهای نصبشده روی اوبونتو با استفاده از دستور dpkg-query
در نسخههای قدیمیتر اوبونتو که دارای مدیریت پکیج apt نیستند، میتوانید از دستور dpkg-query استفاده کنید. dpkg-query مشابه دستور apt است؛ اما با یک مخزن ریموت کار نمیکند. اگر فقط میخواهید لیست پکیجهای نصبشده به همراه توضیح مختصر و نسخههای آنها را ببینید، دستور زیر را اجرا کنید:
sudo dpkg -l
با استفاده از آرگومان less در دستور dpkg، میتوانید نمایش خروجی را به صورت مختصر مشاهده کنید:
sudo dpkg -l | less
برای اینکه بتوانید پکیجهای خاص و دلخواهتان را جستجو کنید، باید grep را به دستور بالا اضافه کنید:
sudo dpkg -l | grep packageName
یادتان باشد که به جای packageName در دستور بالا، باید نام واقعی پکیج موردنظرتان را جایگذاری کنید. به عنوان مثال، اگر میخواهید پکیجهای نصبشدهی مرتبط با PHP را مشاهده کنید، باید دستور زیر را اجرا کنید:
sudo dpkg -l | grep PHP
علاوهبراین، میتوانید با کمک دستور زیر، اطلاعات مربوط به یک پکیج خاص را با کمک dpkg-query جستجو کنید:
sudo dpkg-query -W packageName
چطور میتوانم لیستی از پکیجهای نصبشده در اوبونتو را ایجاد کنم؟
شاید لازم باشد که علاوه بر لیستکردن نرمافزارهای نصبشده، نتایج را برای بایگانیکردن یا تکرار پیکربندی سیستم، ذخیره کنید. در سیستمعامل اوبونتو، میتوانید با استفاده از نماد ” > ” نام پکیجهای نصبشده در یک فایل را ذخیره کنید.
برای انجام چنین کاری، فقط کافیاست از دستور dpkg-query برای درخواست اطلاعات از مدیر پکیج dpkg برای برنامههای نصبشده، استفاده کنید. سپس، عبارت زیر را اضافه کنید تا فرمت خروجی برایتان نمایش داده شود:
-f ‘${binary: Package}\n’ -W
در انتهای عبارت بالا، نماد > را قرار دهید و بعد از آن، محل ذخیرهسازی فایل را مشخص کنید. مانند دستور زیر:
sudo dpkg-query -f '${binary: Package}\n' -W > completePackage.txt
همچنین، شما میتوانید از عبارت –get-selections برای بازیابی پکیجها براساس وضعیت نصبشان استفاده کنید. مانند دستور زیر:
sudo dpkg --get-selections > completePackage.txt
شما میتوانید با ایجاد لیستهای پکیج، برای تکثیر برنامههای نصبشده در ماشینهای دیگر استفاده کنید. برای انجام چنین کاری، با کمک دستور زیر، میتوانید completePackage.txt را به سیستم جدید منتقل کنید:
sudo xargs -a completePackage.txt apt install
کار آرگومان xargs این است که لیست را از فایل completePackage.txt میخواند و سپس، دستور نصب نرمافزار لینوکس همان پکیجها را به سیستم جدید اضافه میکند.
همچنین، شما میتوانید برای تکرار یک پکیج در لینوکس، از دستور apt استفاده کنید. برای لیستکردن پکیجهای نصبشده در فایل، دستور زیر را اجرا کنی:
sudo apt list --installed | awk -F/ -v ORS=" " 'NR>1 {print $1}' > completePackage.txt
پس از اینکه فایل را به سرور دیگری اضافه کردید، باید طبق کد زیر، همان پکیجها را با استفاده از دستور apt-get نصب کنید:
sudo apt-get install < completePackage.txt
راهنمای شمارش پکیجهای نصبشده در اوبونتو
یکی از قابلیتهای اوبونتو این است که شما میتوانید تعداد پکیجهای لینوکس نصبشده روی آن را بشمارید. این سینتکس شبیه به خروجی لیست به یک فایل است؛ اما با دستور wc یا همان word count بعد از گذرگاه همراه است.
با اجرای این دستور، پکیجهای نصبشده براساس گزینههای مشخصشده، بررسی میشوند. در مثال زیر، از عبارت -l برای شمارش تعداد خطوط در لیست پکیجهای نصبشده استفاده شدهاست:
sudo dpkg-query -f '${binary: Package}\n' -W | wc -l
در تصویر زیر، خروجی دستور بالا را مشاهده میکنید:
برای اینکه بتوانید پکیجهای نصبشده را شمارش کنید، میتوانید از دستور wc با apt نیز استفاده کنید:
sudo apt list –-installed | wc -l
لیستکردن پکیجهای قابل ارتقا
با اضافهکردن –upgradeable در دستور apt، میتوانید بروزرسانیهای موجود در مخزن را بررسی کنید. قبل از اینکه سراغ لیستکردن پکیجها بروید، باید مخزن را با دستور زیر همگام کنید:
sudo apt update
سپس، دستور زیر را اجرا کنید تا پکیجهای قابل ارتقا را شناسایی کنید:
sudo apt list --upgradeable
خروجی ترمینال باید مشابه تصویر زیر باشد:
نحوهی لیستکردن تمام نسخههای پکیج
شما میتوانید از دستورات apt اوبونتو برای تایید نسخهی پکیج استفاده کنید. برای انجام این کار، دستور زیر را اجرا کنید:
sudo apt list --all-versions
برای اینکه نسخهی نصبشدهی یک پکیج خاص را استعلام کنید، نام آن را در انتهای دستور اضافه کنید. تصویر زیر، نمونهای از خروجی دستور query PHP را نشان میدهد:
همچنین، میتوانید فایلهای LOG را در مسیر فهرست /var/log/apt فهرست کنید تا ببینید که کدام پکیجها حذف یا بروزرسانی شدهاند. برای انجام این کار، میتوانید از آرگومان less استفاده کنید:
sudo less /var/log/apt/history.log
چطور پکیجهای Snap و Flatpak را بررسی کنیم؟
شما با استفاده از دستورات apt و dpkg-query فقط میتوانید یک پکیج نصبشده را از پایگاه دادهتان لیست کنید. برای اینکه بتوانید سایر پکیجها مانند Snap و Flatpak را نصب کنید، باید دستورات را مطابق با آنها تغییرات دهید.
به عنوان مثال، دستور snap برای لیستکردن پکیجهای لینوکس Linux Snap نصبشده در سیستم اوبونتو استفاده کنید:
snap list
همچنین، برای بررسی برنامههای flatpack نصبشده، میتوانید از دستور زیر استفاده کنید:
flatpak list
سخن پایانی
شما به عنوان یک کاربر لینوکس که با مدیریت سرور سروکار دارید، باید بدانید که چگونه از خط فرمان برای لیستکردن پکیجهای نصبشده، قبل از بروزرسانی و انتقال دستگاههایشان استفاده کنید. برای اینکه این کار را در یک سیستم اوبونتو انجام دهید، باید از طریق ترمینال و کلاینت SSH از دستورات apt list و dpkg-query استفاده کنید.
با اضافهکردن اپراتور استاندارد به دستور، میتوانید لیست پکیج را در یک فایل در سیستم خود ذخیره کنید. همچنین، با اضافهکردن دستور wc یا word count، شمارش پکیجهای نصبشده انجام میشود.
علاوهبراین، میتوانید از apt list –upgradable برای بررسی بروزرسانیهای پکیج موجود استفاده کنید. در صورتی که میخواهید تمام نسخههای پکیج را لیست کنید، باید آپشن را با –all-versions جایگزین کنید. در صورتی که میخواهید از مدیریت پکیج دیگری مانند Flatpak یا Snap استفاده کنید نیز میتوانید apt و dpkg را جایگزین کنید.
سوالات متداول
چرا باید لیستکردن پکیجهای نصبشده در اوبونتو را یاد بگیریم؟
در صورتی که بخواهید یک محیط سیستم را به ماشین دیگری منتقل کنید یا آن را تکرار کنید، باید پکیجهای نصبشده را جستجو کنید. علاوهبراین، این کار به ردیابی پکیجهایی که کاربران باید پس از فرمتکردن سیستم لینوکس خود نصب کنند، کمک میکند.
آیا میتوان از این روشها در توزیعهای غیر اوبونتو استفاده کرد؟
به توزیعی که استفاده میکنید بستگی دارد. به عنوان مثال، برای توزیعهای مبتنی بر دبیان مانند Kali Linux، این روشها معمولا جواب میدهند. با این حال، برای توزیعهایی مانند CentOS یا ArchLinux، باید از دستورات دیگری استفاده کنید.