2019独角兽企业重金招聘Python工程师标准>>>

除了使用Linux的包管理机制进行软件的安装、更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装。从源码安装软件一般经过软件配置、编译软件、执行安装3个步骤。

想每天听到小妞的语音播报,想学更多学校里和书本上学不到的IT技术或技能,欢迎关注微信公众号xiniubook2008。或加微博:我的图书我做主,参加活动,免费获书。

7.3.1  软件配置

由于软件要依赖系统的底层库资源,软件配置主要功能为检查当前系统软硬件环境,确定当前系统是否满足当前软件需要的软件资源。配置命令一般如下:

[root@CentOSvim73]#./congure –prefix=/usr/local/vim73

其中的--prefix 用来指定安装路径,编译好的二进制文件和其他文件将被安装到此处。

不同的软件configure 脚本都提供丰富的选项,在执行完成后,系统会根据执行的选项和系统的配置生成一个编译规则文件Makefile。要查看当前软件配置时支持哪些参数,可以使用./configure --help命令。

7.3.2  编译软件

在配置好编译选项后,系统已经生成了编译软件需要的Makefile,然后利用这些Makefile进行编译。编译软件执行make命令:

[root@CentOSvim73]# make

执行make 命令后make 会根据Makefile 文件来生成目标文件,如二进制程序等。

7.3.3  软件安装

编译完成后,执行make install 命令来安装软件:

[root@CentOSvim73]# #make install

一般情况下安装完成后就可以使用安装的软件了,如没有指定安装路径,一般的软件会备安装在/usr/local下面创建对应的文件夹,部分软件二进制文件会安装在/usr/bin或/usr/local/bin/目录下,对应的头文件会安装到/usr/include,软件帮助文档会安装到/usr/local/share目录下。

如果指定目录,则会在指定目录创建相应的文件夹。安装软件完毕后使用该软件需要使用绝对路径或对环境变量的进行配置,也就是需要把当前软件二进制文件的目录加入到系统的环境变量PATH中。

Vim是一款优秀的文本编辑器,丰富扩展了vi编辑器的很多功能,被广大开发者广泛使用,同类型的编辑软件还有Emacs等。通过示例7-6演示如何通过源代码安装该软件。示例中同时包含了安装软件时遇到的问题及解决方法。

(1)首先查看系统中有无Vim,如有先进行卸载,以免混淆。

【示例7-6】

#查看系统中是否有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

#查看当前软件属于哪个软件包

[root@CentOS~]# rpm -qf /usr/bin/vim

vim-enhanced-7.2.411-1.8.el6.x86_64

#将当前已安装的软件包卸载掉

[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)经过上面的步骤后,确认系统中已经不存在Vim,下面进行Vim的安装。Vim最新版可以在网站http://www.vim.org/下载。

【示例7-6】续

[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

#部分结果省略

vim73/src/configure.in

vim73/src/

[root@CentOSsoft]# cd vim73

#查看文件列表,部分结果省略

[root@CentOSvim73]# ls

configure README_unix.txt Makefile src

#第1步:进行软件的配置

[root@CentOSvim73]# ./configure

configure: creating cache auto/config.cache

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

#部分结果省略

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

#再次进行软件的配置

[root@CentOSvim73]# ./configure --prefix=/usr/local/vim73

configure: creating cache auto/config.cache

checking whether make sets $(MAKE)... yes

#部分结果省略

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步:进行软件的编译

[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

#部分结果省略

(3)经过上面的步骤后,Vim软件已经编译完成,下面继续Vim的安装。

【示例7-6】续

#第3步:进行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

#部分结果省略

[root@CentOSvim73]# vim --version

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)

(4)至此Vim软件安装完成。如需使用,需要使用绝对路径或设置环境变量PATH。

【示例7-6】续

#使用vim发现命令不存在

[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)

以上示例演示了如何通过源代码安装指定的软件,安装过程经过软件配置、软件编译和软件安装等步骤。安装软件时如果指定了安装目录没,则需要使用绝对路径或将该软件的二进制文件所在的目录加入到系统变量PATH路径中,以便在不使用绝对路径时仍然可以使用安装的软件。

喜欢可以购买《超容易的Linux系统管理入门书》。目前Linux中国正在举办互动,写书评就能拿书!

转载于:https://my.oschina.net/u/1011494/blog/207146

【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代...相关推荐

  1. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP...

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

  2. 【转载】应读者强烈要求给出《超容易的Linux系统管理入门书》一书的主要知识点...

    刚开始了一篇连载,收到广大Linux爱好者的反馈,非常欣慰.大家对Linux学习感到很迷茫,不知道学哪些内容,如何学习? <超容易的Linux系统管理入门书>一书是腾讯Linux专家在腾讯 ...

  3. 【转载】应广大群众的要求,今天开始连载《超容易的Linux系统管理入门书》一书...

    2019独角兽企业重金招聘Python工程师标准>>> 学习Linux容易嘛?我说超容易,你肯定不信.那学习Linux最好的学习方法是什么,就是脑子里面一直提问题,不停的提,时时刻刻 ...

  4. Linux 学习笔记之超详细基础linux命令 Part 3

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...

  5. [转载]前端代码规范 及 最佳实践

    http://blog.jobbole.com/79075/#_general_practices 本文作者: 伯乐在线 - 老码农 .未经许可,禁止转载! 欢迎分享原创到伯乐头条. 本文来自 Iso ...

  6. 【深度干货】以最佳实践为石油石化数字化转型加油

    5月16日,众多石油石化行业大咖汇聚正在召开的"2019中国石油石化企业信息技术交流大会"上,深入探讨以人工智能.大数据为代表的新一代信息技术在智慧油田.智能工厂.智能管道.智慧加 ...

  7. 【思维导图】【标准化、规范化文件】《使用MEEG进行神经成像数据分析和共享的最佳实践》 【脑机接口入门第一篇必备文章】

    文档原始下载链接:OSF Preprints | Best Practices in Data Analysis and Sharing in Neuroimaging using MEEG 参考文献 ...

  8. linux添加后门方法,超初级的linux后门制作方法

    超初级的linux后门制作方法 更新时间:2006年10月24日 00:00:00   作者: 众所周知,Linux的文件权限如: 777:666等,其实只要在相应的文件上加上UID的权限,就可以用到 ...

  9. linux磁盘扩容_超详尽!Linux云服务器存储扩容实操

    导语 | 随着业务的发展,业务数据不停的增长,原有的磁盘空间可能会出现磁盘空间不够用的情况,因此,需要对磁盘空间进行扩容,以满足业务数据增长的需求.本文总结了Linux环境下云服务器存储扩容的三种方式 ...

最新文章

  1. [OI]Noip 2018 题解总结(普及)
  2. C#学习Error问题:“System.NullReferenceException:未将对象引用设置到对象的实例”
  3. 解决使用CoreData时报duplicate symbol错误问题
  4. linux安装unzip及使用
  5. oracle ldap 配置,ldap 安装
  6. java程序设计实验报告册_20145215《Java程序设计》实验一实验报告
  7. 【数字电路】集成逻辑门电路
  8. 黑掉php网站,如何黑掉一个网站
  9. rfm模型python_Python pandas RFM模型应用实例详解
  10. 电脑上的记事本便签纸怎么用
  11. java 护眼背景,设置Eclipse配色方案--设置不同背景色,有效护眼
  12. one 主格 复数 宾格_主格和宾格
  13. onvif/rtsp转gb28181协议,无缝对接国标平台
  14. AndroidWear官方文档总结05 - 手持设备与穿戴设备的通知同步
  15. HTML5视频直播默认静音,HTML5教程 如何实现播放视频中暂停、关闭声音等操作
  16. 软件测试书清华大学出版社,清华大学出版社-图书详情-《软件测试技术与实践》...
  17. 使农村宽带民主化正在使它变得比原来更难
  18. 从Trade.dll到Tradex.dll,程序化交易接口的前世今生
  19. jsp+servlet+bootstrap开发java web在线考试管理系统
  20. 个人发布出租房信息需要注意什么

热门文章

  1. Ubuntu安装源安装nodejs
  2. RabbitMQ入门-Routing直连模式
  3. select,poll,epoll区别。
  4. CentOS虚拟机克隆后网卡配置问题
  5. MD5SHA加密util类(Java)
  6. 网规:第1章计算机网络原理-1.6广域网与接入
  7. SVG与UML图详解
  8. unbuntu nginx安装详解 /configure: error: the HTTP rewrite module requires the PCRE library
  9. linux安装 java jdk
  10. Docker容器相关命令