linux源码编译rpm,Linux的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、下載源碼包:
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目錄下
總結
如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。
本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的linux源码编译rpm,Linux的RPM和源码包(CentOS)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux crud命令,crudini
- 下一篇: linux 没权限dev null,Li