Linux筆記第一課

2021-10-01 13:14:28 字數 3363 閱讀 9989

一、開源軟體

開源軟體的特點就是把軟體程式與源**檔案一起打包提供給使用者,讓使用者在不受限制地使用某個軟體功能的基礎上還可以按需進行修改,或編製成衍生產品再發布出去。使用者具有使用自由、修改自由、重新發布自由以及建立衍生品的自由。

世界上現在有60多種被開源促進組織(open source initiative)認可的開源許可協議來保證開源工作者的權益。

1、gnu gpl(gnu general public license,gnu通用公共許可證):只要軟體中包含了遵循gpl協議的產品或**,該軟體就必須也遵循gpl許可協議且開源、免費,因此這個協議並不適合商用軟體。

特點:複製自由:允許把軟體複製到任何人的電腦中,並且不限制複製的數量。

傳播自由:允許軟體以各種形式進行傳播。

收費傳播:允許在各種媒介上**該軟體,但必須提前讓買家知道這個軟體是可以免費獲得的;因此,一般來講,開源軟體都是通過為使用者提供有償服務的形式盈利

修改自由:允許開發人員增加或刪除軟體的功能,但軟體修改後必須依然基於gpl許可協議授權。

2、bsd(berkeley software

distribution,伯克利軟體發布版)許可協議:使用者可以使用、修改和重新發布遵循該許可的軟體,並且可以將軟體作為商業軟體發布和銷售,前提是需要滿足下面3個條件。

如果再發布的軟體中包含源**,則源**必須繼續遵循bsd許可協議。

如果再發布的軟體中只有二進位制程式,則需要在相關文件或版權檔案中宣告原始**遵循了bsd協議。

不允許用原始軟體的名字、作者名字或機構名稱進行市場推廣。

3、apache許可證版本(apache license version)許可協議:在為開發人員提供版權及專利許可的同時,允許使用者擁有修改**及再發布的自由。該許可協議適用於商業軟體,現在熱門的hadoop、apache http server、mongodb等專案都是基於該許可協議研發的,程式開發人員在開發遵循該協議的軟體時,要嚴格遵守下面的4個條件。

該軟體及其衍生品必須繼續使用apache許可協議。

如果修改了程式源**,需要在文件中進行宣告。

若軟體是基於他人的源**編寫而成的,則需要保留原始**的協議、商標、專利宣告及其他原作者宣告的內容資訊。

如果再發布的軟體中有宣告檔案,則需在此檔案中標註apache許可協議及其他許可協議。

二、linux發展歷史

早在20世紀70年代,unix系統是開源而且免費的。但是在2023年時,at&t公司宣布了對unix系統的商業化計畫,

2023年,richard stallman面對於如此封閉的軟體創作環境,發起了gnu源**開放計畫並制定了著名的gpl許可協議。

2023年時,gnu計畫獲得了一項重大突破—gcc編譯器發布,這使得程式設計師可以基於該編譯器編寫出屬於自己的開源軟體。

在2023年10月,芬蘭赫爾辛基大學的在校生linus torvalds編寫了一款名為linux的作業系統。

2023年1月,bob young在linux系統核心的基礎之上,整合了眾多的源**和程式軟體,發布了紅帽系統並開始**技術服務,這進一步推動了linux系統的普及。

三、常見的linux版本

1、紅帽企業版linux(redhat enterprise linux,rhel)紅帽公司是全球最大的開源技術廠商,rhel是全世界內使用最廣泛的linux系統。

2、社群企業作業系統(community enterprise operating system,centos):通過把rhel系統重新編譯並發布給使用者免費使用的linux系統,具有廣泛的使用人群。

3、fedora:由紅帽公司發布的桌面版系統套件(目前已經不限於桌面版)。使用者可免費體驗到最新的技術或工具,這些技術或工具在成熟後會被加入到rhel系統中,因此fedora也稱為rhel系統的「試驗田」。

4、debian:穩定性、安全性強,提供了免費的基礎支援,可以良好地支援各種硬體架構,以及提供近十萬種不同的開源軟體,在國外擁有很高的認可度和使用率。

5、ubuntu:是一款派生自debian的作業系統,對**硬體具有極強的相容能力。ubuntu與fedora都是極其出色的linux桌面系統,而且ubuntu也可用於伺服器領域。

四、rhel7系統

1、systemd系統初始化程序

1)systemd與system v init的區別以及作用

system v init執行級別systemd目標名稱 作用

0runlevel0.target, poweroff.target 關機

1runlevel1.target, rescue.target 單使用者模式

2runlevel2.target, multi-user.target 等同於級別3

3runlevel3.target, multi-user.target 多使用者的文字介面

4runlevel4.target, multi-user.target 等同於級別3

5runlevel5.target, graphical.target 多使用者的圖形介面

6runlevel6.target, reboot.target 重啟

emergency emergency.target 緊急shell

rpm(紅帽軟體包管理器)

安裝軟體的命令格式 rpm -ivh filename.rpm

公升級軟體的命令格式 rpm -uvh filename.rpm

解除安裝軟體的命令格式 rpm -e filename.rpm

查詢軟體描述資訊的命令格式 rpm -qpi filename.rpm

列出軟體檔案資訊的命令格式 rpm -qpl filename.rpm

查詢檔案屬於哪個rpm的命令格式 rpm -qf filename

yum軟體倉庫

常見的yum命令

命令 作用

yum repolist all 列出所有倉庫

yum list all 列出倉庫中所有軟體包

yum info軟體包名稱 檢視軟體包資訊

yum install軟體包名稱 安裝軟體包

yum reinstall軟體包名稱 重新安裝軟體包

yum update軟體包名稱 公升級軟體包

yum remove軟體包名稱 移除軟體包

yum clean all 清除所有倉庫快取

yum check-update 檢查可更新的軟體包

yum grouplist 檢視系統中已經安裝的軟體包組

yum groupinstall軟體包組 安裝指定的軟體包組

yum groupremove軟體包組 移除指定的軟體包組

linuxprobe第一課 筆記

apache來自於印第安語,力量無窮 mpl mozilla public license,mozilla公共許可 許可協議 相較於gpl許可協議,mpl更加注重對開發者的源 需求和收益之間的平衡。mit massachusetts institute of technology 許可協議 目前限制...

sql第一課筆記

雖然之前也是學習過sql server資料庫,但是也是忘記得差不多了。現在重新撿起來,安裝一次資料庫練習,使用的是mysql.第一課是最簡單的建立,修改,檢視,刪除資料庫 mysql 有密碼之後在命令列登陸 用的是 shell mysql u root p 提示輸入密碼 登陸成功之後,把提示符mys...

Tensorflow筆記 第一課

求梯度流程 1 在with中使用tf.gradienttape 生成可計算梯度的物件 2 使用tensor構建loss 3 使用1 的物件計算梯度import tensorflow as tf x tf.constant 1,2,3 2,2,3 print sum of all x tf.reduc...