Wersje jądra Linux: Debian Sid vs Ubuntu Precise

9

Mam skonfigurowane dwie maszyny:

Na jednej maszynie zainstalowałem wersję beta Ubuntu Precise 12.04 i zaktualizowałem ją do najnowszych pakietów.

Na drugiej maszynie zainstalowałem Debian Sid Unstable i zaktualizowałem do najnowszych pakietów.

Na komputerze Ubuntu uname -a czyta:

Linux 3.2.0-20-generic # 32-Ubuntu SMP Cz 22 marca 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

Na maszynie Debiana uname -a czyta:

Linux 3.2.0-2-amd64 # 1 SMP Środa 28 marca 13:28:04 UTC 2012 x86_64 GNU / Linux

Moje pytanie dotyczy wersji jądra:

Ubuntu: 3.2.0-20-generic
Debian: 3.2.0-2-amd64

Wersja 3.2 Linuksa została wydana na:

linux-3.2.tar.gz         05-Jan-2012 00:40   94M

Od tego czasu wydano 13 wydań punktowych, 3.2.1 .. 3.2.13 z kernel.org i 3.3.

Moje pytanie dotyczy historii drzewa źródłowego dwóch jąder na moich dwóch maszynach:

Z której wersji oficjalnego jądra kernel.org pochodzą te dwie wersje jądra?

Jaki jest związek źródeł jądra Debian Sid z systemem Ubuntu Precise?

Czy zmiany dokonane ze źródeł kernel.org w celu wyprodukowania wersji 3.2.0-2-amd64 są również obecne w wersji 3.2.0-20-generic na Ubuntu?

Czy jądro Debiana Sid jest „upstream” z Ubuntu?

Co oznacza czwarty numer wersji (po pierwszym myślniku) „2” w przypadku Debiana i „20” w przypadku Ubuntu - i jak to się odnosi do powyższego?

Andrew Tomazos
źródło

Odpowiedzi:

5

Jądro Ubuntu nie jest tym samym co jądro nadrzędne, chociaż numery wersji mogą być podobne. Możesz przeczytać o jądrze Ubuntu na Wiki Ubuntu, które odpowiada na twoje pierwsze i czwarte pytanie:

Beta-2 zawiera jądro Ubuntu 3.2.0-20.33, które jest oparte na stabilnym jądrze Linuksa w wersji 3.2.12.

Jądro Ubuntu FAQ opisuje numerację wersji w następujący sposób:

Daną wersję 2.6.35-6.9-genericmożna podzielić na cztery części, jak poniżej:

<base kernel version>-<ABI number>.<upload number>-<flavour> Podstawowa wersja jądra reprezentuje wersję główną, na której opiera się jądro Ubuntu. Liczba ABI reprezentuje znaczące zmiany w interfejsie binarnym aplikacji jądra. Numer przesyłania jest monotonicznie rosnącym licznikiem dla każdego przesyłania tej wersji podstawowej. Smak wskazuje, który to wariant konfiguracji jądra

Możesz również sprawdzić mapowanie wersji jądra Ubuntu na Mainline, aby uzyskać więcej informacji na temat wersji jądra ubuntu w porównaniu z wersjami jądra.

pkhamre
źródło
O ile nie zrozumiałem źle, pytania brzmią Is the Debian Sid kernel "upstream" of the Ubuntu one?( Tak ) i From which release of official kernel.org kernel are those two versions of the kernel derived?( 3.2.0 ) - nie jest to, która wersja kernel.org jest najbardziej podobna do wersji ubuntu, lub które łatki z wersji kernel.org są włączone, które moim zdaniem służą jedynie komplikowaniu problem.
syserr0r
2

Twoje pytania

From which release of official kernel.org kernel are those two versions of the kernel derived?
Wersja jądra 3.2.0 .

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
Obie są wersjami Debiana (bez zmian Ubuntu), pakiet Debian (3.2.0-2) to wersja 2 , pakiet Ubuntu (3.2.0-20) to wersja 20 .

Are the changes made from the kernel.org sources to produce 3.2.0-2-amd64 also present in 3.2.0-20-generic on Ubuntu?
Nie jestem pewien, ponieważ są to (afaik) różne pakiety ( ogólne vs specyficzne dla amd64 ).

Is the Debian Sid kernel "upstream" of the Ubuntu one?
Tak . Debian jest wcześniejszy niż Ubuntu. Zmiany wprowadzone przez Ubuntu (oznaczała przez wersjami kończących -ubuntuXgdzie Xjest rewizja) są zwykle połączonych z powrotem w Debianie

Numery wersji

tl; dr version : Liczba po łączniku jest numerem wersji podanym przez opiekuna pakietu po nowych kompilacjach / łatkach.

-

W przypadku Debiana liczba po łączniku to Debian Revision Number[ źródło ]
W systemie Ubuntu liczba po łączniku jest, Debian Revision Numbera liczba po -ubuntu(jeśli istnieje) to Ubuntu Revision Number[ źródło-2 ]

Zasadniczo liczba po łączniku jest wersją podaną przez opiekuna pakietu .

Pakiety od opiekunów pakietów często mają na sobie różnego rodzaju łatki (takie jak naprawianie niezgodności; poprawki bezpieczeństwa; drobne ulepszenia; różne flagi kompilacji itp.); dlatego w twoim przykładzie jądro wersja 3.2.0 ma wiele wersji.

To, że jeden jest wyższy od drugiego, niekoniecznie oznacza, że ​​jest nowszy, lepszy lub ma zastosowane wszystkie te same łatki. Wynika to z faktu, że mogą to być różni opiekunowie pakietów, którzy opiekują się pakietem przy każdej dystrybucji i mogą (na przykład) łatać rzadziej (co oznacza niższy numer wersji), ale nadal zawierać [niektóre lub] wszystkie te same łatki .

Uwaga : Ubuntu jest oparte na Debianie, więc najczęściej Ubuntu ma wszystkie łatki z Debiana (i często z nowszej wersji Debiana, takiej jak testowanie)

Relacje pakietowe

Powstaje oprogramowanie (np. Jądro). Ma wersję ( 3.2.0 ). Opiekun pakietu ( Dave ) dla dystrybucji ( Debian ). Bierze oprogramowanie i pakuje je w formacie (.deb) zgodnie z wytycznymi dystrybucji. To jest wersja 3.2.0-1 z jądrem , aka kernel-3.2.0-1 .

Dave nie do końca przestrzegał wytycznych dotyczących dystrybucji, dla której pakuje ( Debian ), dlatego musi wprowadzić pewne zmiany w pakiecie. Robi to i przesyła swoją zaktualizowaną wersję. To jest wersja jądra 3.2.0-2 , czyli kernel-3.2.0-2 .

W międzyczasie wydano jądro 3.2.1 , 3.2.2 aż do wersji 3.2.25 . Pakiet, nad którym pracuje Dave, jest nadal oparty na wersji 3.2.0 . Niedługo przejdzie do wydania 3.2.25 .

W tym samym czasie inny opiekun pakietu ( Harry ) potrzebuje tego samego pakietu dla swojej dystrybucji ( Ubuntu ). Ponieważ Debian i Ubuntu są podobne; zamiast robić wszystko od nowa, po prostu wykonuje kopię Dave „s kernel 3.2.0-2 i przekazuje go. Harry udostępnia to Ubuntu jako 3.2.0-2 .

Następnie Harry chce wprowadzić pewne zmiany w pracy Dave'a. Dokonuje zmian i wydaje zaktualizowany pakiet. To jest wersja 3.2.0-2-ubuntu1

W tym przykładzie:
Najnowsza wersja kernelto 3.2.25
Najnowsza wersja kernelpakietu dla Debiana to 3.2.0-2
Najnowsza wersja kernelpakietu dla Ubuntu to 3.2.0-2-ubuntu1

syserr0r
źródło
Twoje informacje są nieprawidłowe. Wersja jądra ubuntu niekoniecznie jest taka sama, jak jądro nadrzędne z kernel.org. Jądro Ubuntu 3.2.0-20.33 oparte jest na jądrze Linuksa 3.2.12.
pkhamre
Jest to wersja jądra, na której opiera się pakiet. Z samej wiki Ubuntu . Zmiany z głównego jądra Linuksa są często przeciągane przez łatki jako opiekunowie pakietów, ale to nie było pytanie.
syserr0r
Sytuacja jest trochę mętna. Zgodnie z FAQ jądra Ubuntu ( wiki.ubuntu.com/Kernel/… ) można wywnioskować podstawową wersję jądra z wersji Ubuntu. Jednak w rzeczywistości należy sprawdzić / proc / version_signature lub przejrzeć listę na kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html . Aby zapoznać się ze szczegółowymi zmianami, zobacz plik /usr/share/doc/linux-image-*/changelog.Debian.gz i porównaj go z wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta lub pobierz drzewo git Ubuntu.
Mikko Rantalainen