Załóżmy, że korzystasz z serwera i nie chcesz uaktualniać do wersji Testing (Squeeze) ze Stable (Lenny), aby po prostu zainstalować wymagany pakiet lub dwa.
Jaki jest najlepszy sposób instalowania tylko niektórych pakietów z Testowania?
linux
debian
package-management
aptitude
Gareth
źródło
źródło
Odpowiedzi:
Wydaje się, że wiele osób obawia się mieszania stabilnego z testowaniem, ale szczerze mówiąc, testowanie jest samo w sobie dość stabilne, a przy odpowiednich preferencjach i sprawdzaniu rozwiązań można uniknąć „dryfu stabilności”, który stawia swoje podstawowe pakiety na niestabilnej ścieżce.
„Testowanie jest dość stabilne?” , ty pytasz. Tak. Aby pakiet mógł przejść z niestabilnego na testowy, musi mieć zero otwartych błędów przez 10 kolejnych dni. Są szanse, że szczególnie w przypadku bardziej popularnych pakietów ktoś prześle raport o błędzie dotyczący niestabilnej wersji, jeśli coś jest nie tak.
Nawet jeśli nie chcesz mieszać środowisk, fajnie jest mieć taką opcję na wypadek, gdybyś natknął się na coś, co wymaga nowszej wersji niż stabilna.
Oto, co zalecam do skonfigurowania tego:
Najpierw utwórz następujące pliki w
/etc/apt/preferences.d
:stable.pref
:testing.pref
:unstable.pref
:experimental.pref
:(Nie bój się niestabilnych / eksperymentalnych rzeczy tutaj. Priorytety są na tyle niskie, że nigdy nie będzie automatycznie instalować żadnych z tych rzeczy. Nawet gałąź testowa zachowa się, ponieważ będzie tylko instalować pakiety, które chcesz być w testach).
Teraz tworzymy pasujący zestaw dla
/etc/apt/sources.list.d
:stable.list
: Skopiuj z oryginału/etc/apt/sources.list
. Zmień nazwę starego pliku na coś podobnegosources.list.orig
.testing.list
: Tak samo jakstable.list
z wyjątkiemtesting
.unstable.list
: Tak samo jakstable.list
z wyjątkiemunstable
i usuń listy zabezpieczeń.experimental.list
: Tak samo jakunstable.list
z wyjątkiemexperimental
.Możesz także dodać znak
oldstable
insources.lists.d
ipreferences.d
(użyj priorytetu 1), chociaż ten przydomek będzie miał tendencję do wygasania i znikania przed następnym stabilnym cyklem. W takich przypadkach możesz użyćhttp://archive.debian.org/debian/
i „zakodować na stałe” wersję Debiana (etch, lenny itp.).Aby zainstalować testową wersję pakietu, po prostu użyj
aptitude install lib-foobar-package/testing
lub po prostu wskocz do GUI aptitude i wybierz wersję wewnątrz szczegółów pakietu (naciśnij enter na pakiecie, na który patrzysz).Jeśli otrzymujesz skargi na konflikty pakietów, najpierw sprawdź rozwiązania. W większości przypadków pierwszym będzie „nie instaluj tej wersji”. Naucz się korzystać z opcji resolvera akceptowania / odrzucania dla pakietu. Na przykład, jeśli instalujesz pakiet / testowanie foobar, a pierwszym rozwiązaniem jest „nie instaluj pakietu / testowanie foobar”, zaznacz ten wybór jako odrzucony, a inne rozwiązania nigdy nie zmienią tej ścieżki. W takich przypadkach prawdopodobnie będziesz musiał zainstalować kilka innych pakietów testowych.
Jeśli robi się zbyt włochaty (na przykład próbuje zaktualizować libc, jądro lub inny ogromny system rdzenia), możesz albo odrzucić te ścieżki aktualizacji, albo po prostu całkowicie zrezygnować z początkowej aktualizacji. Pamiętaj, że zaktualizuje rzeczy do testowania / niestabilności tylko, jeśli na to pozwolisz.
EDYCJA: Naprawiono niektóre piny priorytetowe i zaktualizowałem listę.
źródło
apt-get update
po utworzeniu plików konfiguracyjnych?sudo apt-get update
wystąpił błąd aktualizacji. Następnie uruchomiłem ponownie, co dało miXsession error
, uruchomiłem ponownie, a teraz nie mam GUI./dev/sda1/
jest teraz pełna. Wspaniały.W
/etc/apt/apt.conf.d
dodać następujący plik99defaultrelease
:in
/etc/apt/sources.list.d
- dodaj adresy URL do testowania / niestabilnych źródełstable.list
:testing.list
:biegać
a następnie zainstaluj to, czego potrzebujesz
Bądź bardzo bardzo ostrożny, jeśli instalujesz rzeczy, które mają wiele zależności. Najlepiej nie rób tego podczas produkcji.
Możesz także spróbować szczęścia w backportach lub podobnym repozytorium.
źródło
apt_preferences
Zdefiniuj domyślny poziom, na który system powinien dokonać „bezpiecznej aktualizacji” do pliku / etc / apt / preferences:
man apt_preferences
Z apt_preferences możesz wiele zrobić, ale dla uproszczenia ...
Musiałem zainstalować pojedynczy pakiet (autoMysqlBackup), który był dostępny tylko podczas testowania. Rozwiązaniem było dodanie następujących opcji do / etc / apt / preferences:
Po dodaniu wielu repozytoriów do pliku /etc/apt/sources.list aptitude będzie teraz aktualizować tylko do określonej wersji, nawet jeśli repozytoria późniejszych wersji są wymienione (w tym przypadku „stabilne”).
Aby zainstalować ten pakiet, wystarczy:
źródło
Jeśli chodzi o wartość, ogólna rada, którą zawsze widziałem, to „Nie mieszaj stabilnego z niczym”. Większość samouczków dotyczących systemów mieszanych służy do testowania mieszania i jest niestabilna.
Przyczyną wydaje się być to, że jeśli zmieszasz stabilne z testowaniem, bardzo podstawowe pakiety (takie jak libc6) będą wymagały aktualizacji (w celu zainstalowania oprogramowania z testowania), a gdy te podstawowe pakiety przejdą do testowania, cały system może dryfować w ten sposób.
Oto dwie alternatywy:
źródło
Dokumentacja debiana jest obszerna na ten temat i zdecydowanie radzę się zagłębiać, ponieważ naprawdę odkryje ona piękno systemu debian.
Zobacz, jak zachować mieszany system , objaśni wszystko, czego potrzebujesz.
źródło
Innym sposobem, który może zapobiec instalacji zbyt wielu zależności od Testowania lub Sida, jest to: powiesz apt-get, aby pozyskał źródło pakietu z Testowania lub Sida i utworzyłeś pakiet dla swojego systemu za pomocą narzędzi Debiana (nie musisz ręcznie majstrować ze źródłami).
Cytowanie stąd:
https://wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F
źródło
Robię to od dłuższego czasu, aby mieć pewność, że jest wystarczająco bezpieczny i wygodny. Przy poniższej konfiguracji stabilna wersja zostanie zainstalowana domyślnie, jednak Aptitude pozwoli również wybrać wersję zsynchronizowaną lub niestabilną, jeśli to pożądane:
Są cztery rzeczy, które należy edytować, należy ustawić domyślną wersję przypinania, źródła wymagają backportów i dodać niestabilne, obniżając priorytet przypinania backportów / niestabilnych pakietów, a ustawienia wyświetlania aptitude należy zmodyfikować, aby wyświetlać przypinanie.
etc/apt/preferences
plik przypinania - jeśli plik nie istnieje, utwórz go.źródło
source.list
nim powinno się podać nazwę kodowąjessie
zamiastsqueeze
. Polityka Debianatesting
jest prawie stabilna, a pakiety są prawie tak nowe, jak zunstable
repozytorium. Brakuje mi tutaj miejsca, więc proszę spojrzeć na: wiki.debian.org/DebianReleases , wiki.debian.org/StableUpdates i wiki.debian.org/StableProposedUpdates ; dwa ostatnie to dodatkowe źródła repozytorium.Jeśli twój wybór pakietów jest bardziej zaangażowany lub instalacja zostanie powtórzona na wielu komputerach, możesz rozważyć utworzenie prywatnego repozytorium, które będzie odzwierciedlać podzbiór oficjalnych repozytoriów. Wymaga to trochę pracy, aby skonfigurować repozytorium, ale nagroda jest łatwa do utrzymania przy minimalnym poziomie konfiguracji na każdym kliencie i powtarzalnych wynikach podczas wykonywania dziesiątek instalacji. Uważam to za pomocne, nawet gdy instalowany jest tylko jeden lub dwa pakiety, i używam tej metody do automatyzacji i obsługi instalacji w chmurze. Pojedynczy serwer na taniej VPS może obsłużyć dziesiątki prywatnych repozytoriów.
Aby skonfigurować serwer prywatnego repozytorium:
Następnie skonfiguruj wybrany serwer WWW, aby obsługiwał pliki repozytorium statycznego. Prawdopodobnie chroń repozytorium za pomocą certyfikatu bezpieczeństwa i podstawowego uwierzytelnienia.
Aby automatycznie zarządzać prywatnym repozytorium i pobierać aktualizacje z góry, umieść powyższe w skrypcie i uruchom z zadania cron.
Aby skonfigurować komputer kliencki, na komputerze klienckim:
Aby utrzymywać komputer kliencki i pobierać wszystkie aktualizacje prywatnego repozytorium, na komputerze klienckim:
źródło
Inną opcją jest pobranie pakietu testowego zamiast tego. APT może automatycznie skompilować pakiet źródłowy po pobraniu. W ten sposób testowanie aktualizacji nie wpłynie na twoje stabilne pakiety. Jedynym kompromisem jest to, że zajmie to więcej czasu niż samo pobranie i instalacja pakietu binarnego.
Aby skonfigurować APT do pobierania pakietów źródłowych z testów, wystarczy dodać:
Jeśli chcesz tylko śledzić bieżące testy, a nie przyszłe testy, zastąp „testowanie” bieżącym kryptonimem (od tego momentu jest to „buster”)
źródło