為什么需要編譯安裝軟件?
1、軟件在編譯期間需要配置:比如需要指定安裝路徑,定制模塊等功能;
2、軟件需要統一安裝路徑:在編譯安裝時可以方便指定這些路徑;
3、需要最新的版本:對于某些軟件來說可能需要最新的版本。
編譯前的準備工作:
1、安裝開發工具:make、gcc等
2、安裝開發包組:如centos 6的為:Development Tools
C代碼編譯安裝三步驟:
(一)./configure:
(1)通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in生成makefile文件;
(2)檢查安裝軟件時需要依賴到的外部環境
(二)make:make是項目管理器,會根據makefile文件的內容自動構建應用程序;
(三)make install :復制文件到相應的路徑
注意:在安裝前請注意查看INSTALL、README文件,根據文檔配置編譯軟件。
正式編譯安裝
第一步:configure腳本
選項:指定安裝位置、指定啟用的特性
–help:獲取其支持使用選項
選項分類:
安裝路徑設定:
–prefix=/PATH:指定安裝路徑,默認為/usr/local
–sysconfdir=/PATH:配置文件安裝位置
Optional Features:可選特性
–disable-FEATURE
–enable-FEATURE
Optional Packages:可選包
–with-PACKAGE:依賴包
–without-PACKAGE:禁用依賴關系
第二步:make
第三部:make install
編譯后的配置:
在這里以http服務作為示例,httpd服務安裝在/usr/local/httpd2路徑下:
1、man地址的配置路徑
centos 6 (/etc/man.config)(centos 6的man配置路徑) 將httpd服務的man文檔路徑在配置文檔中添加一條路徑
#every automatically generated MANPATH include these fields
添加:
MANPATH /usr/local/httpd2/man
centos 7 (/etc/man_db.conf)
2、將httpd2的啟動路徑寫入PATH
vim /etc/profile.d/httpd2.sh
PATH=$PATH:/usr/local/httpd2/bin
. /etc/profile.d/httpd2.sh
3、導入庫文件路徑
編輯/etc/ld.so.conf.d/name.conf
添加新的庫文件所在目錄至此文件中
ldconfig – :重新生成緩存
4、做軟鏈接到包的頭文件
ln -s /usr/local/httpd2/include /usr/include
示例:
我以http服務的源碼編譯包做演示:
一、./configure :配置makefile文件
(1)解壓源碼包
(2)運行.configure :指定路徑啟用的特性等:
二、make&&make install
編譯成功,無報錯
三、配置man地址
vim /etc/man_db.conf (centos 7的man配置文檔的路徑)
(centos 6的man配置文檔的路徑為/etc/man.config)
man文檔配置成功
四、將httpd的啟動路徑寫入環境變量
vim /etc/profile.d/httpd2.sh(最后的httpd2.sh可以自定義,但需要以.sh結尾)
五、導入庫文件路徑
vim /etc/ld.so.conf/httpd2.conf (httpd2.conf可以自定義名稱,需要以.conf結尾)
六、做頭文件的軟鏈接
至此,httpd的源碼編譯演示完成!
作業:
1、輸入若干個數值存入數組中,采用冒泡算法進行升序或降序排序
2、刪除kernel包后,無法啟動,并恢復之
答案:
1、冒泡算法,實現升序排序
2、刪除kernel包后,無法啟動,并恢復 (centos 6)
(1)刪除rpm包
(2)內核已刪除,無法啟動系統
(3)在系統進入讀條界面時,按一下esc鍵(只能按一下,不能多按)進入boot menu菜單,選擇CD-ROM Drive 從光盤啟動
(4)選擇緊急救援模式
(5)掛載鏡像文件
(6)安裝kernel,并指定根所在的路徑,將rpm包安裝到對應路徑下
(7)系統重啟成功!
原創文章,作者:因為有你,如若轉載,請注明出處:http://www.www58058.com/39789