Czy można by Debiana aktualizować inaczej?
Standardowy proces aktualizacji Debiana to wydanie polecenia aptitude update && aptitude upgrade. Od jakiegoś czasu jednak w dystrybucjach testing i unstable Debian wprowadził zmianę swojego systemu aktualizacji i zamiast ściągac duże pliki (jak np. main/Packages.gz )m ściąga się pliki różnicowe dla danej architektury. Daje to oczywiście oszczędność pasma - jeśli coś się zmieniło, to nie ściągamy całego pliku, ale tylko różnicówkę od ostatniej aktualizacji. Jest oczywiście pewien minus - więcej plików, to dłuższy czas ściągania, ponieważ jest więcej zapisów, kończenia i rozpoczyniana transakcji.
Przy okazji - można aktualizacje różnicowe wyłączyć ustawiając opcje
Acquire::PDiffs “false”;w /etc/apt/apt.conf lub dodając parametr przy uruchomieniu apt-get update -o Acquire::Pdiffs=false.
Podczas rozmowy z Adrianem zastanawialiśmy się, czy dałoby się zmienić jakoś także sposób aktualizacji samych pakietów. Po co za każdym razem przesyłać całe archiwum z nowym pakietem, powielającym wiele plików, które nie musiały zostać zmienione? Gdyby tak stworzyć wersję podstawową, powiedzmy mój-pakiet_1.0.0_all.deb. Następnie, w miarę poprawek (w stable) lub rozwoju (w testing/unstable), można by tworzyć do niej wersje delta mój-pakiet_1.2.1_all.deb. W skład takiego pliku wchodziłyby skrypty pre- i post- instalacyjne, plik konwersji konfiguracji, (jeśli taka by miała mieć miejsce lub o dokonfigurowaniu nowych opcji jeśli są wymagane) oraz oczywiście pliki różnicowe. Wiadomo, że przy większych zmianach, wymienia się większość plików, ale z drugiej strony często, przy modułowej budowie aplikacji występują pliki, które nie wymagają zmian. Wiadomo - wtedy, kiedy następuje rebuild wszystkiego albo gdy naprawdę stworzenie pliku zmian byłoby dłuższe niż nowy pakiet to lepiej budować nowy pakiet - ale czy często tak jest? Sprawa nie dotyczy jednak tylko plików .deb, ale wszystkich linux distro, któe zasypują użytkowników listą wielomegabajtowych poprawek. W końcu i Microsoft w końcu zmniejszył rozmiary swoich pakietów z poprawkami starając się je minimalizować (typowy cost-reduction)…
Comments
Comment from vermin
Time: 28/09/06, 12:06
Hmm - jeśli chodzi o ściąganie poprawek, to już obecny sid, czyli to co w grudniu(?) ma wyjść jako etch będzie miało apt’a, który domyślnie będzie ściągał właśnie różnicówki.
A co poprawek - w filozofii debiana system bezpieczny I produkcyjny, to nie koniecznie taki, który ma najnowsze pakiety (które także mogą wprowadzać nowe błędy), ale taki, który przy aktualizacjach produkcyjnej konfiguracji nie wymaga nagle przewalania raz jeszcze wszystkiego a poprawki wydawane są do zainstalowanej wersji pakietów.
Oczywiście rodzi to pewne problemy w momencie, gdy opóźnia się wydanie nowej wersji systemu, która zawiera nowe wersje na które oczekują developerzy… Ale developer zawsze może pracować w debianie na wersji testing/unstable, która ma w miarę najnowsze i często aktualizowane wersje pakietów
Ba, znam systemy debianowe które w produkcji chodzą na dystrybucji testing i nie miały jakichś większych wpadek (oczywiście trzeba być uważnym przy aktualizacji, bo czasem coś może nagle przestać pracować - problem, który PLD z tego co wiem nie raz dotykał).
Comment from adrian
Time: 28/09/06, 12:23
PLD to czysty linux. Bez patchów, dziwnych demonów itp. Trzeba nieraz pogrzebać w configach ale to tylko dlatego że każdy może tam wrzucić rmpa i nie są one testowane. Ogólnie to wg mnie distro wymiera. Kiedy robię dużąaktualizację (czyli teraz te 300mega) ide do szkoły i tam je ściągam ale nie każdy ma takie możliwości. Hmmm… Może by mi się udało napisać jakieś rozwiązanie na te duże paczki jako projekt licencjacki?
Comment from vermin
Time: 28/09/06, 12:36
PLD wymiera? No nie wiem - tak samo jak nie wydaje mi się, że RPMy są tam dodawane ot tak sobie. Jednak ktoś je tam zatwierdza i ktoś ‘coś’, (bo nie mówię, że dużo) testuje. Dla mnie to jest distro dla developerów, którzy bardzo lubią grzebać. Hardcore większy niż slackware ![]()
Prześlę może Twój komentarz do dwóch developerów PLD, których miałem okazję poznać (nie wiedząc kim są zawsze im mówiłem o moim seksualnym stosunku do tej dystrybucji ;-)) - ciekawe co powiedzą…
Comment from adrian
Time: 28/09/06, 11:53
To jednak okazało się że pod pewnymi względami PLD jest lepsze od dawna od debiana;) Plik packages updateuje się na podstawie diffów. U mnie do ściągnięcia czeka :
147 pakietów, 300.3 MB. I tak co tydzień mniej więcej. Strategia PLD jest taka że stabilny i bezpieczny system to taki który ma najnowsze paiety. Może to źle ale np cały UW ma serwery na PLD i nie słyszałem o jakichś większych wadkach. Ale dla człowieka z neostradą… Limit marnować na aktualizacje? porażka…