设为首页 收藏本站
查看: 1036|回复: 1

[经验分享] 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件

[复制链接]

尚未签到

发表于 2015-3-31 13:21:31 | 显示全部楼层 |阅读模式
  除了使用Linux的包管理机制进行软件的安装、更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装。从源码安装软件一般经过软件配置、编译软件、执行安装3个步骤。
  想每天听到小妞的语音播报,想学更多学校里和书本上学不到的IT技术或技能,欢迎关注微信公众号xiniubook2008。或加微博:我的图书我做主,参加活动,免费获书。 DSC0000.jpg
  
7.3.1  软件配置
  
  由于软件要依赖系统的底层库资源,软件配置主要功能为检查当前系统软硬件环境,确定当前系统是否满足当前软件需要的软件资源。配置命令一般如下:
  [iyunv@CentOSvim73]#./congure –prefix=/usr/local/vim73
  其中的--prefix 用来指定安装路径,编译好的二进制文件和其他文件将被安装到此处。
  不同的软件configure 脚本都提供丰富的选项,在执行完成后,系统会根据执行的选项和系统的配置生成一个编译规则文件Makefile。要查看当前软件配置时支持哪些参数,可以使用./configure --help命令。
7.3.2  编译软件
  在配置好编译选项后,系统已经生成了编译软件需要的Makefile,然后利用这些Makefile进行编译。编译软件执行make命令:
  [iyunv@CentOSvim73]# make
  执行make 命令后make 会根据Makefile 文件来生成目标文件,如二进制程序等。
7.3.3  软件安装
  编译完成后,执行make install 命令来安装软件:
  [iyunv@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软件
  [iyunv@CentOS~]# vim --version|head
  VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
  #查看vim文件位置
  [iyunv@CentOS~]# which vim
  /usr/bin/vim
  #查看当前软件属于哪个软件包
  [iyunv@CentOS~]# rpm -qf /usr/bin/vim
  vim-enhanced-7.2.411-1.8.el6.x86_64
  #将当前已安装的软件包卸载掉
  [iyunv@CentOS~]# rpm -e vim-enhanced-7.2.411-1.8.el6.x86_64
  #查看文件是否还存在
  [iyunv@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】续
  [iyunv@CentOS~ ]#cd /data/soft
  #上传源代码包
  [iyunv@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 错误
  #将源代码包解压
  [iyunv@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/
  [iyunv@CentOSsoft]# cd vim73
  #查看文件列表,部分结果省略
  [iyunv@CentOSvim73]# ls
  configure README_unix.txt Makefile src
  #第1步:进行软件的配置
  [iyunv@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包安装方式
  [iyunv@CentOSvim73]# cd -
  /cdrom/Packages
  [iyunv@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
  #安装依赖的包
  [iyunv@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%]
  [iyunv@CentOSPackages]# cd -
  /data/soft/vim73
  #再次进行软件的配置
  [iyunv@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步:进行软件的编译
  [iyunv@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的安装
  [iyunv@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
  #部分结果省略
  [iyunv@CentOSvim73]# vim --version
  VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
  (4)至此Vim软件安装完成。如需使用,需要使用绝对路径或设置环境变量PATH。
  【示例7-6】续
  #使用vim发现命令不存在
  [iyunv@CentOSvim73]# vim –version
  -bash: /usr/local/bin/vim: No such file or directory
  [iyunv@CentOSvim73]# cd /usr/local/vim73/
  [iyunv@CentOSvim73]# ls
  bin  share
  [iyunv@CentOSvim73]# export PATH=/usr/local/vim73/bin/:$PATH:.
  [iyunv@CentOSvim73]# vim --version
  VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 112013 03:32:13)
  以上示例演示了如何通过源代码安装指定的软件,安装过程经过软件配置、软件编译和软件安装等步骤。安装软件时如果指定了安装目录没,则需要使用绝对路径或将该软件的二进制文件所在的目录加入到系统变量PATH路径中,以便在不使用绝对路径时仍然可以使用安装的软件。
  
  
  喜欢可以购买《超容易的Linux系统管理入门书》。目前Linux中国正在举办互动,写书评就能拿书!
   DSC0001.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-52464-1-1.html 上篇帖子: [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架 下篇帖子: CentOS6.5安装Qt4.8.6+QtCreator2.6.1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表