Liunx的RPM和原始碼包(CentOS)
Liunx的軟體包有原始碼包和二進位制(RPM)包,原始碼包即是包含全部的原始碼,絕大部分是使用c語言開發,其未經過編譯,所以安裝時要經過一系列編譯,將其變成機器語言才能安裝。RPM包是事先經過編譯,其安裝速度較快,但不能觀看到原始碼。
Liunx可分為Redhat系列和debian系列,其採用的都是相同的Liunx核心,最大的不同點就是對RPM包的管理,使用的軟體源不同。但相比之下debian系列的桌面端較好,Redhat其穩定性較好。所以筆者選擇使用Redhat系列的CentOS。
本章實現CentOS的本地RPM包和yum雲RPM包的相關命令介紹,及原始碼包的相關介紹和為CentOS安裝Python3.7.1。
RPM包管理:
安裝位置是系統預設的
RPM包直接安裝會存在依賴包問題
命名規則:
python-2.7.5-76.el7.x86_64
名稱-版本-釋出次數-適用系統.位數
RPM包的命令管理:
本地管理,軟體包已經下載或安裝到本地
【rpm -ivh 包全名】安裝,顯示詳細資訊和進度
【rpm -Uvh 包全名】升級軟體包
【rpm -e 包名】解除安裝
【rpm -q 包名】檢視安裝的軟體包的版本,原始碼安裝的包不可查
【rpm -qa 】查詢所有安裝的包
【rpm -qi 包名】檢視包詳細資訊
【rpm -ql 包名】檢視安裝的軟體包的所有安裝位置
【rpm -qf 檔名】通過任意檔名,檢視它所屬的包全名
RPM包的yum管理:
雲管理,軟體包需要聯網下載,也可更改配置使用本地yum源
yum安裝會自動解決安裝的依賴性問題,即安裝時需要依賴包時會自動通過伺服器下載並安裝,不用使用者手動安裝。
【yum list】檢視yum上所有可用軟體包
【yum search 包名】通過部分包名檢視可用可用軟體包
【yum -y install 包名】安裝,(-y)是安裝時不詢問
【yum update 包名】升級軟體包,如果省略包名則升級所有,包括liunx核心
【yum remove 包名】解除安裝軟體,但會解除安裝全部依賴,謹慎!
【yum grouplist】檢視所有安裝的組,比如桌面、輸入法等
【yum groupinstall 軟體組名】安裝軟體包組,解除安裝用groupremove
原始碼包管理:
安裝位置是使用者指定的
安裝:
1、安裝C語言編碼器:gcc
yum -y install gcc
2、下載原始碼包
3、確定目錄(系統單方面推薦存放和安裝位置):
原始碼包儲存位置:/usr/local/src
軟體安裝位置:/usr/local/
3、解壓縮,並進入解壓縮後的目錄
4、軟體的配置與檢測,命令:./configure
確定安裝目錄:(./configure --prefix=/usr/local/python3)
檢測系統環境是否支援安裝,是否有預設
將定義好的功能選項和環境資訊寫入Makefile檔案
5、命令:make
編譯,使用gcc將原始碼包翻譯成機器語言
如果報錯,可清空臨時檔案:make clean
6、命令:make install
編譯安裝,向configure指定的目錄寫入資料
解除安裝:
自接把configure指定的安裝目錄全部清空(r m -rf 目錄名)即可
原始碼包安裝python3.7.1練練手:
LIunx環境:
CentOS-7-x86_64-DVD-1810.iso 桌面版
該環境預設只有Python2.7,記得好像也沒有pip,之前嘗試過直接用yum命令安裝,但是pip3的安裝相對麻煩很多,但如果是使用原始碼包安裝,安裝好後就可以在安裝目錄裡的bin下找到pip3,然後軟連線到/usr/bin目錄下,就可以自接使用pip3幹你想幹的事情了。原始碼包的安裝就是解除安裝起來直接刪目錄就好了,不用太考慮一下殘留檔案,但安裝是也必須考慮依賴性,不過可以等它報錯後再一個個跟著提示補包。
1、下載原始碼包:
https://www.python.org/downloads/release/python-371/
2、先安裝必要依賴:
yum -y install zlib zlib-devel
yum -y install libffi-devel
yum -y install openssl-devel
3、安裝步驟命令參考上面原始碼包管理
4、建立軟連線
ln -s 安裝目錄/bin/python3.7 /usr/bin/python3
ln -s 安裝目錄/bin/pip3 /usr/bin/pip3
後續通過pip3安裝的每一個系統命令列軟體都需要重新在此建立軟連線,因為pip3安裝後的第三方包都會存在python3的bin目錄下
參考:
https://www.cnblogs.com/yhongji/p/9383857.html
兄弟連細說Liunx