GNU/Linux >> Znalost Linux >  >> Linux

Co dělá distribuci GNU a existují distribuce Linuxu, které nejsou GNU?

Free Software Foundation tvrdí, že většina linuxových distribucí jsou ve skutečnosti systémy GNU, které náhodou používají linuxové jádro. Toto tvrzení zakládají na skutečnosti, že GNU byl dlouhodobý projekt vývoje svobodného operačního systému před tím, než přišel Linux, a že jádro bylo pouze posledním chybějícím kusem. Mají pravdu v tom, že prakticky všechny linuxové desktopové a serverové distribuce používají alespoň některé GNU komponenty, možná nejdůležitější GNU C Library (glibc), GNU Core Utilities (coreutils) a Bash shell. Kromě toho je vývoj linuxového jádra neodmyslitelně svázán s GCC, kvůli použití rozšíření GCC.

Některé vestavěné systémy, možná především Android od Googlu, nepoužívají žádné komponenty GNU ani knihovny. V systému Android je například knihovna GNU C nahrazena vlastní knihovnou Bionic C od společnosti Google založenou na BSD. FSF souhlasí s tím, že není vhodné označovat takový systém jako „systémy GNU“ nebo „GNU/Linux“, ale na druhou stranu by nechtěli, aby se o nich mluvilo pouze jako o systémech „Linux“. Přinejmenším můžeme vyvodit závěr, že se zdá, že panuje shoda v tom, že použití nástrojů GNU k sestavení jádra ne udělat ze systému "systém GNU".


Historie terminologie GNU/Linux sahá až do počátku 90. let.

V roce 1991 Linus Torvalds zahájil projekt linuxového jádra ze své ložnice v Helsinkách. Nedlouho poté se linuxové jádro začalo výrazně prosazovat díky vzestupu internetu.

Projekt GNU Richarda Stallmana v té době stále plánoval použít mikrokernel HURD jako jádro plánovaného operačního systému GNU. Když se však kolem nového projektu linuxového jádra začaly formovat linuxové distribuce (volné operační systémy podobné Unixu založené na linuxovém jádře), Stallman se začal zajímat. Když v roce 1993 začal projekt Debian, pod vedením Iana Murdocka poskytla FSF tomuto mladému projektu určitou finanční podporu. Nicméně vývojáři Debianu se rychle rozešli se Stallmanem a FSF, částečně kvůli technickým problémům. Jedním problémem například bylo, že Stallman chtěl v programu zachovat ladicí symboly, zatímco Debian je chtěl odstranit.

Jakmile se cesty Debianu a FSF rozešly, Stallman požádal, aby se Debian označoval jako GNU/Linux. Žádost byla vznesena Bruce Perensovi, protože Murdock předal vedení jemu. Protože se tyto organizace rozešly za dobrých podmínek a sdílely (a sdílely) společné cíle, vývojáři Debianu udělali, co požadoval. Samozřejmě je pravda, že Stallman propagoval taková jména nezávisle, ale spolupráce skutečného operačního systému založeného na Linuxu při odkazování se na sebe jako takové byla významná při podpoře používání takového jména.

Stallmanovo zdůvodnění zahrnovalo, že (a) jádrem systému kromě linuxového jádra byly z velké části nástroje GNU, (b) linuxové jádro bylo v určitém smyslu vyvrcholením/dokončením projektu GNU, který se snažil získat funkční jádro na nějakou dobu, takže by toto jméno mělo používat jako způsob uznání a připomenutí ideálů projektu GNU. Důvod (a) bývá zmiňován spíše častěji, i když to tehdy nebyla úplně pravda a nyní je to ještě méně pravdivé, ačkoli jasně důležité části operačního systému založeného na Linuxu závisí na nástrojích GNU, např. bash, gcc, binutils, gdb, libc atd., v některých případech mohou být nahrazeny jinými nástroji. Takže takové argumenty jsou přinejmenším diskutabilní a skutečně byly hodně diskutovány.

Pokud vím, pouze Debian a (některé) jeho deriváty (po vzoru svého rodiče) se označují jako GNU/Linux. Ostatní tzv. linuxové distribuce jako Fedora, Gentoo atd. se však v podstatě neliší od Debianu – většinou se jedná o stejný software. Takže máme stejně dobrý důvod je označovat jako GNU/Linux.

V okolí není mnoho systémů využívajících linuxové jádro bez uživatelského prostředí GNU, protože tyto dva se do značné míry vyvíjely společně a jsou různými způsoby propojeny. (Například linuxové jádro je napsáno v rozšířeném (GNU) C gcc a nebude se stavět pomocí standardního kompilátoru C.) Jak řekl Thomas, zřejmým příkladem je Android, ale protože byl tak silně forkován společností Google je sporné, zda je správné nadále označovat jádro Androidu jako Linux, i když se v budoucnu hovoří o sloučení/smíření.

Na okraj je nešťastné poznamenat, že Stallman a FSF zjevně prosazují terminologii GNU/Linux poměrně tvrdě. Například Jonathan Corbet v komentáři LWN napsal, že FSF s ním odmítá mluvit, pokud nepoužije termín GNU/Linux. Jon, kromě toho, že je zakladatelem LWN, je také starší a uznávaný vývojář jádra. Celý komentář říká:

Aby bylo jasno:před mnoha lety jsme přestali žádat FSF o komentáře, protože FSF s námi odmítla mluvit bez předchozího slibu od nás, co řekneme a jaké výrazy použijeme. Nejsme ochotni dávat takové sliby. Pokud by se politika FSF v takových věcech změnila, rádi bychom o tom věděli.

Toto je jasně odkaz na trvání na terminologii GNU/Linuxu mimo jiné.

Výše uvedená historie je podrobně popsána v kapitole 6 ("Boot Then Root") knihy "Rebel Code" od Glyna Moodyho.


Operační systém je kombinací jádra a uživatelské země. V podstatě jádro spravuje hardware, zatímco uživatelská země poskytuje uživatelům komplexní rozhraní.

V běžné distribuci GNU/Linux poskytuje Linux jádro, zatímco projekt GNU přináší uživatelské nástroje. GNU byla spuštěna mnohem dříve než Linux a poskytuje velké množství nástrojů pro vytvoření plného operačního systému.

Chybělo jim však jádro. Přestože měli jádro Hurd, trvalo příliš dlouho, než byly připraveny. A pak přišel Linux s pomocí velkého nadšení kolem něj, vyvíjel se rychleji než Hurd.

Nyní máte uživatelskou zemi a jádro ze dvou různých projektů. A protože každý je nezbytný pro operační systém, proč nepojmenovat sdružení GNU/Linux, aby každý projekt získal svůj podíl na zásluhách?

Máte další uživatelské oblasti, jako jsou BSD utils nebo BusyBox. Nicméně jsou víceméně kompletní ve srovnání s GNU utilitami a některý software bude fungovat pouze s GNU uživatelskou zemí. Například většina operačních systémů BSD používá jako kompilátor GCC, zatímco LLVM tuto situaci brzy změní.

A jako univerzální operační systém můžete používat Debian s jádrem FreeBSD a uživatelskou zemí GNU.


Linux
  1. Linux – Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na Gnu/linux?

  2. Linux – Co je velká a nízká paměť v Linuxu?

  3. Jaké jsou hlavní rozdíly mezi Bsd a Gnu/linux Userland?

  1. Linux – Co dělá Osx programy nespustitelné v Linuxu?

  2. V jakých jazycích jsou napsány Windows, Mac OS X a Linux?

  3. Jaké znaky jsou v názvech adresářů Windows a Linux zakázány?

  1. Existují nějaké moderní distribuce Linuxu, které stále podporují /dev/audio?

  2. Co je velká a nízká paměť v Linuxu?

  3. Jaký je rozdíl mezi Unixem, Linuxem, BSD a GNU?