標籤:ack 流程 border alac 命令 自動 公眾 軟體 span
1、原始程式碼控制
絕大多數開源軟體都是直接以原始碼形式發布的,一般會被打包為tar.gz 的歸檔壓縮檔。程式原始碼需要編譯為二進位可執行檔後才能夠運行使用。原始碼的基本編譯流程為
- ./configure:解壓縮後運行該命令,它主要檢查編譯環境、相關庫檔案以及配置參數並產生 makefile
- make:對原始碼進行編譯,產生可執行檔
- make install:將產生的可執行檔安裝到電腦中
原始碼形式的軟體使用起來較為麻煩,但是相容性和可控性較好。並且開源軟體一般會大量使用其他開源軟體的功能,所以開源軟體會有大量的依賴關係(使用某軟體需要先安裝其他軟體)。
2、RPM包管理器
在RPM(Redhat Package Manager,紅帽軟體包管理器)公布之前,要想在Linux系統中安裝軟體只能採取源碼包的方式安裝。早期在Linux系統中安裝程式是一件非常困難、耗費耐心的事情,而且大多數的服務程式僅僅提供原始碼,需要營運人員自行編譯代碼並解決許多的軟體依賴關係,因此要安裝好一個服務程式,營運人員需要具備豐富知識、高超的技能,甚至良好的耐心。而且在安裝、升級、卸載服務程式時還要考慮到其他程式、庫的依賴關係,所以在進行校正、安裝、卸載、查詢、升級等管理軟體操作時難度都非常大。
RPM機制是專門為解決這些問題而設計的。RPM有點像Windows系統中的控制台,會建立統一的資料庫檔案,詳細記錄軟體資訊並能夠自動分析依賴關係。目前RPM的優勢已經被公眾所認可,使用範圍也已不局限在紅帽系統中了,下表是一些常用的RPM軟體包命令。
常用的RPM軟體包命令
安裝軟體的命令格式 |
rpm -ivh packagename.rpm |
升級軟體的命令格式 |
rpm -Uvh packagename.rpm |
卸載軟體的命令格式 |
rpm -e packagename.rpm |
查詢軟體描述資訊的命令格式 |
rpm -qpi packagename.rpm |
列出軟體檔案資訊的命令格式 |
rpm -qpl packagename.rpm |
查詢檔案屬於哪個RPM的命令格式 |
rpm -qf packagename |
查看某一個軟體包是否安裝 |
rpm -qa|grep packagename.rpm |
-i: install 安裝
-v: verboes 可視化
-h: hash 顯示安裝進度
另外的常用的附帶參數為:
--force: 強制安裝,即使覆蓋其他包的檔案也要安裝
--nodeps: 當要安裝的rpm包依賴其他包的時候,即使其他包沒有安裝,也要安裝這個包
-U: upgrade 即升級的意思
查詢一個包是否安裝
rpm -q packagename(這裡的包名是不帶有平台資訊以及尾碼名的)
eg:rpm -q alacarte-0.10.0-1.fc6(如果加了平台資訊及尾碼名alacarte-0.10.0-1.fc6.noarch.rpm反而不能查出來)
rpm -qa 查詢當前系統上所安裝的所有rpm包
rpm -qa | grep packagename 查看某個軟體包是否安裝(這裡的包名是帶有平台資訊以及尾碼名的)
Linux系統紅帽軟體包管理器(RPM)