Linux环境下源码编译安装软件

====1.下载,步骤略

====2.验证,部份官方下载同时提供签名,MD5,sha1,sha256等校准信息。

$gpg--verifygnupg-2.2.14.tar.bz2.siggnupg-2.2.14.tar.bz2

$md5sumarchlinux-2019.03.01-x86_64.iso

8164667750c46cf297720b21145e1e27archlinux-2019.03.01-x86_64.iso

$sha1sumarchlinux-2019.03.01-x86_64.iso

e32acb5a7b7cfb2bdba10697cce48ab69e13c186archlinux-2019.03.01-x86_64.iso

查看得出的校准码是否与官方提供的信息一致。

$md5sum-ctwrp-3.1.1-1-libra.img.md5

twrp-3.1.1-1-libra.img:OK

$sha256sum-ctwrp-3.1.1-1-libra.img.sha256

twrp-3.1.1-1-libra.img:OK

直接使用官网提供校准文件验证。

====3.查看自述文件README,安装说明INSTALL等文件信息。官网上有无非常安装要求等。

====4.解包tar,释放出源代码文件

$tarzxvfxxx.tar.gzxxx.tgz//gzip压缩的tarball

$tarjxvfxxx.tar.bz2//bzip2压缩的tarball文件

====5.配置./configure针对当前系统、软件环境,配置好安装参数,生成Makefile

执行“./configure--help”可以查看帮助

--prefix=软件安装目录(若不指定任何配置选项查看linux是什么系统,将采用默认值)

$./configure--prefix=/usr/local/xxxor///opt/XXX...

====6.编译make将源代码文件变为二补码的可执行程序

$make

====7.编译检查

$makecheck

====8.安装makeinstall将编译好的程序文件复制到系统中

$sudomakeinstall

====9.清除makeclean拿来消除编译联接过程中的一些临时文件

$makeclean

====10.清除makeuninstall拿来卸载相关应用程序,

$makeuninstall

若无异常linux系统编程,按上述步骤安装即可。若碰到问题可继续往下看。

===============================

补充说明:

a.安装环境可能须要自动安装gcc,make等软件包,根据Linux支持的安装命令安装即可。或则yum-ygroupinstall"DevelopmentTools"手动安装基本开发工具。

b.$./configure--prefix=/指定路径:这儿可以自动指定安装路径,或则使用配置文件默认的路径

大部份典型的Linux发行版的文件系统层次结构都遵照文件系统层次化标准(FHS)

新软件默认安装在系统的/usr/local目录中。

这是根据FHS中“/usr/local层级是为系统管理员本地安装软件时使用的,它在系统软件更新覆盖时是安全的。

/usr/local层级以某种形式复制了根目录,你可以

在/usr/local/bin这儿找到可执行程序,

在/usr/local/lib中找到库,

在/usr/local/share中找到构架无关的文件,等等。

使用/usr/local树作为你订制安装的软件位置的惟一问题是,你的软件的文件将在这儿混杂在一起。

尤其是你安装了多个软件以后,将很难去确切地跟踪/usr/local/bin和/usr/local/lib中的那个文件究竟属于那个软件。

它似乎不会造成系统的问题。虽然,/usr/bin也是一样混乱的。并且,有三天你想去卸载一个手工安装的软件时它会将成为一个问题。

要解决这个问题,我一般喜欢安装订制的软件到/opt子目录下。再度引用FHS:“/opt是为安装附加的应用程序软件包而保留的。

因而,我们将在/opt下创建一个子目录用于安装。而且,假如有三天我想去卸载它,我只是很简单地去删掉那种目录:

c.注意查看作者提供的README,INSTALL等文件

例如gunpg软件的README提供的安装步骤。

Aswithallpackages,youjusthavetodo

./configure

make

makecheck

makeinstall

......

Youmayrun

gpgconf--list-dirs

toviewthedefaultdirectoriesusedbyGnuPG.

提供了查看默认安装路径的方式。

例如gunpg软件的INSTALL提供的安装步骤。

Thesimplestwaytocompilethispackageis:

1.`cd'tothedirectorycontainingthepackage'ssourcecodeandtype

`./configure'toconfigurethepackageforyoursystem.

Running`configure'mighttakeawhile.Whilerunning,itprints

somemessagestellingwhichfeaturesitischeckingfor.

2.Type`make'tocompilethepackage.

3.Optionally,type`makecheck'torunanyself-teststhatcomewith

thepackage.

4.Type`makeinstall'toinstalltheprogramsandanydatafilesand

documentation.

5.Youcanremovetheprogrambinariesandobjectfilesfromthe

sourcecodedirectorybytyping`makeclean'.Toalsoremovethe

filesthat`configure'created(soyoucancompilethepackagefor

adifferentkindofcomputer),type`makedistclean'.Thereis

alsoa`makemaintainer-clean'target,butthatisintendedmainly

forthepackage'sdevelopers.Ifyouuseit,youmayhavetoget

allsortsofotherprogramsinordertoregeneratefilesthatcame

withthedistribution.

......

Bydefault,`makeinstall'installsthepackage'scommandsunder

`/usr/local/bin',includefilesunder`/usr/local/include',etc.You

canspecifyaninstallationprefixotherthan`/usr/local'bygiving

`configure'theoption`--prefix=PREFIX'.

有安装步骤及安装路径的描述等

==========

原文:

./configure:

解压完成就即将开始安装了(补充一点,开始configure之前,如有必要,请使用patch工具为源码打上相应的补丁),

首先跳转到源码的解压目录,众所周知,开始configure前还是应当仔细阅读源码目录下的README或则INSTALL文件,很多安装中的注意事项在这儿都有所列举,

configure实际上是一个脚本文件,在当前目录中键入”./configure”,shell都会运行当前目录下的configure脚本

有一点必须说明,在整个configure过程,虽然编译仍未进行,configure仅仅是做编译相关的打算工作,它主要对您当前的工作平台做一些依赖性检测,

例如编译器是否安装,联接器是否存在,假如在检查的过程没有任何错误,你很辛运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,

其实configure支持及其丰富的命令行参数linux软件如何安装,可以键入”./configre–help”获取具体的信息。

总的来说,此文件有两个功能:1、让用户选取编译特点;2、检查编译环境。configure执行后将生成MakeFile文件。

make

假如configure过程正确完成,这么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,

事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,通常情况下,make会依照Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,

生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序。

3、配置过程

3.1更改PATH环境变量linux软件如何安装,以才能辨识此程序的二补码文件路径

更改/etc/profile文件,在文件中添加:

exportPATH=$PATH:/path/to/somewhere#记得是可执行文件所在的目录,路径中不要包含可执行文件。

之后执行:

source/etc/profile#是我们的更改生效

3.2降低系统搜索库文件的路径

默认情况下,系统搜索库文件的路径/lib,/usr/lib;要平添额外搜救路径(注意:有的程序不提供库文件,那就不须要此设置了)

在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要平添的路径直接写至此文件中;之后执行如下命令使其生效:

ldconfig

3.3降低系统搜索头文件的路径

假如程序提供了库文件,也会相应的提供头文件,通常在安装目录的include目录下,系统默认扫描头文件的路径是:/usr/include。

我们可以在/usr/include下用链接联接到我们安装程序的头文件。

ln-s/usr/local/nginx/include/usr/include/yourname

==================

深入理解软件包的配置、编译与安装

......

================

====20190320安装Gnupg

fedora29xfac下源码安装gnupg数字签名软件

按上述步骤执行到./configure就报错。

内容十分多,命令行下还都一种颜色,没有斜体等,看不到重点,中间有无数个Yes,无数个No.

虽然主要看最下边几行即可,是首要解决的问题,根据提示解决后再试。

libassuan-2.5.3.tar.bz2

libgcrypt-1.8.4.tar.bz2

libgpg-error-1.36.tar.bz2

libksba-1.3.5.tar.bz2

npth-1.6.tar.bz2

提示信息就有直达网址,分别下载解压缩,配置,编译,安装这几个包即可。

另外,后续的编译make及安装命令,同样会显示一大堆的信息,不过是彩色的,关键信息,

例如OK,成功完成的标志信息会使用显眼的加粗红色表示。

不晓得怎么能让configure的执行也能提供彩色提示。

本文原创地址:https://www.linuxprobe.com/lhjxymbyazrj.html编辑:刘遄,审核员:暂无