安裝及管理Linux應用程式
Linux應用程式的組成
1.普通的可執行程式檔案,一般儲存在/usr/bin目錄中,普通使用者即可執行。
2.伺服器程式、管理程式檔案,一般儲存在/usr/sbin目錄中,需要管理員才能執行。
3.配置檔案,一般儲存在/etc目錄中,配置檔案較多時會建立相應的子目錄。
4.日誌檔案,一般儲存在/var/log目錄中。
5.關於應用程式的參考文件等資料,一般儲存在/usr/share/doc/目錄中。
6.執行檔案及配置檔案的man手冊頁,一般儲存在/usr/share/man目錄中。
軟體包的封裝型別
1.RPM軟體包:這種軟體包檔案的副檔名為".rpm",只能在使用RPM機制的Linux作業系統中安裝。RPM軟體包一般針對特定版本的系統定製,因此依賴性較強。安裝RPM包需要使用rpm命令。
2.DEB軟體包:這種軟體包檔案的副檔名為".deb",只能在使用DPKG機制的Linux作業系統中安裝。安裝DEB軟體包需要使用Linux系統中的dkpg命令。
3.原始碼包:這種軟體包是程式設計師開發完成的原始程式碼,一般被製作成".tar.gz"、".tar.bz2"等格式的壓縮包檔案,因多數使用tar命令打包而成,所以經常被稱為"TarBall"。安裝原始碼軟體包需要使用相應的編譯工具,由於大部分Linux系統中都安裝有基本的編譯環境,因此使用原始碼軟體包要更加靈活。
4.提供安裝程式的軟體包:這種軟體包的副檔名不一,但仍以TarBall格式的居多。軟體包中會提供用於安裝的可執行程式或指令碼檔案,如install.sh、setup等,只需執行安裝檔案就可以根據嚮導完成安裝。
RHEL6系統的光碟中攜帶大部分軟體包都組織在Server目錄中,透過該目錄中的檔案可以熟悉RPM軟體包的一般命名格式。掛載光碟的命令如下(假設sss.rpm為應用軟體包):
#mount /dev/cdrom /media/
#ls -ls /media/Server/sss.rpm
使用RPM包管理工具及命令
RPM軟體包管理機制最早由Red Hat公司提出,後來隨著版本的升級逐漸融入了更多的優秀特性,成為眾多Linux發行版中工人的軟體包管理標準。
使用RPM機制封裝的軟體包檔案擁有約定俗成的命名格式,一般使用“軟體名-軟體版本-釋出次數.硬體平臺型別.rpm”的檔名形式。
使用rpm命令能夠實現幾乎所有對RPM軟體包的管理功能,執行"man rpm"命令可以檢視關於rpm命令的幫助資訊。
1.查詢RPM軟體包資訊
rpm -qa
rpm -qa |grep httpd
rpm -qa |grep gcc
常用引數說明
-qa:顯示當前系統中以RPM方式安裝的所有軟體列表
-qf:檢視指定檔案或目錄是由哪個軟體包所安裝的。
-qd:顯示指定軟體包在當前系統中安裝的文件檔案(--docfiles)列表。
2.安裝、升級、解除安裝RPM軟體包
-i:在當前系統中安裝(Install)一個新的RPM軟體包。
-e:解除安裝指定名稱的軟體包。
-U:檢查並升級系統中某個軟體包,若該軟體包並未安裝,則等同於"-i"選項。
-F:檢查並更新系統中某個軟體包,若該軟體包並未安裝,則放棄安裝。
-h:在安裝或升級軟體包過程中以"#"號顯示安裝過程。
-v:顯示軟體安裝過程中的詳細資訊。
更多選項參考man資訊。
在安裝包時,千萬要注意U選項,這會升級Linux核心,有可能致linux啟動不起來。
安裝rpm命令:
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm --強制安裝軟體包,但是70%的可能是裝好後不好使用;
rpm -ivh --nodeps sss.rpm 安裝時忽略軟體依賴性;
刪除RPM軟體包:
rpm -e sss ---刪除時不要帶副檔名
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm 強制安裝軟體包,但是70%的可能是裝好後不好使用;
怎麼解決軟體包安裝迴圈依賴?
將所有的軟體包放到一個目錄下後,進入目錄後執行如下:
rpm -ivh *.rpm
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm 強制安裝軟體包,但是70%的可能是裝好後不好使用;
rpm -ivh --nodeps sss.rpm 安裝時忽略軟體依賴性;
當RPM資料庫損壞時,使用rpm命令的"--rebuilddb"或"--initdb"功能進行重建。
從原始碼編譯安裝程式
現代的Linux發行版本通常使用包管理機制對軟體進行打包安裝,這樣就省去了軟體的編譯安裝過程,大大簡化了Linux系統的安裝和使用難度。但是在有些情況下,仍然需要使用原始碼編譯的方式為系統安裝新的應用程式,例如:
1.安裝較新版本的應用程式時
2.當前安裝的程式無法滿足應用需求:對於RPM格式封裝的應用程式,一般只包含了該軟體所能實現的一小部分功能,而難以由使用者自行修改、定製。透過對程式的原始碼進行重新配置並編譯安裝後,可以定製更靈活、更豐富的功能。
3.為應用程式新增新功能時:當需要利用現有的應用程式原始碼進行適當的修改,以便增強新的功能時,也必須釋放出該軟體的原始碼,進行適當修改後重新編譯安裝。
編譯原始碼需要相應的開發環境,對於自由軟體來說,gcc編譯器是最佳選擇。確認系統中編譯環境:
原始碼編譯安裝的基本過程
1.解包:原始碼吧一般為TallBall形式,使用tar命令進行解壓釋放。在Linux系統中,可以將各種軟體的原始碼檔案儲存到/usr/src/目錄中,便於集中管理,如:
#tar xzf sss.tar.gz -C /usr/src
2、預編譯,makefile
配置工作通常由原始碼目錄中的"configure"指令碼檔案來完成,具體引數可以在原始碼目錄中執行"./configure --help"進行檢視。不同的程式其配置引數會存在區別,但是"--prefix"形式的引數卻是大多數開源軟體通用的,該配置引數用於指定軟體包安裝的目標資料夾,未指定引數時,"configure"配置指令碼將採用預設值。若將應用程式的相關檔案安裝到同一個目錄中,需要解除安裝時就非常方便,一般只要將程式資料夾刪除即可
以MySql為例, tar.gz/gz tar.bz2
./configure --help
--prefix=/usr/local/soft
這步驟可能出現一些出現一些缺少庫檔案。當出現錯誤時,一定要把預編譯失敗生成的makefile刪除掉。
怎麼刪除,就用rm命令刪除
3.Make編譯
編譯:編譯的過程主要是根據Makefile檔案中的配置資訊,將原始碼檔案編譯、連線成二進位制的模組檔案、執行程式等。第二步的配置完成後執行"make"命令可以完成編譯工作,一般比需配置步驟更長的時間, make 10 並行編譯,加開編譯速度,在這一步出現錯誤,要進行make clean ,將中間狀態的二進位制檔案都要刪除掉。
4.安裝:編譯完成後,就可以執行"make install"命令將軟體的執行程式、配置檔案、幫助文件等相關檔案複製到Linux系統中了,即應用程式的最後安裝過程。
上述過程中,有時候為了簡單起見,也可以將編譯、安裝的步驟寫成一行命令執行,中間使用"&&"符合分隔即可(make && make install)
.make install
第三部很少有問題
如果原始碼安裝除錯的合理,效能將會提升10倍甚至幾十倍的提升。尤其是資料庫和apache類此的服務軟體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18841027/viewspace-1455471/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2、安裝及管理應用程式
- Linux安裝及管理程式Linux
- 安裝及管理程式
- 如何在 Linux 上安裝應用程式Linux
- Linux程式管理工具supervisor安裝及使用Linux
- unix系統安裝及應用
- 如何在Chrome OS上安裝Linux應用程式ChromeLinux
- Linux 安裝配置應用- GitLinuxGit
- PIG安裝配置及案例應用
- Smartmontools工具檢測Linux硬碟狀況 - 安裝及基本應用Linux硬碟
- autodesk桌面應用程式可以解除安裝嗎 autodesk桌面應用程式怎麼解除安裝
- Linux基礎入門:⑥Linux常見壓縮工具及程式包安裝及管理方式Linux
- NeurophStudio安裝及基礎應用
- Ubuntu下docker安裝及簡單應用UbuntuDocker
- WebSphere(was8.5)安裝簡單應用程式部署安裝Web
- Windows之應用安裝程式 —— wingetWindows
- Mac 解除安裝應用程式(AppCleaner)MacAPP
- zabbix容器化安裝及監控docker應用Docker
- UBUNTU安裝、應用軟體安裝及最佳化手記(轉)Ubuntu
- LINUX 安裝與管理Linux
- 使用RAFW管理您的 WebSphere 產品安裝、配置和應用程式部署Web
- 如何安裝與解除安裝鐵威馬NAS應用程式
- Python安裝及包管理Python
- Linux下安裝java及配置(yum安裝)LinuxJava
- Android應用及應用管理簡介Android
- Kafka應用實戰——Kafka安裝及簡單使用Kafka
- java 應用程式 安裝程式製作(要帶jvm)JavaJVM
- Linux應用程式基礎與RPM軟體包管理工具以及原始碼編譯安裝Linux原始碼編譯
- 在 Linux 上安裝安卓 8.1 Oreo 來執行應用程式和遊戲Linux安卓遊戲
- 管理應用程式——流
- Linux程式及作業管理Linux
- Flutter筆記-安裝及開發第一Flutter應用Flutter筆記
- yarn應用程式安裝後,報錯檢查Yarn
- 怎樣解除安裝Chromebook 中的應用程式Chrome
- linux中安裝JDK linux中安裝Tomcat linux中安裝Mysql 及故障解析 linux系統安裝redisLinuxJDKTomcatMySqlRedis
- Android靜默安裝應用和靜默解除安裝應用Android
- linux系統網橋管理工具brctl 安裝及使用Linux
- Linux程式管理工具Supervisor的安裝配置Linux