گاهی اوقات با آپدیت کردن یک اپلیکیشن نصب شده در لینوکس Ubuntu، متوجه میشویم که نسخهی جدید باگ خاصی دارد و درست اجرا نمیشود یا بخشی از نرمافزار درست کار نمیکند. در این صورت میتوان به سادگی به نسخهی قبلی دانگرید کرد. پس از مدتی با انتشار نسخههای جدیدتر، احتمالاً مشکل رفع میشود اما تا آن زمان، میبایست از نسخههای پایدار یا Stable قبلی استفاده کرد.
در این مقاله به روش بازگشت به نسخهی قبلی یا به زبان دیگر، downgrade کردن نرمافزارها در لینوکس اوبونتو میپردازیم.
چند روش برای بازگردانی نسخهی قبلی نرمافزارها در لینوکس اوبونتو وجود دارد. در این مقاله با دو روش استفاده از ترمینال و دستور apt-cache و استفاده از اپلیکیشن Synaptic package manager آشنا میشویم.
دانگرید کردن به نسخهی قبلی برنامهها در اوبونتو با دستور apt-cache
در لینوکس اوبونتو برای مدیریت پکیجهای نرمافزارها، از Apt و Apt-get استفاده میشود. این دو فرمان حین بروزرسانی یا نصب اپلیکیشنها، پکیج یا بستهی نرمافزار را در بخشی از حافظه که به آن Apt-cache گفته میشود و در واقع کش این ابزارها است، ذخیره میکنند. لذا اگر اپلیکیشنی را چند بار آپدیت کرده باشید، چند نسخه از آن در کش موجود است و البته این نسخهها قابلیت بازگردانی دارد.
به عنوان مثال اگر ۶ ماه پیش اپلیکیشن Wine نسخهی 3.6 را نصب کرده باشید و اخیراً به نسخهی ۴ بروزرسانی کرده باشید، نسخهی ۳.۶ در حافظهی کامپیوتر شما موجود است و میتوانید آن را مجدداً فعال و استفاده کنید.
توجه کنید که Apt-cache همیشه حاوی نسخههای قبلی اپها نیست چرا که ممکن است شما یا کاربری دیگر که از کامپیوتر شما استفاده میکند، کش را پاکسازی کرده باشد! لذا اگر فرمان apt clean اجرا شده باشد، این روش دانگرید مناسب نیست.
اما روش کار: ابتدا باید اپلیکیشن Terminal لینوکس را اجرا کنید.
برای اجرا کردن ترمینال در Ubuntu، کلید میانبر Ctrl + Alt + T یا Ctrl + Shift + T را فشار بدهید.
حال برای جستجو کردن اپلیکیشن در کش، از دستور apt-cache show استفاده کنید و پس از این دستور، نام نرمافزار را تایپ کنید:
به این ترتیب در محیط ترمینال نتیجهی جستجو که شامل اطلاعاتی مثل نسخهی نرمافزار است، نمایش داده میشود. به عنوان مثال اگر مرورگر Firefox 65 در حال حاضر روی اوبونتو نصب شده باشد و به نسخههای قبلی نصب شده نیاز داشته باشید، خروجی دستور جستجو چیزی شبیه به تصویر زیر خواهد بود. به آنچه روبروی Version ذکر شده توجه کنید:
همانطور که میبینید در مثال ما نسخهی ۵۹ فایرفاکس در کش موجود است.
پس از یافتن یکی از نسخههای قبلی در Apt-cache، میتوانید آن را با فرمان apt نصب کنید. البته دقت کنید که باید نسخهی اپلیکیشن را دقیق و درست شبیه به چیزی که با سرچ پیدا کردهاید، تایپ کنید. لذا در دستور زیر به جای packagename، نام اپلیکیشن و به جای version، نسخهی آن را به دقت وارد کنید:
با فشار دادن کلید Enter و سپس زدن کلید Y برای تأیید نصب، نسخهی قبلی نصب شده و آمادهی استفاده میشود.
دیگر روشهای تشخیص نسخهی اپلیکیشنها در اوبونتو
روشی که پیشتر برای یافتن نسخههای قبلی اپها در اوبونتو ذکر شد، کاملاً قابل اعتماد است اما دستورات دیگری نیز برای این کار موجود است. به عنوان مثال میتوانید از فرمان apt-cache و آپشن policy استفاده کنید. پس از این دستور، نام اپلیکیشن موردنظر را وارد کنید. لذا با جایگزین کردن packagename در دستور زیر و فشار دادن کلید Enter ، تمام نسخههای یک اپلیکیشن که در کش موجود است، لیست میشود:
و برای نصب کردن نسخهی موردنظر، مثل روش قبلی میتوانید از فرمان apt install استفاده کنید و به دنبال آن نام اپ و نسخه را به دقت وارد کنید. sudo در فرمان زیر برای اجرا کردن دستور با دسترسی ادمین اضافه شده است:
نصب نسخهی قبلی نرمافزارها در اوبونتو با Synaptic Package Manager
ابزار مدیریتی پکیجهای نرمافزار Synaptic قبلاً یکی از اپلیکیشنهای اصلی لینوکس اوبونتو بوده اما اکنون این برنامه به صورت پیشفرض نصب نیست. لذا برای استفاده از آن، ابتدا باید آن را دانلود و نصب کنید. برای نصب کردن این نرمافزار، فرمان زیر را در ترمینال لینوکس اوبونتو اجرا کنید:
پس از نصب کردن Synaptic، منوی اپلیکیشنها را باز کنید و نام این نرمافزار را جستجو کنید و آن را اجرا کنید. در شروع استفاده از این اپلیکیشن، پسورد سوال میشود. گام بعدی این است که روی دکمهی جستجو کلیک کنید و سپس نام نرمافزار موردنظر را وارد کرده و روی Search کلیک کنید.
در نتایج سرچ، روی اپلیکیشن موردنظر کلیک کنید تا صفحهی مربوط به نرمافزار و نسخههای مختلف آن باز شود. حال روی گزینهی Package کلیک کنید و سپس Force version را انتخاب کنید که به معنی نصب کردن اجباری یک نسخهی دلخواه است. به این ترتیب منویی برای انتخاب کردن نسخه باز میشود. یکی از نسخهها را انتخاب کرده و روی دکمهی Force Version کلیک کنید.
و در نهایت روی Apply در بالای پنجره کلیک کنید تا دانگرید انجام شود.
لغو دانگرید نرمافزارهای لینوکس Ubuntu
اگر پس از دانگرید به نسخهی قبلی، پشیمان شدهاید و میخواهید این عمل را لغو کنید، میتوانید از دستور apt و آپشن update استفاده کنید. لذا ترمینال لینوکس را اجرا کنید و فرمان زیر را وارد کرده و Enter را فشار دهید.
گام بعدی اجرا کردن دستور ارتقا است. با اجرای این دستور، Ubuntu متوجه میشود که نرمافزاری که اخیراً دانگرید شده، بروز نیست و جدیدترین نسخه را به صورت خودکار نصب میکند:
addictivetipsسیارهی آیتی