linux源碼安裝流程(20180123)
linux 的安裝方法,主要有三種:rpm 安裝,yum 安裝 ,源碼安裝。今天就先說下源碼安裝。
源碼安裝相比rpm和yum, 複雜很多,為什麼還要采用源碼安裝呢?如果你想使用的軟體最新的版本yum源中沒有, 或者你想安裝時, 自已指定安裝目錄或參數。這就展現出源碼安裝的優勢了。
下面說說如何源碼安裝。
源碼安裝正常流程:
1. 配置(configure)
2. 編譯(make)
3. 安裝(make install)
4. 環境變量(export)
5. 确認安裝成功(version)
第一步:配置configure
檢視configure幫助可以看到configure可用的參數,這裡主要介紹下比較重要的幾個。不同軟體配置可能不同。
# ./configure --help
--help print this message
--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
--conf-path=PATH set nginx.conf pathname
--error-log-path=PATH set error log pathname
--pid-path=PATH set nginx.pid pathname
--lock-path=PATH set nginx.lock pathname
--user=USER set non-privileged user for worker processes
--group=GROUP set non-privileged group for worker processes
--builddir=DIR set build directory
--with-rtsig_module enable rtsig module
--with-select_module enable select module
--without-select_module disable select module
--with-poll_module enable poll module
--without-poll_module disable poll module
--with-file-aio enable file AIO support
--with-ipv6 enable IPv6 support
--with-http_ssl_module enable ngx_http_ssl_module
--with-http_spdy_module enable ngx_http_spdy_module
--http-fastcgi-temp-path=PATH set path to store http fastcgi temporary files
--http-uwsgi-temp-path=PATH set path to store http uwsgi temporary files
--with-debug enable debug logging
(太多了,省略,用法類似)
具本用法:
./configure --prefix=/usr/local/XXX --with-XXX --without-XXX
不指定prefix,則可執行檔案預設安裝到/usr/local/bin目錄下
庫檔案預設安裝到/usr/local/lib目錄下
配置檔案預設安裝到/usr/local/etc目錄下
其它資源檔案安裝到/usr/local/share目錄下
指定目錄安裝,則--prefix=目錄,目錄可以放在任何地方,通常是放到/usr/local/XXX目錄下.
如安裝python到/usr/local/python3目錄下,安裝後結構如下
--with-XXX : 安裝檔案所依賴的庫檔案
第二步:編譯
# make -j 4
make是編譯, 參數:-j [num]表用多少程序同時執行,通常num指定為小以cpu核數。編譯過程通常比較慢,主要加快編譯速度。
如果編譯過程中報錯或想重新生成,可以先清除已編譯的檔案,再編譯。
清除編譯過的檔案和目标檔案
# make clean
重編
# make -j 4
第三步:安裝
安裝,就是把編譯好的檔案和配置,資源等拷貝到指定的安裝目錄PRIFIX或預設安裝目錄。
指令
make install
指定PRIFIX_DIR
頭檔案:PRIFIX_DIR/include
庫檔案:PRIFIX_DIR/lib
可執行檔案:PRIFIX_DIR/bin
資源檔案: PRIFIX_DIR/share
配置檔案: PRIFIX_DIR/etc
總體為這幾個檔案,不同軟體可能會有更多目錄,如:man,data,scripts等。
未指定安裝目錄,預設安裝到:
可執行檔案: /usr/local/bin
庫檔案: /usr/local/lib
配置檔案: /usr/local/etc
其它資源檔案: /usr/local/share
取消安裝, 則删除上面目錄内容
# make uninstall
其他方法:
rpm -e 軟體
yum remove 軟體
第四步:設定環境變量
配置環境變量,主要為了安裝的軟體,可以直接使用。主要配置可bin目錄,lib目錄。
在 /etc/profile 尾添加:
#vim /etc/profile
export PATH=$PATH:PRIFIX_DIR/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:PRIFIX_DIR/lib
讓配置檔案生效:
# . /etc/profile
或
# source /etc/profile
最後,測試安裝軟體是否安裝版本,是否可用,python為例:
# python --version
Python 2.7.5
多說幾句,如果是自已想裝指定版本或第三方工具,建議用源碼安裝。如果系統自已的,建議直接rpm系統自帶包。正常來說,安裝的軟體,非必要不用更新,因為更新可能會導緻其他依賴的不相容而出錯。是以安裝的系統和軟體,最好用系統自帶的。
如果确定要更新,一定要處理好。比如:系統帶python2, 想更新為python3,那麼更新後,yum肯定會出問題。更新前,記錄好原來版本,原來的包。 理清原有依賴。安裝成功後,再确定要不要删除舊的包。後面再講。
查軟體在哪
#whereis ptyhon
查軟體版本
# rpm -qa ptyhon
查依賴
#yum install XXX