Z powodu błędu # 693758 chciałbym uniemożliwić apt-get upgrade
i zaktualizować pakiet „libgtk2.0-0” przez Menedżera aktualizacji.
Jak można to osiągnąć?
Z powodu błędu # 693758 chciałbym uniemożliwić apt-get upgrade
i zaktualizować pakiet „libgtk2.0-0” przez Menedżera aktualizacji.
Jak można to osiągnąć?
disable packages from the auto-update
Odpowiedzi:
Trzymać
Istnieją cztery sposoby powstrzymywania pakietów: z dpkg, apt, aptitude lub dselect.
dpkg
Zawieś paczkę:
Usuń blokadę:
Wyświetl status swoich paczek:
Wyświetl status pojedynczej paczki:
trafny
Trzymaj paczkę:
Usuń blokadę:
Pokaż wszystkie wstrzymane pakiety:
dselect
Za pomocą dselect przejdź do ekranu wyboru [S] elect, znajdź pakiet, który chcesz zatrzymać w jego obecnym stanie, i naciśnij =lub H. Zmiany zaczną obowiązywać natychmiast po wyjściu z ekranu [S] elekt.
Następujące podejścia są ograniczone w tym, że blokowanie / trzymanie pakietu w aptitude lub synaptic nie wpływa na apt-get / apt.
uzdolnienie
Trzymaj paczkę:
Usuń blokadę:
Blokowanie za pomocą Menedżera pakietów Synaptic
Przejdź do Menedżera pakietów Synaptic (System> Administracja> Menedżer pakietów Synaptic).
Kliknij przycisk wyszukiwania i wpisz nazwę pakietu.
Po znalezieniu pakietu wybierz go i przejdź do menu Pakiet i wybierz opcję Zablokuj wersję .
Ten pakiet nie będzie teraz wyświetlany w menedżerze aktualizacji i nie będzie aktualizowany.
źródło
devscripts
wiele pakietów jest pobieranych jako zalecane pakiety. Ponieważ nie potrzebuję serwera pocztowego (postfiks), mógłbym wyłączyć jego instalację, uruchamiającecho postfix hold | sudo dpkg --set-selections
przed uruchomieniemsudo apt-get install devscripts
. Ta akcja wstrzymania trwa tylko dla tej instalacji, po instalacji opcje są resetowane.apt-mark
nie obsługujehold
w wersji 0.7.25 (Ubuntu Lucid)apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
.Aby zawiesić pakiet „foo”:
W twoim przypadku wstrzymamy wino:
Aby usunąć blokadę:
źródło
apt-get install wine=1.2.3
. Wstrzymanie uniemożliwiaapt-get (dist-)upgrade
zmianę tego./var/cache/apt/archives
) jest niezależna od wstrzymań, aktualizacji i innych rzeczy, więc wszystkie pobrane wersje będą tam, dopóki nie uruchomiszapt-get [auto]clean
Szukałem tego samego i po wielu badaniach odkryłem, że używając następującej składni możesz zabronić jednej konkretnej wersji, ale zezwolić na następną aktualizację:
To idzie do pliku / etc / apt / preferences.
źródło
Zainstaluj
synaptic
za pomocąsudo apt-get install synaptic
.Uruchom za pomocą
gksudo synaptic
iw polu wyszukiwania zlokalizuj pakiet, który chcesz zablokować, tj .:gedit
Z menu pakietu wybierz Wersja blokady :
I to wszystko, wersja aktualnie zainstalowana w momencie blokady pozostanie zainstalowana nawet podczas aktualizacji.
źródło
Zapobieganie instalowaniu pakietu nazywa się „wstrzymywaniem pakietu” i jest bardzo proste:
... gdzie * nazwa_pakietu * to nazwa pakietu, którego instalacji chcesz zabronić.
Uwaga: powyższe polecenie zakłada uprawnienia roota. Innymi słowy, prawdopodobnie będziesz musiał wpisać
sudo su
przed uruchomieniem.źródło
s/sudo su/sudo -s/g
(lubsudo -i
). (-i
da powłokę logowania,-s
nie będzie).Ponieważ jakiś czas
apt-get
został zastąpiony przezapt
, więc na przykład chcę zapobiec aktualizacji Firefoksa do wersji powyżej 56, ponieważ wiele dodatków, takich jak „Grupy kart ” , nie działa już z nowym Firefoksem 57 (patrz „Rozszerzenia Web” Aktualizacja").Możliwe jest przechowywanie więcej niż jednego pakietu za pomocą jednego polecenia i używanie symboli wieloznacznych.
Zapobiegaj aktualizacji Firefoksa
Jeśli zechcesz je później zatrzymać, będzie to polecenie:
źródło
Synaptic możesz zamrozić wersję konkretnego pakietu. Nie jestem w 100% pewien, czy to poprawi apt-get, ale na pewno zatrzyma menedżera aktualizacji.
Aby zamrozić pakiet, wybierz go w synaptic, a następnie otwórz menu pakietu i wybierz opcję zamrożenia.
Mam nadzieję że to pomoże
edytuj: To pytanie 16668 dotyczy podobnej sytuacji
źródło
Wszystko, co kiedykolwiek chciałeś wiedzieć o „trzymaniu” i „przypinaniu” pakietów do określonych wersji: https://help.ubuntu.com/community/PinningHowto
źródło
Zobacz błędy # 75332 , # 158981 i # 72806 .
Podsumowując, wstrzymanie na poziomie apt-get / aptitude nie wyzwala statusu wstrzymania w dpkg (szczególnie błąd 72806), a menedżer aktualizacji odczytuje status z dpkg.
obejście jest uruchamiane jako root:
echo "package hold" | dpkg --set-selections
źródło
Możesz użyć na aptitude „specyficznego przesłonięcia”, takiego jak to:
Jest to jednorazowe użycie (nieprzechowywane do przyszłej ponownej instalacji), zachowaj określone zastąpienie, aby ponownie zainstalować wszystkie pakiety w systemie, ale nie oracle-java8-jre.
Jeśli użyjesz przesłonięcia specyficznego dla keep, pakiet na chwilę będzie w stanie keep, a aptitude nie spróbuje go zainstalować.
Bardzo dobrze, jeśli uważasz, że twój system został w jakiś sposób skompromitowany.
źródło
Jeśli masz zainstalowany Synaptic, możesz wybrać pakiet i użyć menu Pakiet -> Zablokuj wersję, aby zapobiec jego aktualizacji.
Możesz zainstalować Synaptic za pomocą sudo apt-get install synaptic. Osobiście uważam to za bardziej przydatne niż Software Center ... z drugiej strony jestem dość starą szkołą. :)
źródło
Czasami ktoś może chcieć powstrzymać wszystkie aktualnie zainstalowane pakiety. Oto jak.
Najpierw zapisz bieżący stan, aby móc cofnąć:
Następnie, aby powstrzymać wszystkie paczki:
Wreszcie, gdy chcesz przywrócić poprzedni stan:
Jednym z takich przypadków może być tworzenie migawki maszyny wirtualnej lub Amazon AMI w celu migracji z kontroli jakości do środowiska produkcyjnego.
źródło
Dodanie szczegółów do komentarzy @ soger dotyczących Ubuntu 16.04.
Ubuntu 16.04 domyślnie nie ma pliku / etc / apt / preferencji. Jeśli go nie masz, po prostu utwórz nowy plik i wypełnij go sekcją, jak opisano powyżej @ soger, aby wykluczyć dany pakiet i jego zależności z aktualizacji.
Następnie biegnij
apt update
i jesteś GTG. : 0)Na przykład mam serwer Ubuntu 16.04.5 LTS z wbudowaną kartą wideo Intel i kartą NVidia. Użyto tylko karty NVidia. Serwer używa również sterowników CUDA. Miałem problem, w którym
apt
ciągle nalegałem(Sterowniki Intel) wymagały aktualizacji, ale nie można było ustalić, którą wersję zainstalować. To doprowadzało mnie do szału, a i tak nie potrzebowałem sterowników Intela. Wpisałem ten tekst do pliku preferencji i opróżniłem apt, problem rozwiązany.
źródło