【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代...
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
除了使用Linux的包管理機(jī)制進(jìn)行軟件的安裝、更新和卸載,從源代碼進(jìn)行軟件的安裝也是非常常見的,開源軟件提供了源代碼包,開發(fā)者可以方便的通過源代碼進(jìn)行安裝。從源碼安裝軟件一般經(jīng)過軟件配置、編譯軟件、執(zhí)行安裝3個步驟。
想每天聽到小妞的語音播報,想學(xué)更多學(xué)校里和書本上學(xué)不到的IT技術(shù)或技能,歡迎關(guān)注微信公眾號:xiniubook2008。或加微博:我的圖書我做主,參加活動,免費(fèi)獲書。
7.3.1??軟件配置
由于軟件要依賴系統(tǒng)的底層庫資源,軟件配置主要功能為檢查當(dāng)前系統(tǒng)軟硬件環(huán)境,確定當(dāng)前系統(tǒng)是否滿足當(dāng)前軟件需要的軟件資源。配置命令一般如下:
[root@CentOSvim73]#./congure –prefix=/usr/local/vim73
其中的--prefix 用來指定安裝路徑,編譯好的二進(jìn)制文件和其他文件將被安裝到此處。
不同的軟件configure 腳本都提供豐富的選項(xiàng),在執(zhí)行完成后,系統(tǒng)會根據(jù)執(zhí)行的選項(xiàng)和系統(tǒng)的配置生成一個編譯規(guī)則文件Makefile。要查看當(dāng)前軟件配置時支持哪些參數(shù),可以使用./configure --help命令。
7.3.2??編譯軟件
在配置好編譯選項(xiàng)后,系統(tǒng)已經(jīng)生成了編譯軟件需要的Makefile,然后利用這些Makefile進(jìn)行編譯。編譯軟件執(zhí)行make命令:
[root@CentOSvim73]# make
執(zhí)行make 命令后make 會根據(jù)Makefile 文件來生成目標(biāo)文件,如二進(jìn)制程序等。
7.3.3??軟件安裝
編譯完成后,執(zhí)行make install 命令來安裝軟件:
[root@CentOSvim73]# #make install
一般情況下安裝完成后就可以使用安裝的軟件了,如沒有指定安裝路徑,一般的軟件會備安裝在/usr/local下面創(chuàng)建對應(yīng)的文件夾,部分軟件二進(jìn)制文件會安裝在/usr/bin或/usr/local/bin/目錄下,對應(yīng)的頭文件會安裝到/usr/include,軟件幫助文檔會安裝到/usr/local/share目錄下。
如果指定目錄,則會在指定目錄創(chuàng)建相應(yīng)的文件夾。安裝軟件完畢后使用該軟件需要使用絕對路徑或?qū)Νh(huán)境變量的進(jìn)行配置,也就是需要把當(dāng)前軟件二進(jìn)制文件的目錄加入到系統(tǒng)的環(huán)境變量PATH中。
Vim是一款優(yōu)秀的文本編輯器,豐富擴(kuò)展了vi編輯器的很多功能,被廣大開發(fā)者廣泛使用,同類型的編輯軟件還有Emacs等。通過示例7-6演示如何通過源代碼安裝該軟件。示例中同時包含了安裝軟件時遇到的問題及解決方法。
(1)首先查看系統(tǒng)中有無Vim,如有先進(jìn)行卸載,以免混淆。
【示例7-6】
#查看系統(tǒng)中是否有Vim軟件
[root@CentOS~]# vim --version|head
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
#查看vim文件位置
[root@CentOS~]# which vim
/usr/bin/vim
#查看當(dāng)前軟件屬于哪個軟件包
[root@CentOS~]# rpm -qf /usr/bin/vim
vim-enhanced-7.2.411-1.8.el6.x86_64
#將當(dāng)前已安裝的軟件包卸載掉
[root@CentOS~]# rpm -e vim-enhanced-7.2.411-1.8.el6.x86_64
#查看文件是否還存在
[root@CentOS~]# ls -lhtr /usr/bin/vim
ls: cannot access /usr/bin/vim: No such file ordirectory
(2)經(jīng)過上面的步驟后,確認(rèn)系統(tǒng)中已經(jīng)不存在Vim,下面進(jìn)行Vim的安裝。Vim最新版可以在網(wǎng)站http://www.vim.org/下載。
【示例7-6】續(xù)
[root@CentOS~ ]#cd /data/soft
#上傳源代碼包
[root@CentOSsoft]# rz -bye
rz waiting to receive.
開始 zmodem 傳輸.? 按 Ctrl+C 取消.
Transferring vim-7.3.tar.bz2...
? 100%??? 8867 KB 4433 KB/s 00:00:02?????? 0 錯誤
#將源代碼包解壓
[root@CentOSsoft]#? tar xvf vim-7.3.tar.bz2
vim73/
vim73/Makefile
vim73/src/Makefile
vim73/configure
vim73/src/configure
vim73/src/auto/configure
#部分結(jié)果省略
vim73/src/configure.in
vim73/src/
[root@CentOSsoft]# cd vim73
#查看文件列表,部分結(jié)果省略
[root@CentOSvim73]# ls
configure README_unix.txt Makefile src
#第1步:進(jìn)行軟件的配置
[root@CentOSvim73]# ./configure
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
#部分結(jié)果省略
checking for tgetent()... configure: error: NOTFOUND!
????? Youneed to install a terminal library; for example ncurses.
????? Orspecify the name of the library with --with-tlib.
#某些庫不存在,查找到并安裝,此時用的是rpm包安裝方式
[root@CentOSvim73]# cd -
/cdrom/Packages
[root@CentOSPackages]# ls -l ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
-r--r--r--. 2 root root 657212 Jul? 3? 2011ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
#安裝依賴的包
[root@CentOSPackages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
warning:ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature,key ID c105b9de: NOKEY
Preparing...???????????????########################################### [100%]
??1:ncurses-devel?????????########################################### [100%]
[root@CentOSPackages]# cd -
/data/soft/vim73
#再次進(jìn)行軟件的配置
[root@CentOSvim73]# ./configure --prefix=/usr/local/vim73
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
#部分結(jié)果省略
checking whether we need -D_FORTIFY_SOURCE=1... yes
configure: creating auto/config.status
config.status: creating auto/config.mk
config.status: creating auto/config.h
#第2步:進(jìn)行軟件的編譯
[root@CentOSvim73]# make
If there are problems, cd to the src directory andrun make there
cd src && make first
make[1]: Entering directory `/data/soft/vim73/src'
mkdir objects
CC="gcc -Iproto -DHAVE_CONFIG_H???????? " srcdir=. sh ./osdef.sh
gcc -c -I. -Iproto -DHAVE_CONFIG_H???? -g -O2 -D_FORTIFY_SOURCE=1?????? -o objects/buffer.o buffer.c
#部分結(jié)果省略
(3)經(jīng)過上面的步驟后,Vim軟件已經(jīng)編譯完成,下面繼續(xù)Vim的安裝。
【示例7-6】續(xù)
#第3步:進(jìn)行Vim的安裝
[root@CentOSvim73]# make install
? Startingmake in the src directory.
? If thereare problems, cd to the src directory and run make there
? cd src&& make install
? make[1]:Entering directory `/data/soft/vim73/src'
? if test -f/usr/local/vim73/bin/vim; then \
?? ?????????mv -f /usr/local/vim73/bin/vim/usr/local/vim73/bin/vim.rm; \
???????????rm -f /usr/local/vim73/bin/vim.rm; \
????????? fi
? cp vim/usr/local/vim73/bin
#部分結(jié)果省略
[root@CentOSvim73]# vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
(4)至此Vim軟件安裝完成。如需使用,需要使用絕對路徑或設(shè)置環(huán)境變量PATH。
【示例7-6】續(xù)
#使用vim發(fā)現(xiàn)命令不存在
[root@CentOSvim73]# vim –version
-bash: /usr/local/bin/vim: No such file or directory
[root@CentOSvim73]# cd /usr/local/vim73/
[root@CentOSvim73]# ls
bin? share
[root@CentOSvim73]# export PATH=/usr/local/vim73/bin/:$PATH:.
[root@CentOSvim73]# vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
以上示例演示了如何通過源代碼安裝指定的軟件,安裝過程經(jīng)過軟件配置、軟件編譯和軟件安裝等步驟。安裝軟件時如果指定了安裝目錄沒,則需要使用絕對路徑或?qū)⒃撥浖亩M(jìn)制文件所在的目錄加入到系統(tǒng)變量PATH路徑中,以便在不使用絕對路徑時仍然可以使用安裝的軟件。
?
?
喜歡可以購買《超容易的Linux系統(tǒng)管理入門書》。目前Linux中國正在舉辦互動,寫書評就能拿書!
轉(zhuǎn)載于:https://my.oschina.net/u/1011494/blog/207146
總結(jié)
以上是生活随笔為你收集整理的【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于ubuntu-12.04.4-ser
- 下一篇: 函数指针数组