در این مقاله قصد داریم درمورد مشکلات به روز رسانی CentOS 7 YUM و را حل آنها صحبت کنیم.
مدیریت بسته YUM یکی از مهمترین ابزارهای موجود در سیستم عامل CentOS ۷ است. اگر دستور YUM به دلایل مختلف اجرا نشود، بهروز رسانی و نصب و حذف بسته YUM کار بسیار دشواری خواهد بود.
با اینکه هنوز نرمافزارها را میتوان از RPM ها یا از منبع خودشان اجرا و نصب کرد، yum دارای مزایای بسیاری از قبیل نصب خودکار و بهروز رسانی آسان سیستمعامل و plugin هاست.
هدف ما در مقاله این است که در مورد شایعترین نمونههای اجرا نشدن دستورات YUM بحث کرده و علت اصلی و نحوهی اصلاح آن را توضیح دهیم. همچنین در این مقاله خواهیم فهمید که در صورت به روز رسانی ناموفق CENTOS 7 YUM چه کارهایی باید انجام دهیم؟
برخی از سیستم عاملهای CentOS 7 به طور پیش فرض تنظیمات repository یا مخزن مربوط به YUM را انجام نمیدهند، بنابراین yum قادر به نصب یا بهروزرسانی هر بسته نیست.
شما میتوانید با ورود به پوشه /etc/yum.repos.d یا با اجرای دستور زیر بررسی کنید که آیا فایلها وجود دارند یا نه:
yum repolist all
اگر فایلها از بین رفته باشند، خودتان باید آنها را بسازید. یک جستوجوی گوگل به شما کمک میکند که اطلاعات مناسبی از تنظیمات repository برای نسخه CentOS 7 مورد نظر خود را پیدا کنید.
یکی دیگر از مسائل احتمالی این است که تنظیمات repository انجام شده اما غیرفعال است که بخاطر عدم نمایش پیام خطا، عیب یابی آن مشکل میشود.
برای مثال اگر epel repository غیر فعال شود، تلاش برای نصب یک بسته مانند htop ناموفق خواهد بود زیرا yum قادر به پیدا کردن آن نیست.
در این مثال نمونهای از repository غیر فعال در فایل etc/yum.repos.d/epel.repo/ نشان داده شده است:
[epel]
name=Extra Packages for Enterprise Linux 7 – $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
به آسانی درخطی که دستور enabled دارد، مقدار یک را قرار دهید. سپس آپدیت yum را اجرا کنید تا بسته را بهروز کرده و نرمافزار مورد نیاز خود را نصب کنید.
بستههای مستقل نیز میتوانند از آپدیت حذف شوند. این بستهها در فایل etc/yum.conf/ تنظیم میشوند. بدین منظور به دنبال دستور خطی باشید که با exclude شروع میشود.
یکی دیگر از مشکلات رایج، وجود repository معیوب است که میتواند تمامی فرآیند آپدیت YUM را از بین ببرد.
دلایل مختلفی نظیر نقص در فایل تنظیمات مخزن یا مخازنی که دیگر در دسترس نیستند یا URL هایشان تغییر کرده است، باعث بروز این مسئله میشوند.
بر خلاف سایر مشکلات YUM، تشخیص این مشکل آسان است زیرا برنامه خطایی را نمایش میدهد که نشان دهندهی repository معیوب است.
برای کامل شدن فرایند آپدیت، فایل موجود در etc/yum.repos.d/ را ویرایش کنید یا خطا را برطرف کنید یا repository معیوب را بطور کامل غیر فعال کنید.
YUM به طور خودکار تمام افزونهها را نصب و بهروزرسانی میکند. اما مواردی وجود دارد که نمیتوان بستهای را نصب کرد زیرا افزونه یا plugin یافت نمیشود، یا نسخه اشتباه است. این مسئله میتواند بسیار پیچیده باشد و هیچ راه حلی برای آن وجود ندارد.
گاهی اوقات شما میتوانید افزونههای از دست رفته را به صورت دستی نصب کنید و سپس دستور را دوباره اجرا کنید. تداخل نسخهها را میتوان با پاک کردن بسته در سیستم رفع کرد. در برخی موارد تنها گزینه تنظیم یک مخزن اضافی است که شامل افزونه مناسب است.
به منظور سرعت بخشیدن کار، مدیریت بسته YUM را میتوان طوری تنظیم کرد تا پس از نصب، دادهها روی دیسک نگهداری شوند. به طور پیش فرض، محلی که دادهها ذخیرهسازی میشوند، پوشه / var / cache / است.
گاهی اوقات cache میتواند خراب باشد یا دستور موفق اجرا نشود، در این حالت شما میتوانید تمام محتویات پوشه cache را به صورت دستی حذف کنید یا از دستور YUM برای پاک کردن آن استفاده کنید:
Yum clean all
دستور بالا تمام دادهها را در پوشه حذف میکند، گزینه دیگر اجبار YUMبرای چک کردن Cache بدون پاک کردن آن است:
yum expire-cache
سیستمهای CentOs 7 دو بسته پایگاه داده مختلف را روی دیسک نگهداری میکند، که هر دو آنها میتوانند خراب شده و منجر به خطا شوند. هنگامی که پایگاه داده RPM خراب میشود، YUM این دستور خطا را به شما نشان میدهد:
” Fatal error, run database recovery”
شما بایستی پایگاه داده را به صورت دستی پاک کنید و سپس آن را با این دستورات دوباره بسازید:
rm -f /var/lib/rpm/__db*
rpm –rebuilddb
yum clean all
yum update
دیتابیس اطلاعاتی بسته مدیریت YUM در پوشه var / lib / yum / yumdb / ذخیره میشود و میتواند با استفاده از دستور yumdb قابل دسترسی باشد.
وقتی که پایگاه داده خراب میشود، توسط YUM این پیغام خطا داده میشود:
” database disk image is malformed”
در بیشتر موارد، این مسئله به راحتی با این دستور رفع میشود:
yum clean dbcache
با این حال اگر پس از این مراحل بازهم به روز رسانی ناموفق بود، ممکن است مجبور باشید ابتدا پایگاه داده RPM را دوباره بسازید و yum را یکبار دیگر پاک کنید.
بسته مدیریتی YUM بسته قدرتمندی است که نصب و بهروزرسانی نرمافزار را بسیار آسان میکند. در حالیکه دلایل زیادی مبنی بر ناموفق بودن بهروز رسانی yum وجود دارد، ما رایجترین آنها و همچنین مراحل عیبیابی مورد نیاز را در این مقاله ارائه کردیم.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.