رفع مشکل آپدیت نشدن CentOS

سیستم عامل CentOS یکی از محبوب‌ترین توزیع‌ها از دسته‌ی  سیستم عامل‌های لینوکسی می باشد. این سیستم عامل به خاطر مزیت‌هایی همچون امنیت بسیار بالا، ثبات نرم افزاری و چرخه‌ی نگهداری طولانی مدت به شدت مورد توجه کاربران قرار گرفته است. یکی از مهم‌ترین مباحث در نگهداری از این سیستم عامل به‌روز نگهداشتن و آپدیت به موقع آن می‌باشد؛ به همین دلیل در مقاله‌ای که در ادامه به آن می‌پردازیم به بررسی و رفع مشکل آپدیت نشدن  CentOS در برخی موارد می‌پردازیم.

مشکلات احتمالی در به‌روزرسانی CentOS

مشکلات احتمالی در به‌روزرسانی CentOS

همانطور که می‌دانید YUM یکی از ابزارهای مهم در سیستم عامل CentOS می‌باشد. اگر این دستور به دلایل مختلفی اجرا نشود، به‌روزرسانی و حذف بسته‌ها کار بسیار دشواری می‌شود؛ به همین دلیل ما در ادامه به رایج‌ترین مشکلات در این خصوص و نحوه‌ی رفع آنها می‌پردازیم.

برای خرید هاست لینوکس و سرور مجازی لینوکس میتوانید با کارشناسان فروش مبین هاست تماس بگیرید.

تداخل افزونه‌ها

یکی از مشکلات شایع در آپدیت نشدن سیستم، تداخل افزونه‌ها در بسته‌های نرم افزاری است. ما می‌دانیم که YUM به طور خودکار تمام افزونه‌ها را نصب و به‌روز‌رسانی می‌کند اما گاهی اوقات هنگام نصب به مشکل بر می‌خوریم که یکی از راهکارها نصب آن افزونه به صورت دستی و سپس اجرای دوباره‌ی دستور است. یک راه حل دیگر برای جلوگیری از تداخل نسخه‌ها پاک کردن بسته در سیستم می‌باشد که با انجام این کار مشکل ما رفع می‌گردد.

مشکلات پایگاه داده

در سیستم‌های  CentOS هنگامی که پایگاه داده‌های RPM خراب می‌شوند با خطای زیر روبه‌رو می‌شویم:

” Fatal error, run database recovery”

برای حل این خطا ما باید پایگاه داده را به صورت دستی پاک کرده و سپس با استفاده از دستورات زیر دوباره یک پایگاه داده جدید ایجاد کنیم.

rm -f /var/lib/rpm/__db*
rpm –rebuilddb
yum clean all
yum update

بعد از انجام دستورات بالا دیتابیس اطلاعات بسته مدیریت  YUM را در پوشه var / lib / yum / yumdb / ذخیره می‌کند و می‌توان با استفاده از دستور  yumdb قابل دسترسی شود.

البته برای بازسازی کردن دیتابیس RPM می‌توانیم با استفاده از دستور زیر مشکل را حل کنیم.

root@rasanegar:/ # rpm --rebuilddb

بعد از آن  زمانی که اقدام به آپدیت سرور با دستور yum update می‌کنیم در صورت داشتن فضای کافی در دیسک باید آپدیت ما بدون مشکل انجام شود. (نمونه کدهای اجرایی بعد از انجام این دستورات در ادامه نوشته می شود.)

root@rasanegar:/backup/linux # yum update

Loaded plugins: fastestmirror

Determining fastest mirrors

epel/x86_64/metalink | 7.0 kB 00:00:00

* base: mirror.radoreservers.com

* epel: mirror.rasanegar.com

* extras: mirror.radoreservers.com

* rpmforge: mirror1.hs-esslingen.de

* updates: mirror.centos.jt.iq

base | 3.6 kB 00:00:00

epel | 5.4 kB 00:00:00

extras | 2.9 kB 00:00:00

rpmforge | 1.9 kB 00:00:00

updates ...

رفع مشکل آپدیت نشدن CentOS

خطای بعدی که در صورت خراب بودن دیتابیس ممکن است به نمایش درآید خطای:

” database disk image is malformed

است که برای حل این مشکل ما می‌توانیم به راحتی با نوشتن دستور زیر به حل آن بپردازیم.

yum clean dbcache

در بیشتر اوقات با انجام این دو روش مشکلات مربوط به پایگاه داده حل می شود اما با این حال اگر پس از انجام مراحل بالا باز هم به‌روزرسانی ناموفق بود، احتمالا  مجبور می‌شویم در ابتدا پایگاه داده RPM را دوباره بسازیم و yum  را نیز یکبار دیگر‌ پاک کنیم.

غیر فعال بودن repository

یک مشکل شایع در هنگام آپدیت، غیر فعال بودن repository است. در این حالت به دلیل نمایش ندادن خطا پیدا کردن مشکل و رفع ایراد آن بسیار دشوار است. برای مثال اگر در فایل etc/yum.repos.d/epel.repo/ ، repository غیر فعال باشد کد های زیر نمایش داده می‌شود:

[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، بسته‌ی مورد نظر به‌روز شده و نرم افزار مورد نیاز به آسانی نصب می‌شود.

 

حل مشکل آپدیت نشدن CentOS

معیوب بودن repository

در ادامه‌ی مشکلات مرتبط با repository از معیوب بودن آن نیز می‌توان به عنوان یک مشکل جدی در به‌روزرسانی تمامی فرآیند های yum نام برد. این مشکل می‌تواند به دلایل مختلفی رخ دهد که از جمله‌ی آن‌ها نقص در فایل تنظیمات مخزن یا مخازنی است که آدرس URL  آن ها تغییر کرده  یا اینکه دیگر در دسترس نمی‌باشند.

نکته‌ی مثبت در خصوص این مشکل نمایش خطا در صورت بروز آن می‌باشد که به راحتی می‌توان متوجه این ایراد شد. یکی از راهکارهای حل این خطا ویرایش فایل موجود در etc/yum.repos.d/ است. اگر با این روش مشکل همچنان پابرجا باشد، ما باید repository معیوب را به صورت کامل غیر فعال کنیم.

نتیجه گیری

ما در این مقاله به بررسی مشکل آپدیت نشدن CentOS و مهمترین راهکارهای رفع آن پرداختیم. اگرچه ممکن است اشکالات دیگری نیز در زمان به‌روزرسانی برای شما به وجود بیاید اما با دانستن راهکارهای ارائه شده مطمئنا می‌توانید بیشتر خطاهایی که ممکن است رخ بدهد را شناسایی و حل کنید.

ممکن است شما دوست داشته باشید
ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.