本篇博文中用到的所有软件和工具都可以从51cto下载,地址:http://down.51cto.com/data/676524

一、 源代码安装软件

1、源代码编译概述
虽然通过RPM软件包大大简化了在RHEL系统中安装软件的难度,但在有些情况下,仍然需要使用源代码编译的方式为系统安装新的应用程序,例如以下几种情况:
  • 安装较新版本的应用程序时。Linux系统中的软件大都是开源软件,这些软件总是以源码的形式最先发布,之后才会逐渐出现rpm、deb等封装包。下载应用程序的最新源码并编译安装,可以在程序功能、安全补丁等方面得到及时更新。
  • 当前安装的程序无法满足应用需求时。对于RPM格式封装的应用程序,一般只包含了该软件所能实现的一小部分功能,通过对程序源代码进行重新配置并编译安装后,可以定制更灵活、更丰富的功能。
  • 为应用程序添加新的功能时。当需要对现有的程序源代码进行适当修改,以便增加新的功能时,也必须释放出该软件的源代码,进行修改后再重新编译安装。
编译源代码需要相应的开发环境,在RHEL系统中广泛使用的是一个名为gcc的C/C++语言编译器。我们可以使用“rpm -qa”命令检查系统中是否已经安装了gcc编译器,没有的话可以使用“yum install”命令安装。

2、源代码编译安装的基本过程

源代码编译安装的基本过程包括解包、配置、编译、安装这四个通用步骤。

下面以安装ntfs-3g软件为例介绍源码编译安装的过程,这个软件的作用是可以在Linux系统中支持ntfs格式的分区。

(1)解包
大部分的软件源码都是压缩文件,必须先解压。虽然可以在任何地方解开软件的源码,但是一般建议将各种软件的源码文件统一保存到“/usr/src/”或“/tmp/”目录中,以便于集中管理。下面将ntfs-3g解压到“/usr/src”目录,并进入到解压后产生的目录中。
# tar zxvf ntfs-3g-2009.4.4.tgz -C /usr/src
# cd /usr/src/ntfs-3g-2009.4.4/

(2)配置
通过配置可以决定启用软件的哪些功能。配置工作通常由源代码目录中的“configure”脚本文件来完成,具体配置参数可以在源代码目录中执行“./configure --help”进行查看(“./configure”表示执行当前目录下的configure文件)。
不同的应用程序其配置参数会存在区别,但是有一个“--prefix”参数却是大多数开源软件所通用的,该配置参数用于指定软件包安装的目标文件夹。
下面对ntfs-3g源码包进行配置,指定安装目录为“/usr/local/ntfs”。
# ./configure –prefix=/usr/local/ntfs
配置过程一般需要一定的时间,期间会在屏幕上显示大量的输出信息。配置结果将保存到源码目录中的makefile文件中。
如果在配置过程中出现错误,通常是缺少相关的依赖软件包所致,一般只需根据提示安装对应的软件即可。
(3)编译
编译的过程主要是根据makefile文件中的配置信息,将源代码编译、连接成可执行程序。执行“make”命令可以完成编译工作,一般需要比配置步骤更长的时间,期间同样会显示大量的编译过程信息。
(4)安装
编译完成以后,就可以执行“make install”命令将软件的执行程序、配置文件等相关文件复制到Linux系统中了,即应用程序的最后“安装”过程。安装的步骤一般不需要太长的时间。
安装完成后,执行“ntfs-3g”命令就会显示软件的帮助信息,介绍其使用方法。其命令示例为:“ntfs-3g /dev/sda1 /mnt/windows”,如果系统中存在一个ntfs文件系统的分区,就可以使用这条命令将其挂载。

二、 软件安装综合实例

1、安装Linux QQ
Linuxqq的安装文件为linuxqq-v1.0.2-beta1.i386.rpm,将文件下载之后传到Linux虚拟机中。在主机和Linux虚拟机之间传文件可以使用前面介绍过的图形界面下的“连接到服务器”工具,具体参看http://80821.blog.51cto.com/70821/1112257。
将安装文件传到Linux中之后,直接在文件所在目录下用yum命令进行安装。
# yum install linuxqq.rpm
执行命令后会发现提示需要安装四十几个依赖包,好在yum可以自动将这些软件包全装上。
安装完成后,在“应用程序”菜单里可以找到安装好的QQ,不过这个QQ的版本非常低,Linux毕竟主要是用作服务器,估计也很少有人会用一台服务器聊QQ吧。

2、安装OpenOffice

OpenOffice是一款著名的开源软件,可以在Windows和Linux等很多操作系统上使用,并且能完全兼容Microsoft Office。
这个软件的个头比较大,安装过程也稍微麻烦一些。
(1)解包并进入安装目录
将软件传到Linux中,首先将其解压到当前目录下。
# tar zxvf openoffice_zh-CN.tar.gz
解压后会生成一个名为“zh-CN”的目录,其下有3个子目录,所有的安装包都存放在其中的RPMS目录里(共有45个安装包,截图中只显示了一部分)。

(2)安装所有软件包
在RPMS目录里执行“yum install *.rpm”命令一次性安装所有的软件包。
(3)安装桌面菜单软件包
OpenOffice的主程序安装完成后,还要再继续安装一个桌面菜单软件包,这个软件包位于“RPMS/desktop-integration”目录中。

在这个目录中有4个软件包,分别对应了不同的Linux发行版本,在我们的RHEL6中应该安装其中第3个名为“openoffice.org.3.4-redhat-menus-3.4-9593.noarch.rpm”的软件包。

OpenOffice安装完成后,在“应用程序”菜单里会看到多了一项“办公”菜单。

不过这时的OpenOffice打开之后显示的全是乱码,我们还必须在Linux中安装“宋体”字体,OpenOffice才能正常显示。
“宋体”的字体文件是simsun.ttc,下载该文件之后传到Linux虚拟机中。
新建simsun文件夹:
# mkdir /usr/share/fonts/simsun
将文件拷贝到simsun目录:
# cp simsun.ttc /usr/share/fonts/simsun
生成字体索引文件:
# mkfontscale
# mkfontdir 
更新字体缓存:
#fc-cache
字体安装好之后,OpenOffice终于可以正常显示了。

RHEL6入门系列之二十七,源码安装及软件安装综合实例相关推荐

  1. Dubbo系列(二)源码分析之SPI机制

    Dubbo系列(二)源码分析之SPI机制 在阅读Dubbo源码时,常常看到 ExtensionLoader.getExtensionLoader(*.class).getAdaptiveExtensi ...

  2. Bert系列(二)——源码解读之模型主体

    本篇文章主要是解读模型主体代码modeling.py.在阅读这篇文章之前希望读者们对bert的相关理论有一定的了解,尤其是transformer的结构原理,网上的资料很多,本文内容对原理部分就不做过多 ...

  3. mysql command line client 目标不对_MySql轻松入门系列-第一站 从源码角度轻松认识mysql整体框架图...

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  4. MySql轻松入门系列——第一站 从源码角度轻松认识mysql整体框架图

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  5. 源码 连接mysql_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  6. java监听mysql某张表的insert操作_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  7. mysql threads create_MySql轻松入门系列——第一站 从源码角度轻松认识mysql整体框架图...

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  8. 尖峰 mysql 源码方向_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlser ...

  9. mysql源码_MySql轻松入门系列——第一站 从源码角度轻松认识mysql整体框架图

    一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看来在国内大环境下是不怎么流行了,看样子我再写sqlserver是不可 ...

最新文章

  1. mysql source防止乱码
  2. java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转
  3. JQuery:deferred对象的方法
  4. Java多线程详解(如何创建线程)
  5. SQL笔记三:MySQL常用函数
  6. oracle学习资料
  7. 大数据:新动力 新机遇 新途径
  8. java jdomxml 换行_使用JDOM读写XML的方法
  9. ubuntu 10.04 trackpoint
  10. 测试网速_怎样测试两台电脑之间的网速
  11. web端 小米商城网站总结
  12. 明朝后期,翰林学士公鼐执教东宫,时任礼部侍郎
  13. chart.js-折线图
  14. Echarts实现3d 地图实现飞线效果
  15. 爬虫入门教程⑧— BeautifulSoup解析豆瓣即将上映的电影信息
  16. unity关于shader投影 Fallback实际上并不是备胎
  17. HTML怎么制作镂空文字遮罩,用纯 CSS 实现镂空效果
  18. 深度解决企业传统办公痛点,华为云桌面使能云上办公!
  19. 同济大学计算机考研调剂,2017年同济大学考研调剂公告
  20. yarn run lint

热门文章

  1. KMP算法的来龙去脉
  2. java---switch
  3. Linux 桌面的安装
  4. C++模板类注意事项
  5. 客户跟进节奏(转至索菲外贸日记)
  6. 微信运动:抓住用户的小九九,一个都别跑
  7. 互联网金融产品做第三方支付平台托管需要注意什么?
  8. [Machine Learning] logistic函数和softmax函数
  9. BEA-141281 unable to get file lock, will retry ...
  10. sqlprofiler 常用调试方法