چگونه میتوان بستههای نصبشده در نسخههای ۶، ۷ و ۸ لینوکس CentOS را بررسی کرد؟ تهیه فهرستی از پکیجهای نصبشده بر روی سرور لینوکس CentOS اینترپرایز به چه صورت انجام میشود؟ در این مطلب قصد داریم نحوه بررسی و فهرستکردن تمام بستههای نصبشده در این سیستمعامل را با استفاده از ابزارها و فرمانهای...
1398/10/302722 بازدید
چگونه میتوان بستههای نصبشده در نسخههای ۶، ۷ و ۸ لینوکس CentOS را بررسی کرد؟ تهیه فهرستی از پکیجهای نصبشده بر روی سرور لینوکس CentOS اینترپرایز به چه صورت انجام میشود؟ در این مطلب قصد داریم نحوه بررسی و فهرستکردن تمام بستههای نصبشده در این سیستمعامل را با استفاده از ابزارها و فرمانهای مختلف بررسی کنیم. چنین لیستی میتواند واقعاً مفید باشد؛ مخصوصاً اگر بخواهید به شرایط نصب قبلی برگردید یا اینکه نسخهای از همین بستهها در سرورهای دیگر CentOS تهیه کنید.
چگونه بستههای نصبشده در CentOS بررسی کنیم؟
روند کار مطابق مراحل زیر است:
۱) باز کردن برنامه ترمینال
۲) برای ورود به سرور ریموت از فرمان ssh استفاده میکنیم:
php
1ssh user@centos-linux-server-IP-here
۳) نمایش اطلاعات تمام بستههای نصبشده بر روی CentOS. برای این منظور دستور زیر را تایپ کنید:
php
1sudo yum list installed
۴) برای شمارش تمام بستههای نصبشده داریم:
php
1sudo yum list installed | wc -l
۵) اگر میخواهیم عنوان تمام بستههای نصبشده را در یک فایل ذخیره کنید، فرمان زیر را امتحان کنید:
php
1sudo yum list installed > my_list.txt
۶) فرمان sudo yum update را اجرا کرده تا پایگاه داده بستهها را بروز رسانی کنید و در صورت لزوم، بستهها را بروز نمایید.
حالا بیایید تمام فرمانها و مثالها را به صورت جزئی بررسی کنیم.
بررسی و فهرستکردن بستههای نصبشده با استفاده از فرمان yum
ابتدا به نقل قولی از صفحه dnf/yum میپردازیم:
فرمان list باعث نمایش فهرست بستههای نصبشده با نسبت ارتباطشان با سیستم میشود. هر بستهای که به صورت RPMDB باشد، نصب شده است. همچنین اگر این بسته نصب نشده، ولی در منبعی که توسط DNF شناخته شده باشد، وجود داشته باشد، به عنوان یک بسته در دسترس درنظر گرفته میشود. همچنین فرمان list میتواند برای محدود کردن نمایش بستهها نسبت به معیارهای مختلف مورد استفاده قرار گیرد؛ مثلاً اینکه تنها بستههایی نمایش داده شوند که حاوی یک بروزرسانی نسبت به یک بسته نصبشده هستند. گزینه exclude در فایل تنظیمات .conf میتواند بر نتایج تأثیر بگذارد؛ این در حالی است که با استفاده از گزینه فرمان خطی –disableexcludes میتوان اطمینان حاصل کرد که تمام بستههای نصبشده لیست شوند.
بنابراین برای فهرست کردن تمام بستههای نصبشده در CentOS، فرمان yum زیر را تایپ کنید:
php
1sudo yum list --installed23sudo yum list --installed | more
فهرستکردن تمام بستههای نصبشده در لینوکس CentOS با استفاده از yum
شاید کسی بخواهد از فرمان grep نیز برای ایجاد فیلتر استفاده کند. به عنوان مثال، فرمان زیر بررسی میکند که آیا nginx نصب شده یا خیر:
php
1sudo yum list --installed | grep nginx
اگر بخواهید تمام بستههای سیستم که در هیچگونه منبعی در دسترس نیستند، فهرست کنید، فرمان زیر به کمک شما میآید:
php
1sudo yum list –extras
نمونه خروجی:
php
1Last metadata expiration check: 0:21:58 ago on Friday 29 November 2019 05:19:57 PM UTC.23Extra Packages45qemu-guest-agent.x86_64 15:2.12.0-64.module_el8.0.0+44+94c1b039.2 @AppStream
فهرست کردن تمام بستههای شناختهشده
php
1sudo yum list --all
در نهایت، نمایشهای بستههای در دسترس:
php
1sudo yum list –available
امکان شمارش تعداد بستههای نصبشده با استفاده از فرمان wc نیز وجود خواهد داشت:
php
1sudo yum list --installed | wc -l23sudo yum list --all | wc -l45sudo yum list --available |wc –l
نمایش بستههای که نیاز به بروزرسانی یا تصحیح دارند
حفظ امنیت باکس CentOS یکی از وظایف اساسی شماست. برای این منظور میتوانید لیست تمام ارتقاهایی که برای بستههای نصبشده در دسترس هستند را تهیه کنید:
php
1sudo yum list --upgrades23sudo yum list --upgrades | more45sudo yum list --upgrades | grep -i kernel
سفارشیسازی قالب نمایشی با استفاده از -qf %{format} یا --queryformat %{format} صورت میگیرد. %{format} رشتهای برای هر کدام از بستههای متناظر خواهد بود. هر رخدادی درون %{<tag>} با عملکرد بسته متناظر جایگزین میشود. فهرست تمام تگهای شناختهشده میتواند با فرمان زیر نمایش داده شود:
به عنوان مثال، امکان ساخت یک لیست جالب به صورت زیر وجود خواهد داشت:
php
1repoquery -a --installed \23--queryformat "%{name}-%{arch}-%{version} installed at '%{installtime}' from '%{reponame}'"
نمونه خروجی:
php
1newt-x86_64-0.52.20 installed at '2019-09-25 14:48' from '@System'23nftables-x86_64-0.9.0 installed at '2019-09-25 14:48' from '@System'45npth-x86_64-1.5 installed at '2019-09-25 14:48' from '@System'67numactl-libs-x86_64-2.0.12 installed at '2019-09-25 14:48' from '@System'89openldap-x86_64-2.4.46 installed at '2019-09-25 14:48' from '@System'1011openssh-clients-x86_64-7.8p1 installed at '2019-09-25 14:49' from '@System'1213openssh-server-x86_64-7.8p1 installed at '2019-09-25 14:49' from '@System'1415openssh-x86_64-7.8p1 installed at '2019-09-25 14:49' from '@System'1617openssl-libs-x86_64-1.1.1 installed at '2019-09-25 14:48' from '@System'1819openssl-pkcs11-x86_64-0.4.8 installed at '2019-09-25 14:48' from '@System'2021openssl-x86_64-1.1.1 installed at '2019-09-25 14:48' from '@System'2223os-prober-x86_64-1.74 installed at '2019-09-25 14:48' from '@System'2425p11-kit-trust-x86_64-0.23.14 installed at '2019-09-25 14:48' from '@System'2627p11-kit-x86_64-0.23.14 installed at '2019-09-25 14:48' from '@System'2829pam-x86_64-1.3.1 installed at '2019-09-25 14:48' from '@System'3031parted-x86_64-3.2 installed at '2019-09-25 14:49' from '@System'3233passwd-x86_64-0.80 installed at '2019-09-25 14:49' from '@System'
نحوه بررسی بستههای نصبشده بر روی CentOS و پشتیبانگیری از آنها
یکی ازقالبهای فهرستکردن و پشتیبانگیری از تمام بستههای نصبشده به صورت زیر است:
یادداشتی بر فهرستکردن تمام بستههای نصبشده در CentOS با استفاده از گزینه history در فرمان yum
فرمان yum در آخرین نسخه CentOS و RHEL v6.x یا نسخه بالاتر، دارای گزینه history است. در نتیجه، تاریخچه نصبهای سرور ابری در دسترستان خواهد بود. برای این منظور، فرمان زیر را تایپ کنید تا فهرست و تاریخچه را ملاحظه نمایید: