Strona główna
» LINUX
»
Jak bezpiecznie obniżyć wersję oprogramowania w systemie Ubuntu
Jak bezpiecznie obniżyć wersję oprogramowania w systemie Ubuntu
Możesz obniżyć wersję pakietu zarządzanego przez APT w systemie Ubuntu, instalując określoną starszą wersję, która jest nadal dostępna w jednym ze skonfigurowanych repozytoriów. Sprawdź listę wersji, wyświetl podgląd zmian zależności, a następnie potwierdź dokładną wersję. Ta metoda dotyczy .debpakietów zarządzanych przez APT; aplikacje Snap i Flatpak korzystają z różnych metod wycofywania.
Potwierdź sposób instalacji aplikacji
Nazwa aplikacji i nazwa jej pakietu APT mogą się różnić. Jeśli znasz część nazwy pakietu, wymień pasujące pakiety Debiana za pomocą dpkg-query:
Zastąp KEYWORDcharakterystyczną częścią nazwy. Jeśli aplikacja pojawia się w snap listlub flatpak list --appzamiast, nie używaj poniższych poleceń APT.
Obniżanie wersji pakietu APT z poziomu terminala
Odśwież indeks pakietów i sprawdź wersje. Zastąp PACKAGEnazwą pakietu:
sudo apt update
apt-cache policy PACKAGE
Użyj tabeli wersji i etykiet źródłowych, aby potwierdzić, czy w skonfigurowanym repozytorium dostępna jest starsza wersja.
Przeczytaj pola Installed, Candidate, i Version table. Skopiuj dokładnie cały ciąg starszej wersji, łącznie z epoką, myślnikiem i sufiksem rewizji. Sprawdź źródło wymienione obok; użyj repozytorium przeznaczonego dla Twojej wersji Ubuntu. Wersja zarejestrowana tylko pod tym kodem /var/lib/dpkg/statusjest znana jako zainstalowana, ale to nie oznacza, że APT może ją teraz pobrać. Podręcznik apt-cache opisuje wersję i informacje o polityce, które są wyświetlane.
Podejrzyj obniżenie wersji. Użyj dokładnej wersji z wyników polityki:
sudo apt-get -s install PACKAGE=VERSION
Symulacja umożliwia przeglądanie zmian w pakietach przed zainstalowaniem czegokolwiek przez APT.
Ta -sopcja symuluje transakcję. Przeczytaj całą proponowaną zmianę, w tym pakiety do obniżenia wersji lub usunięcia. Anuluj, jeśli APT zaproponuje usunięcie niezbędnego oprogramowania, zmianę niepowiązanych pakietów lub pobranie zależności z innej wersji Ubuntu. Podręcznik APT apt-get dokumentuje symulację i instalacje w dokładnej wersji.
Zainstaluj wybraną wersję. Jeśli podgląd jest akceptowalny, uruchom:
sudo apt install PACKAGE=VERSION
Kontynuuj dopiero wtedy, gdy podsumowanie potwierdzenia APT będzie zgodne z symulacją.
Przejrzyj końcowe podsumowanie potwierdzenia APT i zatwierdź je tylko wtedy, gdy jest zgodne z planem. Pomiń -y, aby móc zatrzymać się na monicie, jeśli lista pakietów uległa zmianie. Nie dodawaj tego --allow-downgradesjako rutynowej poprawki; zmienia ona sposób, w jaki APT obsługuje potwierdzenia obniżenia wersji i jest przeznaczona do szczególnych przypadków.
Po zakończeniu transakcji sprawdź zainstalowaną wersję pakietu.
Porównaj wynik z wybraną wersją, a następnie ponownie otwórz aplikację i sprawdź, czy problem został rozwiązany. Najpierw zapisz ważne zmiany: obniżenie wersji plików programu nie zawsze powoduje przywrócenie dokumentów, baz danych czy ustawień, które zostały już zmienione w nowszej wersji.
Zamiast tego użyj Synaptic
Synaptic to graficzny interfejs użytkownika dla APT, dostępny w archiwum pakietów Ubuntu, choć może nie być domyślnie zainstalowany. Zainstaluj go za pomocą sudo apt install synaptic, otwórz i kliknij Odśwież , aby odświeżyć listę pakietów. Instalacja Synaptic jest opisana na stronie pomocy Ubuntu .
Wyszukaj pakiet i wybierz wiersz zainstalowanego pakietu.
Wybierz pakiet APT, który chcesz przywrócić. Dostępne wersje zależą od włączonych repozytoriów.
Otwórz Pakiet i wybierz Wymuś wersję .
Otwórz pakiet i wybierz opcję Wymuś wersję dla wybranego pakietu.
Wybierz starszą wersję w oknie dialogowym i wybierz opcję „Wymuś wersję” . Synaptic może wybierać tylko wersje dostępne w źródłach pakietów, o których APT obecnie wie; wyświetlane nazwy pakietów i numery wersji różnią się w zależności od systemu.
Wybierz starszą wersję tylko wtedy, gdy jest ona wymieniona w skonfigurowanych źródłach pakietów.
Kliknij Zastosuj , sprawdź oczekujące zmiany i kontynuuj tylko wtedy, gdy podsumowanie pokazuje zamierzone obniżenie wersji i nie zawiera żadnych nieoczekiwanych usunięć.
Przed zastosowaniem zapoznaj się z podsumowaniem obniżenia wersji i wszelkimi zmianami w pakiecie.
Nie dopuść do natychmiastowej aktualizacji pakietu
Jeśli potrzebujesz czasu na przetestowanie starszej wersji, możesz tymczasowo wstrzymać pakiet:
sudo apt-mark hold PACKAGE
apt-mark showhold
Wstrzymanie uniemożliwia wykonywanie normalnych automatycznych działań dla danego pakietu. Oznacza to również, że aktualizacje zabezpieczeń i poprawki błędów nie zostaną zastosowane, dopóki wstrzymanie będzie obowiązywać. Usuń je, gdy będziesz gotowy do aktualizacji:
sudo apt-mark unhold PACKAGE
Informacje na temat zachowania funkcji hold i unhold (przytrzymaj i wznów) znajdziesz w podręczniku apt-mark .
Jeśli brakuje starszej wersji lub chcesz cofnąć obniżenie wersji
APT pobiera wersje do pobrania z włączonych źródeł pakietów; jego lokalna pamięć podręczna pobierania jest oddzielna i można ją wyczyścić. Jeśli wersja docelowa nie znajduje się w tabeli wersji, APT nie może jej pobrać z aktualnie skonfigurowanych źródeł. Unikaj dodawania repozytorium dla innej wersji Ubuntu tylko po to, aby uzyskać jeden stary pakiet, ponieważ jego zależności mogą nie pasować do Twojego systemu.
Aby przywrócić pakiet APT do aktualnego kandydata, najpierw usuń wszelkie wstrzymania, odśwież indeks pakietu, apt-cache policy PACKAGEponownie przeprowadź inspekcję, a następnie uruchom sudo apt install PACKAGEi przejrzyj proponowaną wersję przed potwierdzeniem. W przypadku aplikacji Snap osobne polecenie sudo snap revert SNAP_NAMEpróbuje przywrócić jej poprzednią wersję; patrz oficjalna dokumentacja aktualizacji i przywracania Snap . Przywrócenie Snap wpływa również na dane konfiguracyjne specyficzne dla danej wersji, dlatego najpierw należy wykonać kopię zapasową ważnych danych aplikacji.