精华内容
下载资源
问答
  • Linux 源码安装软件

    千次阅读 2018-01-13 23:36:15
    linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,...

    在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,到处编译么,而常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包,这个通过rpm文件的后缀名就可以初见端倪,比如ppc,sparc,i386之类,在这里不做过多的陈述,其实源码安装软件远没有很多朋友想象的那么复杂,下面我在这里尽可能详细的做一些陈述,如有谬误,欢迎朋友们拍砖!

    1、基本介绍

    1.1 程序的组成部分

    Linux下程序大都是由以下几部分组成:

    • 二进制文件:也就是可以运行的程序文件;
    • 库文件:就是通常我们见到的lib目录下的文件;
    • 配置文件:这个不必多说,都知道;
    • 帮助文档:通常是我们在linux下用man命令查看的命令的文档。
    1.2 linux下程序的存放目录

    linux程序的存放目录大致有三个地方:

    • /etc, /bin, /sbin, /lib :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上;
    • /usr/bin,/usr/sbin,/usr/lib:操作系统核心功能,可以单独分区;
    • /usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:这个用于安装第三方程序,分别对应了二进制文件、库文件、配置文件、帮助文档的目录。

    通常来说我们安装程序就安装在 /usr/local目录下。

    2、安装过程

    安装的具体步骤:

    $ tar zxvf XXXX.tar.gz (or tar jxvf XXXX.tar.bz2)
    $ cd XXXX
    $ ./configure
    $ make
    $ make install

    清理安装后的临时文件:

    $ make clean

    卸载软件

    # make uninstall
    2.1 解压源码包

    最常见源码包的就两种(XXXX.tar.gz or XXXX.tar.bz2),其实这些源码包都是由2个工具压缩而成的,tar.gz结尾的文件用到的工具是targunzip,而tar.bz2结尾的文件所使用的工具是tar和bzip2,之所以这样做是因为,tar仅仅能够打包多个文件但是没有压缩的功能,而gz和bz2却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过tar先将不同的源文件打包,然后再通过gunzip或者bzip2压缩后发布的,当然这两个步骤可以通过一条命令实现:

    $ tar zcvf XXXX.tar.gz XXXX(or tar jcvf XXXX.tar.bz2 XXXX)

    解压的相关命令如下:

    $ tar zxvf XXXX.tar.gz
    $ tar jxvf XXXX.tar.bz2
    2.2 ./configure:

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

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

    设置软件的安装目录:

    $ ./configure --prefix=/opt/XXX

    检查configure返回结果,为0代表运行成功:

    $ echo $?
    0
    2.3 make

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

    编译源码:

    $ make

    检查是否编译成功,为0代表运行成功:

    $ echo &?
    0
    2.4 make install

    当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限,临时切换到root是一个不错的选择,”install”只是Makefile文件中的一个标号,”make install”代表着make工具执行Makefile文件中”install”标号下的所有相关操作,如果在configure阶段没有使用”–prefix=/opt/XXX”指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于您的PATH中,那么安装已经基本结束。

    开始安装

    #make install

    到此程序就算安装完成了,但是不要忘了还有后续的配置。

    2.5 make clean & make uninstall

    这两个步骤只是安装的后续操作,有一点必须注意,”clean”和”uninstall”也是Makefile文件中相应的两个标号,执行这两个步骤的时候Makefile文件必要保留,”make clean”用来清除编译连接过程中的一些临时文件,”make uninstall”是卸载相关应用程序,与make install类似,make uninstall也需要切换到root执行,不过”uninstall”标号在好多Makefile中都被省略掉了,朋友们完全可以自己在相应的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
    展开全文
  • 如何下载Linux软件源码

    千次阅读 2017-10-10 16:22:23
    下面以ls命令为例: 步骤1:用which命令找到ls命令所在的目录...步骤3:去GNU官网http://www.gnu.org/gnu/gnu.html去下载相应的软件包 相关推荐: http://blog.csdn.net/yangzhenping/article/details/506

    下面以ls命令为例:

    步骤1:用which命令找到ls命令所在的目录

    步骤2:用rpm命令找到命令所在的包,rpm -qf  /usr/bin/ls

    步骤3:去GNU官网http://www.gnu.org/gnu/gnu.html去下载相应的软件包



    相关推荐:

    http://blog.csdn.net/yangzhenping/article/details/50629166

    http://www.cnblogs.com/sky-heaven/p/5475798.html

    http://blog.csdn.net/ljianhui/article/details/46449417


    展开全文
  • linux下在截图软件源码工程,c语言源码,整个工程非常简单,只有一个源文件,一个头文件。可用于跨平台编译。 只依赖于libpng库,跨平台在截图工具。 linux下在命令行截图工具源码 linux下framebuffer截图工具源码...
  • linux源码软件的安装与卸载

    万次阅读 多人点赞 2012-05-15 21:59:40
    linux源码软件的安装与卸载 3人收藏此文章,我要收藏 发表于1年前 , 已有593次阅读 共0个评论 Linux软件安装与卸载(源码包形式):一般情况下linux程序的发布不能像windows那样,直接打包成一个setup.exe...

    linux源码包软件的安装与卸载

    3人收藏此文章,我要收藏 发表于1年前 , 已有 593次阅读 共 0个评论

    Linux软件安装与卸载(源码包形式):一般情况下linux程序的发布不能像windows那样,直接打包成一个setup.exe文件,然用户安装 时直接按下一步就完成了,因为它对库的依赖比较严重下面就来看下linux下软件源码包安装与卸载:

    Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随 意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

    1、*.src.rpm形式的源代码软件包
    安装:rpm -rebuild *.src.rpm
    cd /usr/src/dist/RPMS
    rpm -ivh *.rpm
    卸载:rpm -e packgename
    说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename 如前所述。

    2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
    安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
    然后进入解压后的目录:
    ./configure 配置
    make 编译
    make install 安装
    卸载:make uninstall 或 手动删除
    说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净, 那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者 使用。

    关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包? 如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里 的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文 件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为 bin的目录(仅有少数例外)。


    展开全文
  • linux下ubuntu 软件源码下载地址

    千次阅读 2013-10-09 14:13:49
    http://fossies.org/linux/misc/

    1. 源码地址: http://fossies.org/linux/misc/

    2. 查找头文件对应的源码包:http://packages.ubuntu.com/

    3. cef3 sdk下载地址:http://cefbuilds.com/

    4. 安装7zip:

    sudo apt-get install p7zip
    whereis 7za
    7za: /usr/bin/7za /usr/share/man/man1/7za.1.gz

    Uncompressing a *.7z 7zip files in Linux using p7zip

    p7zip -d cef_binary_3.1621.1450_linux64.7z

    5. 查找缺少的库

    apt-cache search keyword

    6. 查看符号表

    nm -D /usr/local/lib/libGL.so | grep glapi


    展开全文
  • linux源码包编译安装软件详解

    千次阅读 2017-07-21 00:27:01
    make install源码安装三部曲,一直在使用却一直知其然不知其所以然,今天就说说所以然。 源码到成为可运行程序经历了一下步骤 源码–>预处理–>编译–>汇编–>链接–>执行 make就做了编译汇编的工作,当然也也不是...
  • 如何下载Linux命令源码

    千次阅读 2018-02-25 10:15:29
    命令的源代码是以一个软件包为单元的,放在一个软件包的源代码中,若要下载一个命令的源代码,就要把这个命令所属的软件包源代码都下载下来。命令的源代码通常在源代码码的src目录中,相应的主文件名为cmd.c,其中...
  • linux软件安装(一)——源码安装

    千次阅读 2016-08-06 20:25:31
    Linux软件简介Linux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码。 而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。...
  • Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了...
  • linux源码安装文件

    千次阅读 2014-09-10 09:27:05
    1,下载源码 2,源码最好
  • 原文地址:... ... source insight的强大我就不说了,谁用谁知道,但强大功能的背后都有一套复杂的使用方法,动辄几十页的说明文档看着就头疼,真正常用的功能就那么几个,在此介绍下针对嵌入式linux爱好
  • linux局域网聊天软件server+client 源码

    热门讨论 2013-01-12 21:17:55
    linux下的局域网聊天软件完整源码和详细注释, 可实现群聊、私聊、文件上传下载 对c语言多线程编程、网络编程的学习很有帮助
  • Linux编译安装源码软件

    千次阅读 2007-10-12 13:50:00
    顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有fcitx;lumaqq;Lumaqq及scim等; 但软件的源代码...
  • Linux下获取软件源码的几种方法

    千次阅读 2016-07-15 12:55:09
    Linux发行版下通过包管理器下载因为不同的发行版有不同的软件包管理机制,所以在此我只简单介绍ArchLinux和Ubuntu的源码下载方法,其他的发行版请自行参考网上相关文档。ArchLinux下通过abs(Arch Build System)...
  • Linux源码包的一般安装步骤

    万次阅读 2017-02-25 21:10:52
    Linux源码包的一般安装步骤,经常用到,自己总结一下 第一步: 下载源码包,解压 tar -xvf *.tar /tar -xvjf *tar.bz2 /unzip -o *.zip 可使用 wget 命令“http:\\”直接下载到主机 (系统预设源代码保存位置 /...
  • 1.下载搜狗输入法for linux源码包:

    千次阅读 2013-11-05 12:18:57
    1.下载搜狗输入法for linux源码包: fcitx-sogoupinyin_0.0.0.orig.tar.gz 2.由于搜狗输入法for linux依赖fcitx 4.2.6及以上版本,而ubuntu 12.10默认的版本较低,所以我们必须先升级fcitx。
  • Linux软件工程师(C语言)实用教程_实例源码,与电子档配套的代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,466
精华内容 80,186
关键字:

linux源码软件下载

linux 订阅