Liunx的軟件包有源碼包和二進制(RPM)包,源碼包便是包含所有的源代碼,絕大部分是使用c語言開發,其未通過編譯,因此安裝時要通過一系列編譯,將其變成機器語言才能安裝。RPM包是事先通過編譯,其安裝速度較快,但不能觀看到源代碼。html
Liunx可分爲Redhat系列和debian系列,其採用的都是相同的Liunx內核,最大的不一樣點就是對RPM包的管理,使用的軟件源不一樣。但相比之下debian系列的桌面端較好,Redhat其穩定性較好。因此筆者選擇使用Redhat系列的CentOS。python
本章實現CentOS的本地RPM包和yum雲RPM包的相關命令介紹,及源碼包的相關介紹和爲CentOS安裝Python3.7.1。 服務器
RPM包管理:編碼
安裝位置是系統默認的命令行
RPM包直接安裝會存在依賴包問題翻譯
命名規則:htm
python-2.7.5-76.el7.x86_64blog
名稱-版本-發佈次數-適用系統.位數ip
RPM包的命令管理:ssl
本地管理,軟件包已經下載或安裝到本地
【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
源碼包管理:
安裝位置是用戶指定的
安裝:
一、安裝C語言編碼器:gcc
yum -y install gcc
二、下載源碼包
三、肯定目錄(系統單方面推薦存放和安裝位置):
源碼包保存位置:/usr/local/src
軟件安裝位置:/usr/local/
三、解壓縮,並進入解壓縮後的目錄
四、軟件的配置與檢測,命令:./configure
肯定安裝目錄:(./configure --prefix=/usr/local/python3)
檢測系統環境是否支持安裝,是否有缺省
將定義好的功能選項和環境信息寫入Makefile文件
五、命令:make
編譯,使用gcc將源碼包翻譯成機器語言
若是報錯,可清空臨時文件:make clean
六、命令: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幹你想幹的事情了。源碼包的安裝就是卸載起來直接刪目錄就行了,不用太考慮一下殘留文件,但安裝是也必須考慮依賴性,不過能夠等它報錯後再一個個跟着提示補包。
一、下載源碼包:
https://www.python.org/downloads/release/python-371/
二、先安裝必要依賴:
yum -y install zlib zlib-devel
yum -y install libffi-devel
yum -y install openssl-devel
三、安裝步驟命令參考上面源碼包管理
四、創建軟鏈接
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