1. 程式人生 > >Linux系統安裝與刪除軟體的方法

Linux系統安裝與刪除軟體的方法


LinuxWINDOWS在軟體執行機制上有很大差異。在WINDOWS下安裝軟體,一般都是把該軟體所依賴的其它軟體或者說環境同時安裝上了,所以軟體包安裝簡單,但軟體包往往比較大。但在Linux下,軟體是根據功能模組拆的很細,軟體執行所依賴的其它軟體與要安裝的軟體是分離的,這種情況下,需要自己解決依賴問題,所以安裝起來比較麻煩。但好處是,依賴包是全系統共享的,再安裝其它軟體時,若有相同的依賴包,則就不需在再安裝了。也就是說,磁碟空間佔用空間要比WINDOWS小,後續維護升級很方便,只需要部分升級就可以了,而WINDOWS則全部升級才行。

在軟體執行方面,WINDOWS用登錄檔維護了軟體的相關配置等資訊,而

LINUX是用單獨的配置檔案來儲存配置資訊的,這些配置檔案都是文字檔案。從理論上講,LINUX安裝軟體的實質是把軟體相關的檔案包括配置檔案放到指定的位置,軟體就可以執行。刪除時,把含配置檔案在內的所有檔案刪除即可完全刪除該軟體,不會有任何殘留。而WINDOWS安裝時要考慮登錄檔資訊寫入,刪除時要從登錄檔刪除對應資訊,自帶的刪除程式並不一定能完全刪除軟體對應的目錄和檔案,所以才會產生殘留問題。

理解了前面說的內容,後面軟體安裝刪除的具體方法就很好理解了,都是把軟體對應的各個檔案複製到對應的目錄裡。只不過為了解決依賴問題,RED HAT系發明了rpmdnf/yum簡化依賴包安裝,DEBIAN

系發明了debapt-get等(我對DEBIAN不熟悉,不對或缺失的請自己補充,下面都是以RED HAT係為例),其本質也是用資料庫儲存已安裝軟體資訊,後續升級、刪除時也只從庫裡查詢軟體資訊並刪除,同時清理資料庫裡的資訊。RED HAT系以FEDORA為例安裝方法有5種:一是dnf/yum方法安裝,二是rpm方法安裝,三是用軟體自帶的安裝指令碼安裝,四是用原始碼編譯安裝,五是直接複製檔案的方式安裝(在WINDOWS下好象叫綠色軟體吧)。

1.dnf/yum安裝方法

優先推薦這種安裝方法。這種方式安裝時實際也是呼叫rpm安裝的,只不過不需要自己解決依賴問題。可以分為兩種情況:一是從源裡直接安裝,二是從本地安裝(會自動從源裡查詢依賴包並安裝)。

1dnf通過軟體源安裝軟體的方法

[[email protected] baiky]#dnf install fcitx 

這樣會自動從源裡下載軟體及及所依賴的軟體,並安裝。

 

刪除軟體的方法

[[email protected] baiky]#dnf erase fcitx

具體細節可參考《 FEDORA 系統管理手冊》第6章 “DNF軟體包管理工具”的對應部分,已經翻譯了,就不詳細說了。

PS:安裝了fcitx後,但在終端或資料夾地址不能輸入中文的請安裝fcitxi17n包。)

2dnf安裝本地軟體的方法

安裝本地軟體時只需要指定rpm包所在的目錄即可,一種方法是雙擊自動安裝,另一種是用命令的方式安裝。建議用命令的方式,出問題的時候可以看到。需要提醒的是,如果系統缺少依賴包,這種方式也會自動從源裡安裝依賴包,所以不用擔心軟體依賴問題。

雙擊安裝時可以看到自動查詢到了依賴包,並給出安裝提示。

 

命令安裝的方式如下圖:

[[email protected] baiky]#dnf install ./wps-office-10.1.0.5672-1.a21.x86_64.rpm 


 

刪除軟體的方法同上。

PSWPSlinux版本可以從linux.wps.cn下載,對中文習慣的支援超讚。)

2.rpm安裝方法

理論上能用rpm安裝的軟體都可以用dnf安裝,所以不建議用這種方法,主要原因是必須自己根據提示先解決依賴包的安裝問題。還是以wps軟體安裝為例:

[[email protected] baiky]#rpm -ivh ./wps-office-10.1.0.5672-1.a21.x86_64.rpm

會發現提示缺少libpng12,所以需要安裝依賴包(根據提示判斷所依賴的檔案是比較困難的,再次強調不瞭解的建議不要用這種方式)。比如用dnf 先解決依賴包的安裝,再用rpm 安裝軟體:

[[email protected] baiky]#dnf install libpng12
[[email protected] baiky]#rpm -ivh ./wps-office-10.1.0.5672-1.a21.x86_64.rpm

 


rpm軟體刪除及其它詳細使用說明請見《Fedora系統操作手冊》的附錄A:“RPM軟體管理。”


3.安裝指令碼安裝的方法

有些軟體不能通過源安裝,也沒有提供rpm包,但提供了安裝指令碼,比如netbeans。這種情況下就只能選擇用安裝指令碼安裝了。這種安裝方法和WINDOWS下安裝軟體的方式類似。安裝指令碼命令一般是*.run*.sh來命名的(實際上可以任意命名,副檔名並無實質意義)。需要注意的是,一是,要注意把指令碼改為可執行檔案(chmod),二是安裝前一定要先看對應的說明檔案。這種安裝方式可能需要自己解決依賴問題。

[[email protected] baiky]#chmod 777 ./netbeans-8.1-javase-linux.sh
[[email protected] baiky]#./netbeans-8.1-javase-linux.sh

 

用指令碼安裝的一般都提供了類似WINDOWS的軟體解除安裝的指令碼,執行即可。

4.原始碼編譯安裝

這種情況是最複雜的,需要對原始碼編譯安裝。只有在軟體源裡沒有、也沒有提供rpm,只提供了原始碼包的情況下再使用這種方法。一般情況下,原始碼軟體包已經制作好了Makefile檔案,安裝時一般為配置、編譯、安裝三個步驟(有的不需要配置這個步驟)。這種情況下,必須根據說明文件或編譯時的錯誤資訊自己解決依賴問題,而且系統必須要安裝對應的編譯器。特別需要說明的是,不同的軟體安裝方式可能會有很大區別,安裝必須看說明檔案,按說明檔案的步驟和要求安裝,這一點非常重要。另外,再補充一點,原始碼編譯安裝需要使用makegcc/g++等編譯工具,請先安裝(有些可能還需要qmake),並自行查詢相應資料學習這些工具的基本知識。

由於通過源安裝的unzip中文檔名會亂碼,因此以unzip為例說明安裝過程吧。解壓縮檔案後,首先檢視INSTALL檔案裡的安裝方法。裡面說明了安裝過程:解壓、編譯、測試和安裝四個步驟:

1)解壓

[[email protected] baiky]#unzip -a unzip61.zip

PS :只要解壓就行,不限工具。)

2)編譯

[[email protected] baiky]#make -f unix/Makefile generic

需要根據系統指定 Makefile 的版本及其它引數。

3)測試

[[email protected] baiky]#make -f unix/Makefile test

此步驟只是測試,可以忽略。

4)安裝

[[email protected] baiky]#make -f unix/Makefile install

(PS:中文無亂碼版本就從以下地址下載6.10c: https://sourceforge.net/projects/infozip/files/unreleased%20Betas/UnZip%20betas/)

原始碼安裝的軟體包裡有的提供了用make uninstall方式刪除軟體方式,刪除時在安裝時解壓的檔案包裡執行這個命令就可以了。如果沒有,刪除時可以看Makefile 的 install部分,看有哪些檔案、都在哪個目錄裡,刪除這些檔案即可(PS:沒有登錄檔就是好)。

5.直接複製檔案的方式安裝

這只是理論上存在的一種安裝方式,實際中不應該使用這種方法。但如果軟體安裝有問題,可以用這種方法複製貼上對應的檔案來修復。