出去打工和儿子租房
  • GUN是什么,跟Linux之間有何關系

    2021-12-27 10:54發布

    GNU是一個自由軟件操作系統—就是說,它尊重其使用者的自由。GNU操作系統包括GNU軟件包(專門由GNU工程發布的程序)和由第三方發布的自由軟件。GNU的開發使你能夠使用電腦而無需安裝可能會侵害你自由的軟件。

    Unix 系統被發明之后,大家用得很爽。但是后來開始收費和商業閉源了。一個叫 RMS 的大叔覺得很不爽,于是發起 GNU 計劃,模仿 Unix 的界面和使用方式,從頭做一個開源的版本。然后他自己做了編輯器 Emacs 和編譯器 GCC。

    BSD的網絡棧極大的影響了主流操作系統的網絡編程接口.這算是后話了.然后可以看到這是90年代,也就是Linux剛誕生的時代.因為Linux上來的用戶態(shell/toolchain/text editor)基本上都來自于GNU的移植,所以被冠上GNU/Linux作為distro的標題,也就是說內核是Linux,用戶態環境都是GNU系,發行版主要區別于軟件包管理策略所以總體來說GNU這個體系

    那么Linux脫離GNU有可能么?其實也是有可能的.比如說:

    編譯器gcc->clang,但是得打一堆 patch,主線是動不了的,BSD這邊前幾年似乎是遷移到clang 了shell選一個非gnu實現

    從glibc換成其他libc實現,比如Android用的是bionic(然而為了和glibc兼容從glibc偷了點變量名/函數聲明之類的東西,他們美其名日[機器生成],并且把這段話加入了license里面,gnu的人是比較不爽的,算是打了cleanroom的擦邊球)實用工具盡可能替換為 BSD 系

    GNU 是一個計劃或者叫運動。在這個旗幟下成立了 FSF,起草了 GPL 等

    接下來大家紛紛在 GNU 計劃下做了很多的工作和項目,基本實現了當初的計劃。包括核心的 gcc 和 glibc。但是 GNU 系統缺少操作系統內核。

      原定的內核叫 HURD,一直完不成。同時 BSD(一種 UNIX 發行版)陷入版權糾紛,x86 平臺開發暫停。然后一個叫 Linus 的同學為了在 PC 上運行 Unix,在 Minix 的啟發下,開發出了 Linux。

    注意,Linux 只是一個系統內核,系統啟動之后使用的仍然是 gcc 和 bash 等軟件。Linus 在發布 Linux 的時候選擇了 GPL,因此符合 GNU 的宗旨。

    最后,大家突然發現,這玩意不正好是 GNU 計劃缺的么。于是合在一起打包發布叫 GNU / Linux。然后大家念著念著省掉了前面部分,變成了 Linux 系統。實際上 Debian,RedHat 等 Linux 發行版中內核只占了很小一部分容量



    出去打工和儿子租房