هنگامی که آخرین به روز رسانی یک بسته با باگ پر می شود، جابجایی به نسخه قدیمی تر می تواند ثبات دسکتاپ لینوکس شما را بازیابی کند.
زمانی که یک بسته را در لینوکس ارتقا میدهید آزاردهنده است و متوجه میشوید که نسخه بهروز شده خراب است و به درستی کار نمیکند. در چنین مواردی، ممکن است وسوسه شوید که بسته را به طور کامل از سیستم خود حذف کنید، اما راه بهتری برای رفع این مشکل وجود دارد.
در سیستم عامل های مبتنی بر لینوکس، می توانید به راحتی با استفاده از مدیریت بسته پیش فرض به نسخه های قدیمی بسته ها تغییر دهید. در اینجا نحوه دانگرید بسته ها در لینوکس و چرایی نیاز به این کار آورده شده است.
چرا بستهها را کاهش دهیم؟
گاهی اوقات زمانی که توسعه دهندگان نسخه جدیدی از یک بسته را منتشر می کنند، بلافاصله برای دانلود در دسترس کاربران قرار می گیرد. اکثر نرم افزارهای جدید منتشر شده اغلب آزمایش نشده هستند و حاوی اشکالات و مشکلاتی هستند که نیاز به رفع دارند.
در حالی که در دنیای متن باز برای کاربران آزمایش جدیدترین نرم افزار و گزارش اشکالات کاملاً عادی است، در عوض می توانید با کاهش دادن بسته به روز شده به نسخه آزمایش شده قدیمی تر، سیستمی پایدار داشته باشید. این بیشتر در مورد توزیعهای لینوکس پیشرفته مانند Arch Linux یا مشتقات آن صدق میکند. از سوی دیگر، بسیاری از توزیعهای لینوکس نسخههای پایداری را ارائه میکنند که تنها حاوی بستههای آزمایش شده و قابل اعتماد در مخازن خود هستند. اوبونتو و دبیان (پایدار) دو نمونه خوب هستند.
ویژگی کاهش رتبه به ویژه زمانی که از لینوکس برای تامین انرژی سیستمی استفاده می کنید که باید در هسته خود پایدار باشد مفید است. برای مثال یک سرور. هنگامی که منابع را به صدها یا هزاران کاربر به طور همزمان از طریق وب تحویل می دهید، نمی توانید ثبات را به خطر بیاندازید و روی یک بسته آزمایش نشده حساب کنید. در چنین شرایطی، تغییر یک بسته به نسخه پایدار قدیمیتر، مناسبترین راه برای حفظ ثبات سیستم است.
چگونه بسته ها را در لینوکس کاهش دهیم
هر توزیع لینوکس دارای یک مدیر بسته پیشفرض است که به شما امکان میدهد با کاهش دادن به نسخههای بسته قدیمیتر، آنها را تغییر دهید. در توزیعهای مبتنی بر دبیان، شما مدیر بسته APT دارید، در حالی که توزیعهای مبتنی بر آرچ لینوکس و RHEL به ترتیب با Pacman و RPM عرضه میشوند.
در اوبونتو و دبیان
تنزل دادن یک بسته در اوبونتو و سایر توزیعهای مبتنی بر دبیان به آسانی فرآیند نصب است. تنها چیزی که باید بدانید نام بسته و شماره نسخه خاصی است که می خواهید نصب کنید.
با فرض اینکه از قبل می دانید کدام بسته را باید دانگرید کنید، می توانید جزئیات نسخه بسته را با استفاده از دستور زیر دریافت کنید:
apt list -a packagename
به عنوان مثال، اجازه دهید نسخه های بسته موجود برای ترمینال گنوم را پیدا کنیم:
apt list -a gnome-terminal
خروجی:
خروجی تمام نسخه های بسته مشخص شده را که در حال حاضر در مخازن موجود است نمایش می دهد. مقدار دوم (در این مورد “3.36.1.1-1ubuntu1”) را در خروجی مربوط به نسخه ای که می خواهید به آن تغییر دهید یادداشت کنید و آن را در فرمت دستور زیر مشخص کنید:
sudo apt install packagename=version
برای تنزل دادن بسته gnome-terminal به نسخه قدیمی تر “3.36.1.1-1ubuntu1”:
sudo apt install gnome-terminal=3.36.1.1-1ubuntu1
خروجی:
APT به شما در مورد روند کاهش رتبه هشدار می دهد. با وارد کردن “Y” و زدن Enter تغییر را تایید کنید.
می توانید بررسی کنید که آیا APT با موفقیت بسته را با استفاده از پرچم –version تنزل داده است یا خیر:
gnome-terminal --version
اگر در خروجی شماره نسخه قدیمیتر از آخرین نسخه نمایش داده شود، بسته با موفقیت کاهش یافته است و میتوانید طبق معمول به استفاده از آن ادامه دهید.
Downgrade Packages در Arch Linux
در آرچ لینوکس، میتوانید با استفاده از حافظه پنهان Pacman به نسخه قدیمیتری از بستهای که قبلاً نصب شده است بروید. کش بسته یک دایرکتوری در یک سیستم مبتنی بر Arch است که هر بسته ای را که دانلود می کنید در دستگاه خود ذخیره می کند. بسته ها از کش بسته حذف نمی شوند مگر اینکه مشخص شده باشد.
پاک کردن کش بسته راه خوبی برای آزاد کردن مقداری فضا در دسکتاپ لینوکس است.
برای انجام این کار، فایل بسته کش ذخیره شده در پوشه /var/cache/pacman/pkg را جستجو کنید. سپس از دستور pacman برای نصب نسخه قدیمی بسته به صورت زیر استفاده کنید:
sudo pacman -U /var/cache/pacman/pkg/packagename-old.tar.zst
پایین آوردن بستهها از حافظه نهان بهترین گزینه نیست، زیرا به جستجوی زیادی در انتهای شما نیاز دارد. برای آسانتر کردن کار، میتوانید از دستور find برای انجام جستجو استفاده کنید.
یک انتخاب حتی بهتر استفاده از ابزار کاهش رتبه است. به طور پیش فرض در Arch Linux در دسترس نیست و باید آن را از AUR دانلود کنید.
yay -S downgrade
برای تنزل دادن یک بسته در توزیعهای مبتنی بر Arch با استفاده از downgrade، دستور زیر را صادر کنید:
sudo downgrade package
خروجی:
خروجی تمام نسخههای بسته موجود برای نصب را فهرست میکند. برای ادامه نصب بسته قدیمی، از بین گزینه ها انتخاب کنید و شماره مربوط به نسخه بسته را وارد کنید.
در فدورا و RHEL
در توزیعهای لینوکس مبتنی بر RPM مانند Fedora، CentOS، و Red Hat Enterprise Linux، یک ویژگی داخلی در مدیریت بسته YUM وجود دارد که به کاربران اجازه میدهد بستهها را کاهش دهند.
برای پایین آوردن یک بسته با استفاده از YUM، به سادگی اجرا کنید:
sudo yum downgrade packagename
به عنوان مثال، برای کاهش رتبه بسته مرورگر فایرفاکس:
sudo yum downgrade firefox
خروجی:
دستور فوق به آخرین نسخه قبلی بسته تغییر می کند.
برای تنزل دادن یک بسته به یک نسخه خاص، ابتدا باید شماره نسخه دقیق را بدانید. برای این کار، می توانید به وب سایت فدورا کوجی بروید و بسته را جستجو کنید. تمام نسخه های موجود بسته را فهرست می کند.
همه نسخههای یک بسته ممکن است در مخازن رسمی موجود نباشند. در چنین مواقعی می توانید بسته RPM را از فدورا کوجی وب دانلود کرده و با استفاده از دستور rpm آن را به صورت دستی نصب کنید.
به سادگی نام بسته کامل را یادداشت کرده و آن را در دستور downgrade به صورت زیر مشخص کنید:
sudo yum downgrade pkgnamewithversion
برای پایین آوردن چندین بسته در یک دستور، به سادگی نام بسته ها را با فاصله از هم جدا کنید:
sudo yum downgrade package1 package2 package3
حفظ ثبات در دسکتاپ لینوکس
مانند ویندوز و سایر سیستم عامل ها، بسته های لینوکس دارای اشکالاتی هستند که در صورت عدم مراقبت حتی می توانند سیستم شما را خراب کنند. با این حال، به لطف جامعه منبع باز مفیدی که این بسته های شکسته را آزمایش می کند و اشکالات را به توسعه دهندگان گزارش می دهد، چنین مسائلی به سرعت حل می شوند.
اگر قصد نصب یک سیستم عامل پایدار را ندارید، می توانید Arch Linux و سایر توزیع های مبتنی بر Arch را از لیست حذف کنید. اینها عمدتاً توزیعهای بینظیر هستند و به محض انتشار آخرین نسخه، بهروزرسانیها را برای بستهها ارائه میکنند.
اگر میخواهید تجربه دسکتاپ پایدارتری با لینوکس داشته باشید، توزیعهایی را که نسخههای LTS مانند Ubuntu، Debian، Linux Mint یا openSUSE Leap را ارائه میدهند، در نظر بگیرید.