Як я можу надійно «утримувати» пакет у Debian?


15

У мене в Debian пакет, який був виправлений вручну (не ідеально, я знаю), що я повинен утримувати його поточну версію, щоб оновлення не перезаписали зміни виправлених (я вручну перевіряю і застосовуватиму оновлення безпеки). Як я розумію, існує кілька способів підходу до цього:

  • влучне закріплення (див. apt_preferences(5))
  • aptitude hold
  • dpkg --set-selections
  • встановити його за допомогою dselect?

Я читав, що одне затримка не вплине на інше (так, наприклад, використання aptitude holdне перешкоджає apt-getабо dselectоновити пакет). Що потрібно зробити, щоб на 100% забезпечити, щоб інструменти Debian ніколи не оновлювали пакет, якщо я не зніму затримку?


1
Просто коментар, 9 років тому хтось створив помилку в системі помилок Debian про те, як дійсно може зберігати пакунок, і, схоже, є (або були) деякі проблеми за допомогою утримування можливостей (LINK: bugs.debian.org/cgi-bin/ bugreport.cgi? bug = 146207 )
Luciano Facchinelli

1
Щоб хтось був я. :-). Все ще відкрита помилка, хоча люди, які нещодавно відродили придатність, сказали, що поглянуть на це.
Faheem Mitha

1
Даніель Хартвіг написав мені: "Був обізнаний з цим питанням із затримками, оскільки я почав працювати над придатністю. На даний момент я не приділив його уважному увазі, тому що я зосередився на тому, щоб працювати на багатьох арках. Це вік і значення залякують. мене трохи. Є також справа, що здатність дещо "інтерпретує" стани dpkg при запуску, щоб визначити, що, якщо такі є, зміни і як вони повинні бути включені до його моделі внутрішнього стану. Будьте впевнені, що цей не залишиться в спокої - - Я завжди пам’ятаю про це, коли переглядаю суміжні області коду ».
Faheem Mitha

1
bugs.debian.org/146207 нібито зафіксовано у версії придатності, завантаженої в нестабільну.
Faheem Mitha

Відповіді:


8

aptitudeі dpkgмають окремі функції утримування, які, на жаль, не поважатимуть один одного. Тож вам доведеться встановити обидва, якщо ви використовуєте обидва інструменти:

apt / dpkg: echo $PACKETNAME hold | dpkg --set-selections

здатність: aptitude hold $PACKETNAME


3
Здається, зараз існує те, apt-mark holdщо, згідно з довідкою help.ubuntu.com/community/… , робить те саме, що і dpkg --set-selections.
andyg0808

3

Кращим підходом у цьому конкретному випадку (виправлений пакунок) може бути встановлення виправленої версії в /usr/local. Debian цього не торкнеться.


0

Наскільки я знаю, інші aptitude hold <package>будуть шановані, якщо ви чітко не накажете її оновити (наприклад, натискання +, поки курсор знаходиться у полі "оновлені пакети" у придатності).


3
Здається, це неправда, дивіться коментарі вище.
jrdioko
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.