Linux系列(2)linux的發行版本

運行程序格式:
Windows:EXE,dll(dynamic link library)
Linux: ELF, so(shared object)

    程序:指令+數據
         指令:只讀
         數據:讀寫
    程序:算法+數據結構

    庫調用,系統調用:允許被調用的程序通常只提供指令,調用數據。

    malloc(), free()

    編程語言:
        彙編語言:微碼編程
            系統中某些與硬件相關的特有代碼、驅動程序開發:
        高級語言C,C++:
            系統級應用、驅動程序
        高級應用java,python,php:
             應用程序
Linux的發行版:
    slackware:
        suse
              opensuse
    debian
        ubuntu
            mint
    redhat:
        rhel:redhat enterprise linux
        fedora

    ArchLinux
    Gentoo
    LFS:Linux From scratch
    Android:Kernel+busybox+jvm

Linux系列(2)linux的發行版本

GNU: GPLv2,GPLv3,LGPL(lesser)
Apache:apache
BSD:bsd

A:1000,GPL
B:20000,20

問題1:Centos和Linux是什麼關係?CentOS和RHEL是什麼關係?
1、linux和CentOS是什麼關係?

CentOS是Linux衆多得發行版本之一,linux有三大發行版本(:Slackware、debian、redhat),而Redhat有收費的商業版和免費的開源版,商業版的業內稱之爲RHEL系列,CentOS是來自於依照開放源代碼規定而公佈的源代碼重新編譯而成。可以用CentOS替代商業版的RHEL使用。兩者的不同,CentOS不包含封閉源代碼軟件,是免費的。

2、CentOS和RHEL是什麼關係?

軟件在發行的時候,有兩種方式。一種是二進制的發行方式,另外一種是源代碼的發行方式,rhel無論是哪一種發行方式,你都可以免費從網上獲得。 RHEL 一般都提供源代碼的發行方式但如果你使用了他們的在線升級或諮詢服務,就必須要付費。

CentOS 就是將 RHEL 發行的源代碼從新編譯一次,形成一個可使用的二進制版本,由於 LINUX 的源代碼是 GNU,所以從獲得 RHEL 的源代碼到編譯成新的二進制,是合法。只是 REDHAT 是商標,所以必須在新的發行版裏將 REDHAT 的商標去掉。CentOS 可以得到 RHEL 的所有功能,甚至是更好的軟件,但 CentOS 並不向用戶提供商業支持,當然也不負上任何商業責任。
問題2:各種開源協議的具體細節?
GPL,LGPL,Apache,BSD
GPL
  GPL軟件的使用者有權力得到軟件的代碼,只要使用了GPL,在發佈(redistribution)時,整個項目也必須是GPL的,即主程序和靜態鏈接的庫(linux的.a和Windows的.lib)必須是GPL的,動態鏈接庫(Linux的.so,Windows的.dll)必須是GPL兼容的。所謂GPL兼容,也就是GPL軟件中可以使用的庫,這些許可證必須比GPL弱(如LGPL,BSD),而不能是某個商業許可證。正因如此,GPL是帶有很強的傳染性,只要你的軟件使用了GPL的代碼,那麼就請以GPL開放源代碼吧,並且你的項目中也不能有任何和GPL不兼容的庫。

LGPL
  GPL 帶有很強的傳染性,那麼如果一個庫使用GPL發佈,那麼使用這個庫的所有軟件也必須使用GPL發佈,這對不想開放源代碼的商業軟件來講是致命的打擊——你可以不使用其他的庫,但最基本的libc是無論如何繞不開的,如果libc是以GPL發佈,就相當於所有軟件必須以GPL發佈了。所以,LGPL(Lesser GPL)誕生了。

  LGPL定義爲,在以LGPL發佈的庫的基礎上開發新的庫的時候,新的庫必須以LGPL發佈,但是如果僅僅是動態鏈接,那麼則不受任何限制。這樣商業軟件就可以隨意的使用LGPL的庫了。因此,LGPL也具有傳染性,但限制在其基礎上開發的庫上,而並不限制使用它的程序本身——它的傳染性遠小於GPL。

BSD、Apache 2.0
  相對GPL/LGPL的開放源代碼,BSD,Apache 2.0就寬鬆許多——商業軟件可以任意的使用BSD,Apache 2.0發佈的軟件代碼,而不需要開放源代碼,只需要提及代碼的原出處就可以了。BSD和Apache 2.0提及的方式稍有不同,具體可以參考協議的詳細內容。它們是GPL兼容的

 程序包管理器:
    rpm:
        RHEL,Fedora,SuSe,CentOS
    dpt:
        Debian,Ubuntu

自由軟件
    自由使用;自由學習和修改;自由分發;自由創建衍生版

Linux的哲學思想:
    1、一切皆文件:
        把幾乎所有資源,包括硬件設備都組織爲文件格式;
    2、由衆多單一目的的小程序組成,一個程序只實現一個功能,而且要做好;
        組合小程序完成複雜任務;
    3、儘量避免跟用戶交互;
        目標:實現腳本編程,以自動完成某些功能;
    4、使用純文本文件保存配置信息;
        目標:一款使用的文本編程器即能完成系統配置工作;

如何獲取Centos的發行版:
     http://mirrors.aliyun.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章