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”,都会运行当前目录下的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的执行也能提供彩色提示。
本文原创地址://gulass.cn/lhjxymbyazrj.html编辑:刘遄,审核员:暂无