软件包安装之源码安装

  • A+
所属分类:运维教程

一、产生执行文件

1.执行文件的分类

执行文件包括程序、链接库和脚本

2.产生二进制的方法

A.编译:将开发使用的高级编程语言转译成二进制

B.编译程序:负责执行编译工作的程序,例如:c语言编译器(gcc)

3.编译的步骤

A.先检查程序代码是否正确

B.把程序代码转换成机器码

C.程序代码中使用了其他的链接库,则链接产生操作系统的相关信息

D.存储为可执行文件,即二进制文件

4.链接:链接是存储在链接库中的机器码存储到程序中,这样开发人员就不需要重复撰写相同的程序代码,链接分为静态链接和动态链接

A.静态链接:在链接的过程中,把二进制文件执行时需要的机器码复制到该二进制文件中。

静态链接的特点:产生二进制文件体积大、需要更多的内存、可独立使用

B.动态链接:在链接过程中,编译程序不会将链接库中的机器码复制到可执行文件中,而是存储了可执行文件执行时需要用到的那个链接库、链接库版本信息。

动态链接的特点:体积较小、节约内存、无法独立使用。

5.A.使用file命令来查询程序文件使用了哪种链接方式

[root@noc tmp]# which setup

/usr/sbin/setup

[root@noc tmp]# file /usr/sbin/setup

/usr/sbin/setup: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

以上结果表明了该程序使用的是动态链接方式,由(user shared libs)看出

B.查询链接到的链接库,如果程序使用动态链接,使用ldd命令查询该程序执行时需要哪些链接库。

[root@noc tmp]# ldd /usr/sbin/setup

linux-gate.so.1 =>  (0x00fef000)

libnewt.so.0.52 => /usr/lib/libnewt.so.0.52 (0x009b1000)

libc.so.6 => /lib/libc.so.6 (0×00824000)

libslang.so.2 => /usr/lib/libslang.so.2 (0x00a4e000)

libm.so.6 => /lib/libm.so.6 (0x0097f000)

/lib/ld-linux.so.2 (0×00805000)

libdl.so.2 => /lib/libdl.so.2 (0x009aa000)

链接库的名称=>链接库的文件名 内存地址

C.如何加载动态链接库使用源码安装软件后,如何加载动态函数链接库文件,让其他的程序使用。

默认函数库存储路径为:/usr/lib

/usr/local/lib

[root@noc tmp]# cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/lib

[root@noc tmp]# ldconfig -v

二、源码安装软件包的步骤

1.获取源代码(推荐在软件的官方网站上获取)

在windows系统下,先下载然后上传到linux服务器

在linux下直接使用wget命令下载url

2.编译前的准备工作

A.解压文件

# tar -zxf mysql-5.1.44.tar.gz

B.配置编译环境

多数从源码安装软件时,需要安装如下几个软件包:

#automake

#autoconf  以上两个在配置编译选项时协助配置脚本配置编译选项

#gcc  c语言编译器

#gcc-c++  c++编译器

有可能在安装的过程中会提示依赖的软件包,请安装她们。

C.阅读安装说明,主要有两个(README和INSTALL)

README:软件的基本信息,软件有什么功能,作者是哪个人,遇到问题联系谁。

INSTALL:这个文件会告诉你如何安装它

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -

shell> cd mysql-VERSION

shell> ./configure –prefix=/usr/local/mysql

shell> make

shell> make install

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> cd /usr/local/mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

shell> bin/mysql_install_db –user=mysql

shell> chown -R root .

shell> chown -R mysql var

shell> bin/mysqld_safe –user=mysql &

D.配置编译选项

Configure脚本可以使用一些选项来指定编译时的选项,然后生成一个编译规则文件Makefile。

3.开始编译

使用make命令来生成二进制文件

4.安装

使用make install,将编译好的二进制文件复制到安装目录。

三、卸载

#rm –rf PREFIX

由荣新于老师投稿,崔阳后期排版。

  • 问答中心
  • 微信小程序扫一扫
  • weinxin
  • 微信公众
  • 微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:52   其中:访客  1   博主  0

    • avatar zhaoyue 1

      签到成功!签到时间:今日的09:57:50 GMT+0800 (中国标准时间),每日打卡,生活更精彩哦!