Mam pakiet w Debianie, który został ręcznie załatany (nie jest to idealne, wiem), który muszę przechowywać w jego bieżącej wersji, aby aktualizacje nie zastępowały poprawionych zmian (ręcznie sprawdzę i zastosuję aktualizacje zabezpieczeń). Jak rozumiem, istnieje kilka sposobów podejścia do tego:
- apt-pinning (patrz
apt_preferences(5)
) aptitude hold
dpkg --set-selections
- ustawienie z
dselect
?
Przeczytałem, że jedno wstrzymanie nie wpłynie na inne (więc na przykład użycie aptitude hold
nie uniemożliwi apt-get
ani nie dselect
zaktualizuje pakietu). Co należy zrobić, aby w 100% upewnić się, że narzędzia Debiana nigdy nie zaktualizują pakietu, dopóki nie usunę blokady?
Odpowiedzi:
aptitude
idpkg
mają osobne funkcje wstrzymania, które nie będą się szanować, niestety. Więc musisz ustawić oba, jeśli używasz obu narzędzi:apt / dpkg:
echo $PACKETNAME hold | dpkg --set-selections
uzdolnienie:
aptitude hold $PACKETNAME
źródło
apt-mark hold
co według help.ubuntu.com/community/… robi to samo codpkg --set-selections
.Lepszym podejściem w tym konkretnym przypadku (poprawiony pakiet) może być zainstalowanie poprawionej wersji w
/usr/local
. Debian tego nie dotknie.źródło
O ile mi wiadomo,
aptitude hold <package>
będą honorowani przez innych, chyba że wyraźnie zamówisz aktualizację (np. Wciśnięcie +, gdy kursor znajduje się w polu „pakietów do aktualizacji” w aptitude).źródło