不同作業系統之間的軟體管理理念的分析_學習筆記

我愛的人玲發表於2019-05-13

時間:2017.11.30
作者:李強
參考:man,info,magedu講義,神奇的internet
宣告:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,才能有限,希望不誤人子弟為好。

Linux與Windows

1、名稱不同
Linux下的程式我們一般稱為軟體包,因為它基本上都是以rpm字尾打包起來的,Debian上是以deb為字尾的。
Windows下的程式我們一般就安裝包,因為他基本是以exe的字尾,操作方式一般是下一步下一的安裝。
2、ABI不同,
Linux下的可執行二進位制程式不是以字尾來區分的,而是以檔案型別ELF 64-bit LSB executable
Windows下就比較容易區分一般可執行二進位制程式為.exe為字尾的,程式都是根據其檔名去判斷是否去編輯這個檔案,比如office,當然會與一些文字檔案就不會看那麼多,即是你沒有字尾一些軟體也是開啟編輯的。
3、重點來了,前端包管理器,一個系統上軟體又許多,如何更好的管理這些軟體。
Linux上有Redhat的yum 和Fedora的dnf,還有Debian的app-get,SUSE的zyppe等等。
Windows上有360的軟體管家,騰訊的軟體管家,百度的軟體管家,金山的軟體管家等等。
但是Linux下呼叫的是系統的rpm工具,Windows呼叫的是系統的程式工具,這些包管理器都是一個前置工具。

Android與Apple

Android上有什麼系統自帶的軟體管理器,當然有第三方的比如360,百度,豌豆莢等等
Apple上官方的App Store,第三方的一些管理器等。

軟體的編譯

1、Linux下的編譯工具有make,
編譯步驟一般為以下幾個步驟:
1、獲取原始碼,工具官網或者第三方託管。github.com code.google.com等
2、解壓縮原始碼,進入到解壓縮後的目錄
3、準備編譯環境,yum grouplist “development tools”,安裝make工具等
3、./configure –help 可以看到一些選項。用來定製功能和選項就好像window下的安裝的next setup
,然後就點選安裝,也就是下一步。不設定就是預設設定。編譯的時候可能會出現錯誤因為會有一些相關元件的依賴性,我們這裡以windows下的sql server 安裝為例,需要,net等元件,如果你安裝的時候它是會提前檢查的,如果沒有也是會提醒你去安裝的。
4、make 根據目錄下的makefile.in 來生成makefile。 make -j 4 多少執行緒來完成
5、make install 安裝。
6、完善工具執行環境,不如新增變數啊,自啟動啊,和widnows裡裝完jdk差不多。每個工具都有自己的編譯的教程,可以參考實踐。

2、Windows下的編譯
這個不太清楚,沒編過。
不過Windows下的exe安裝過程和以上的很多過程其實是相似的,
比如./configure 就好比next setup ,我們可以設定選項當然也可以預設值,回去檢查依賴性,會去檢查元件是否有。
比如之後的設定path路徑,服務啟動啊,服務自啟動啊就好比環境變數path的設定,window下的快捷方式,還有自啟動的設定啊什麼的一樣。


相關文章