学会四招让你在linux下安装程序变得简单
一、背景
由于最近想自己摸索一些linux下的東西,開始玩起了Linux系統,在安裝軟件的過程中有諸多的不解和困惑,現在終于搞明白了具體是怎么樣的安裝步驟和過程,先分享給你們同時也方便自己復習查閱。
二、基本概述
1.RPM
?? ??? ?RedHat Package Manager的簡稱,即RedHat包管理器。
?? ??? ?以數據庫記錄的方式將軟件安裝到Liunx。
?? ??? ?軟件包事先編譯好并且打包成RPM機制的文件,類似于Windows的安裝程序。
?? ??? ?軟件信息記錄在本地數據庫,方便查詢、升級、卸載。
?? ??? ?不允許自定義參數和設置,限制較多。
2.SRPM
?? ??? ?Source RPM,附帶源碼的RPM包,擴展名為src.rmp。
?? ??? ?不可以直接安裝,需要通過編譯后再安裝。
?? ??? ?可以修改參數文件自定義配置項。
?? ??? ?和RPM比較類似。
3.YUM
?? ??? ?Yellow dog Updater,Modified的簡稱,基于RPM包管理。
?? ??? ?能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴關系,并且一次安裝所有依賴的軟件包,無需繁瑣的一次次下載、安裝。
?? ??? ?使用簡單、方便。
三、安裝方式介紹
1.源碼方式安裝linux軟件
下載源碼包到/usr/local/src
解壓縮源碼包
查看install和readme檔案安裝相依性軟件
./configure安裝軟件到特定位置
make clean清除目標檔案
make編譯
make install
修改PATH
2.rpm方式安裝linux軟件
明確安裝包所在路徑或者網站(find /dirname–name ‘name*’)
查找rpm庫中是否已經安裝 rpm -qa | grep 'softwareName'
安裝rpm –ivh /path/to/file.rpm
rpm常用參數
-i:安裝
-U:后接的軟件如果沒有安裝過則安裝,如果安裝過且版本較舊則更新
-F:后接的軟件如未安裝則不進行安裝,如果安裝過且版本較舊則更新
-v:查看詳細安裝信息
-h:查看安裝進度
rpm常用的長選項
--nodeps:忽略相依性強制安裝
--replacepkgs:重復安裝已安裝過的軟件檔案
--force:強制安裝
--nosignature:忽略數字簽名認證
--prefix:指定安裝路徑
--relocate:改變安裝路徑
--justdb:完善RPM關于此軟件檔案的數據庫文件
--initdb:初始化RPM數據庫
--rebuilddb:重建RPM數據庫
rpm查詢:RPM [options] [filename]
-q:查詢后面的軟件是否有安裝
-qa:列出此系統上已安裝的所有軟件
-ql:列出該軟件安裝后產生的所有文件完整目錄列表
-qd:列出該軟件安裝后產生的所有man文件完整目錄列表
-qf:列出該檔案所屬的已安裝軟件
-qi:列出該軟件的詳細信息
-qR:列出與該軟件的相依軟件有關的檔案
-p:未安裝的軟件包
-e:移除某個軟件(要從相依性的頂層開始)
rpm升級:rpm –V[apf] [filename/dirname]
-V:后面加軟件名稱,顯示該軟件所含的被更動過的檔案
-Va:列出系統上所有被改動過的檔案
-Vf:列出某個檔案是否被更動過
rpm數字簽名驗證流程
獲取公鑰安裝包
安裝公鑰rpm --import /path/to/GPG-KEY
得到gpg-pubkey*檔案,包含簽章信息
安裝原廠軟件時,rpm指令會去讀取簽章信息,與已導入的公鑰相比較。如果相同則安裝,不同則不允許安裝
3.SRPM安裝linux軟件
進行編譯源包:rpmbuild [options]
--rebuild:將***.src.rpm源碼進行編譯,并打包成rpm包
--recompile:將***.src.rpm源碼進行編譯、打包,并進行安裝
-ba:將數據編譯并同時產生RPM與SRPM
-bb:將數據僅編譯程RPM檔案
備注:SRPM包用rebuild創建成rpm包后,里邊會有一個*.spec配置檔案
后面步驟和rpm相同
4.YUM進行安裝linux軟件
配置yum倉庫/etc/yum.repo.d/*
連接網絡
yum install softwareName
yum clean all刪除所有yum倉庫中的數據
查詢:yum[list|info|search|provides|whatprovides]參數
?? ??? ? search:查詢某個程序的名稱或是描述(yum search mysql)
?? ??? ? list:列出目前所有的管理的軟件以及版本(rpm -qa)
?? ??? ? info類似list,查詢軟件的功能、版本說明(rpm -qai)
?? ??? ? provides:通過文件查詢所屬軟件(rpm -qf)
安裝、升級,yum [install|update]程序名
?? ??? ? install:安裝軟件
?? ??? ? update:升級軟件、不指定名稱則升級整個系統
卸載程序:yum[remove]程序名稱
yum的配置
?? ??? ? /etc/yum.repos.d/CentOS-Base.repo
?? ???? ? yum clean[package|headers|all]
?? ???? ? /var/cache/yum
四、總結
對于軟件技術來說,我覺得最重要的是分享和開源精神,因為這和分享快樂的原理相同,如果你有一份技術,我有一份技術,那我們彼此分享以后,每個人都變成了兩分技術,不但沒有減少,反而增加了,這不正是我們所希望看到的么?何樂而不為呢?這也正是為什么我喜歡抽出休息時間來孜孜不倦的寫技術博客的原因?! ?/p>
轉載于:https://www.cnblogs.com/hafiz/p/6752619.html
總結
以上是生活随笔為你收集整理的学会四招让你在linux下安装程序变得简单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Agent Job相关的系统表
- 下一篇: rarcrack