چگونه می توان از بروزرسانی یک بسته خاص جلوگیری کرد؟


به جواب پذیرفته شده بروید




به دلیل اشکال # 693758 من می خواهم apt-get upgrade از بروزرسانی بسته "libgtk2.0-0" جلوگیری و به روز کنید.

چگونه می توان به این نتیجه رسید؟


389









13 :تعداد پاسخها


نگه داشتن

چهار روش نگه داشتن بسته ها وجود دارد: با dpkg ، آپتیت ، استعداد یا dselect.

dpkg

بسته را آماده نگه دارید:

 echo "<package-name> hold" | sudo dpkg --set-selections
 

نگه دارید:

 echo "<package-name> install" | sudo dpkg --set-selections
 

نمایش وضعیت بسته های خود:

 dpkg --get-selections
 

نمایش وضعیت یک بسته واحد:

 dpkg --get-selections | grep "<package-name>"
 

مناسب

یک بسته نگه دارید:

 sudo apt-mark hold <package-name>
 

نگه دارید:

 sudo apt-mark unhold <package-name>
 

نمایش همه بسته ها در حالت آماده باش:

 sudo apt-mark showhold
 

انتخاب کردن

با استفاده از dselect ، وارد صفحه انتخاب [S] شوید ، پکیج مورد نظر خود را در حالت فعلی خود پیدا کنید و =یا را فشار دهید H. این تغییرات بلافاصله پس از خروج از صفحه انتخاب [S] انتخاب می شوند.


رویکردهای زیر محدود است که قفل کردن / نگه داشتن بسته ای در استعداد یا سیناپتیک تاثیری در دریافت / آپتیت ندارد.

صلاحیت - استعداد - شایستگی

یک بسته نگه دارید:

 sudo aptitude hold <package-name>
 

نگه دارید:

 sudo aptitude unhold <package-name>
 

قفل با مدیر بسته Synaptic

به مدیر بسته بندی Synaptic بروید (سیستم> مدیریت> مدیر بسته بندی Synaptic).

روی دکمه جستجو کلیک کنید و نام بسته را تایپ کنید.

وقتی بسته را پیدا کردید ، آن را انتخاب کنید و به منوی Package بروید و Lock Version را انتخاب کنید .


منوی سیناپسی

این بسته اکنون در مدیر بروزرسانی نمایش داده نمی شود و به روز نمی شود.


575



برای قرار دادن بسته "foo" در حالت آماده باش:

 echo "foo hold" | dpkg --set-selections
 

در مورد شما ، ما می خواهیم شراب را نگه داریم:

 sudo -i
echo "wine hold" | dpkg --set-selections
 

برای برداشتن نگهدارنده:

 sudo -i
echo "wine install" | dpkg --set-selections
 

44



من به دنبال همان مورد بودم و بعد از تحقیقات زیادی دریافتم که با استفاده از نحو زیر می توانید یک نسخه خاص را ممنوع کنید اما به روزرسانی بعدی اجازه دهید:

بسته بندی: compiz-plugins-main
پین: نسخه 1: 0.9.7.0 ~ bzr19-0ubuntu10.1
پین-اولویت: -1

این به پرونده / etc / apt / preferences می رود.


35



synaptic با استفاده از نصب کنید sudo apt-get install synaptic .

با استفاده از gksudo synaptic و در کادر جستجو ، بسته ای را که می خواهید قفل کنید ، پیدا کنید ، یعنی: gedit


توضیحات تصویر را اینجا وارد کنید

از منوی بسته گزینه Lock version را انتخاب کنید :


توضیحات تصویر را اینجا وارد کنید

و این همه ، نسخه ای که هم اکنون در زمان قفل نصب شده است ، حتی در هنگام بروزرسانی ها نصب می شود.


19



جلوگیری از نصب بسته ، "برگزاری بسته" نامیده می شود و انجام آن بسیار ساده است:

echo pack_name Hold | dpkg --set-selections

... جایی که * pack_name * نام بسته ای است که می خواهید از نصب آن جلوگیری کنید.

توجه: دستور فوق امتیازات اصلی را فرض می کند. به عبارت دیگر ، احتمالاً شما نیاز به تایپ کردن sudo su قبل از اجرای آن دارید.


16



از آنجا که مدتی apt-get جایگزین شده است apt ، بنابراین به عنوان مثال می خواهم از بروزرسانی Firefox به نسخه بالاتر از 56 جلوگیری کنم ، زیرا بسیاری از افزودنی ها ، مانند "گروه های Tab" دیگر با Firefox 57 جدید کار نمی کنند (نگاه کنید به "WebExtensions به روز رسانی").

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

از بروزرسانی Firefox جلوگیری کنید

 sudo apt-mark hold firefox firefox-locale-*
 

اگر می خواهید بعداً آنها را از بین ببرید ، این دستور خواهد بود:

 sudo apt-mark unhold firefox firefox-locale-*
 

7



من سیناپتیک شما می توانید نسخه یک بسته خاص را یخ بزنم. من 100٪ مطمئن نیستم که آیا این به طور موقت تغییر خواهد کرد اما به طور قطع مدیر بروزرسانی را متوقف می کند.

برای فریز کردن یک بسته ، آن را به صورت سیناپتیک انتخاب کرده و سپس منوی بسته را باز کرده و نسخه Freeze را انتخاب کنید.

امیدوارم این کمک کند

ویرایش: این سوال 16668 با یک وضعیت مشابه سروکار دارد


4



همه چیز شما تا به حال می خواهید در مورد بسته های "نگه داشتن" و "پین کردن" نسخه های خاص بدانید: https://help.ubuntu.com/community/PinningHowto


4



اشکالات # 75332 ، # 158981 و # 72806 را مشاهده کنید .

خلاصه این است که نگه داشتن در سطح apt-get / aptitude وضعیت نگه داشتن در dpkg را ایجاد نمی کند (به اشکال 72806 مراجعه کنید) و مدیر-بروزرسانی وضعیت را از dpkg می خواند.

کارگردانی به صورت ریشه انجام می شود: echo "package hold" | dpkg --set-selections


3



می توانید به روش زیر از "نادیده گرفتن خاص" استفاده کنید:

 aptitude reinstall ~i oracle-java8-jre:
 

این فقط یک بار استفاده از (برای نصب مجدد در آینده ذخیره نمی شود) ، برای جلوگیری از نصب مجدد کلیه بسته ها در سیستم ، فقط اوراکل خاص خود را نگه دارید.

در صورت استفاده از نادیده گرفتن خاص ، بسته لحظه به لحظه در حالت نگه داشتن استعداد تلاش نخواهد کرد تا آن را نصب کنید.

اگر فکر می کنید سیستم شما چگونه به خطر افتاده است ، بسیار خوب است.


2



اگر Synaptic را نصب کردید می توانید بسته را انتخاب کرده و از منوی Package -> Lock Version استفاده کنید تا از بروزرسانی آن جلوگیری شود.

شما می توانید Synaptic را با نصب sudo apt-get synaptic نصب کنید. من شخصاً آن را مفیدتر از مرکز نرم افزار می دانم ... پس دوباره ، من نسبتاً قدیمی مدرسه هستم. :)


1



بعضی اوقات ممکن است بخواهید تمام بسته هایی را که در حال حاضر نصب شده اند ، عقب نگه دارد . در اینجا چگونه است.

ابتدا وضعیت فعلی را ذخیره کنید ، بنابراین می توانید خنثیسازی کنید:

 dpkg --get-selections > current_selections.txt
 

سپس ، برای نگه داشتن همه بسته ها:

 dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections
 

سرانجام ، وقتی می خواهید به حالت قبلی برگردید:

 dpkg --set-selections < current_selections.txt
 

یک مورد استفاده برای این ممکن است در هنگام ایجاد یک عکس فوری از VM یا Amazon AMI برای انتقال از یک QA به محیط تولید باشد.


0


2015-01-14

افزودن جزئیات به نظرات @ soger نسبت به اوبونتو 16.04.

اوبونتو 16.04 به طور پیش فرض پرونده موجود / etc / apt / preferences ندارد. اگر در حال حاضر یکی از آنها را ندارید ، فقط یک پرونده جدید ایجاد کنید و آن را با یک stanza جمع کنید همانطور کهsoger در بالا توضیح می دهد تا بسته داده شده و وابستگی های آن از بروزرسانی ها خارج شوید.

پس از آن ، اجرا کنید apt update و شما GTG هستید. : 0)

به عنوان مثال ، من یک سرور Ubuntu 16.04.5 LTS با کارت ویدیوی Intel و کارت NVidia دارم. کارت NVidia تنها مورد استفاده است. این سرور همچنین از درایورهای CUDA استفاده می کند. مشکلی داشتم که apt اصرار داشته باشم

راننده همه

(درایورهای اینتل) به بروزرسانی نیاز داشتند ، اما نمی تواند تعیین کند که کدام نسخه را نصب کند. این مرا آویز می کرد و من به هر حال به رانندگان اینتل احتیاج نداشتم. من این متن را در پرونده تنظیمات وارد کردم و با مشکل حل شدم.

 Package: va-driver-all
Pin: release *
Pin-Priority: -1
 

0



انتشارات مرتبط


چگونه می توان از موارد بسیاری از اجرای مناسب چک جلوگیری کرد؟

چگونه از خاموش شدن یکی از دو باتری جلوگیری کنیم؟

چگونه می توانم هنگام پرتاب (خارج از رم) از عدم پاسخگو بودن سیستم جلوگیری کنم؟

چگونه می توان از نسخه جسورانه "خودکار" فونت گسترده تر از اندازه معمولی با اندازه pt استفاده کرد؟

چگونه می توان از تغییر دادن گذرواژه کاربران به یکی از آخرین رمزهای X جلوگیری کرد؟

چگونه می توان از اضافه کردن اوبونتو در نوشتن بوت لودر grub بعد از بروزرسانی جلوگیری کرد؟

نحوه جلوگیری از پرسیدن رمز عبور شبکه بی سیم در صورت کوتاه بودن دور از محدوده

چگونه می توان از بروزرسانی یک بسته خاص جلوگیری کرد؟

چگونه می توان لیست بسته های قابل نصب را از مخازن تهیه کرد؟

[updates] سوال برچسب


چگونه یک متغیر در bash را افزایش دهیم؟

چه نوع محیط و پوسته دسک تاپ در دسترس است؟

چگونه می توانم از کدام پوسته استفاده کنم؟

چگونه اسکریپتهای .sh را اجرا کنم؟

چگونه می توانم نام رایانه را تغییر دهم؟

چگونه OpenJDK 8 را روی 14.04 LTS نصب کنیم؟

چگونه می توان از پارتیشن بندی دستی هنگام نصب استفاده کرد؟

چگونه فرمان sudo را بدون پسورد اجرا کنیم؟