• Linux源码安装软件


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

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

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

    $ gpg --verify gnupg-2.2.14.tar.bz2.sig gnupg-2.2.14.tar.bz2 

    $ md5sum archlinux-2019.03.01-x86_64.iso
    8164667750c46cf297720b21145e1e27 archlinux-2019.03.01-x86_64.iso
    $ sha1sum archlinux-2019.03.01-x86_64.iso
    e32acb5a7b7cfb2bdba10697cce48ab69e13c186 archlinux-2019.03.01-x86_64.iso
    查看得出的校验码是否与官方提供的信息一致。

    $ md5sum -c twrp-3.1.1-1-libra.img.md5
    twrp-3.1.1-1-libra.img: OK
    $ sha256sum -c twrp-3.1.1-1-libra.img.sha256
    twrp-3.1.1-1-libra.img: OK
    直接使用官网提供校验文件验证。

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

    ==== 4. 解包 tar,释放出源代码文件
    $ tar zxvf xxx.tar.gz    xxx.tgz  //gzip压缩的tarball  
    $ tar jxvf xxx.tar.bz2    //bzip2压缩的tarball文件

    ==== 5. 配置 ./configure 针对当前系统、软件环境,配置好安装参数,生成Makefile 
    执行“./configure --help” 可以查看帮助
    --prefix=软件安装目录 (若不指定任何配置选项,将采用默认值)
    $ ./configure --prefix=/usr/local/xxx or///opt/XXX...

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

    ==== 7. 编译检测
    $ make check 

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

    ==== 9. 清理 make clean 用来清除编译连接过程中的一些临时文件
    $ make clean

    ==== 10. 清理 make uninstall 用来卸载相关应用程序,
    $ make uninstall

    若无异常,按上述步骤安装即可。若遇到问题可继续往下看。
    ===============================

    补充说明:

    a. 安装环境可能需要手动安装gcc,make等软件包,按照Linux支持的安装命令安装即可。或者yum -y groupinstall "Development Tools" 自动安装基本开发工具。

    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 下创建一个子目录用于安装。并且,如果有一天我想去卸载它,我只是很简单地去删除那个目录:

    https://linux.cn/article-9172-1.html
    http://www.pathname.com/fhs/

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

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

    As with all packages, you just have to do
    ./configure
    make
    make check
    make install
    ......
    You may run
    gpgconf --list-dirs
    to view the default directories used by GnuPG.

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

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

    The simplest way to compile this package is:

    1. `cd' to the directory containing the package's source code and type
    `./configure' to configure the package for your system.
    Running `configure' might take a while. While running, it prints
    some messages telling which features it is checking for.
    2. Type `make' to compile the package.
    3. Optionally, type `make check' to run any self-tests that come with
    the package.
    4. Type `make install' to install the programs and any data files and
    documentation.
    5. You can remove the program binaries and object files from the
    source code directory by typing `make clean'. To also remove the
    files that `configure' created (so you can compile the package for
    a different kind of computer), type `make distclean'. There is
    also a `make maintainer-clean' target, but that is intended mainly
    for the package's developers. If you use it, you may have to get
    all sorts of other programs in order to regenerate files that came
    with the distribution.
    ......
    By default, `make install' installs the package's commands under
    `/usr/local/bin', include files under `/usr/local/include', etc. You
    can specify an installation prefix other than `/usr/local' by giving
    `configure' the option `--prefix=PREFIX'.

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

    ==========

    原文:https://blog.csdn.net/liupeifeng3514/article/details/79054510
    ./configure:
    解压完成就正式开始安装了(补充一点,开始configure之前,如有必要,请使用patch工具为源码打上相应的补丁),
    首先跳转到源码的解压目录,众所周知,开始configure前还是应该仔细阅读源码目录下的README或者INSTALL文件,好多安装中的注意事项在这里都有所罗列,
    configure实际上是一个脚本文件,在当前目录中键入”./configure”,shell就会运行当前目录下的configure脚本,
    有一点必须说明,在整个configure过程,其实编译尚未进行,configure仅仅是做编译相关的准备工作,它主要对您当前的工作平台做一些依赖性检查,
    比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,你很幸运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,
    当然configure支持及其丰富的命令行参数,可以键入”./configre –help”获取具体的信息。
    总的来说,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。

    make
    如果configure过程正确完成,那么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,
    事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,
    生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序。


    3、配置过程
    3.1 修改PATH环境变量,以能够识别此程序的二进制文件路径
    修改/etc/profile文件,在文件中添加:
    export PATH=$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
    ==================

    http://www.jinbuguo.com/linux/understand_package_install.html
    深入理解软件包的配置、编译与安装

    ......

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

    ==== 20190320 安装 Gnupg 
    fedora 29 xfac 下源码安装 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 的执行也能提供彩色提示。

  • 相关阅读:
    (bfs入门)宝岛探险
    (bfs入门)走迷宫
    环形的处理P1880 [NOI1995]石子合并
    ZOJ2227Minimax三角划分
    UVA11400 Lighting System Design
    字符串匹配入门
    UVA12563 Jin Ge Jin Qu hao
    HDU1619 Unidirectional TSP
    ZOJ2581Tour
    UVA1025 A Spy in the Metro
  • 原文地址:https://www.cnblogs.com/sztom/p/10565648.html
Copyright © 2020-2023  润新知