zoukankan      html  css  js  c++  java
  • 编译安装相关命令和工具

    编译安装相关命令和工具

    编译安装的优点:

    • 可以获得更新的软件(软件更新时,可能还没来得及制作rpm软件包)。
    • 编译安装的软件可以按需定制。编译安装时可以通过开启、禁用某些功能获得更好的性能。
    • 编译安装软件会按系统硬件的实际情况编译某些模块,因此拥有更好的适用性。
    • 高级用户可以按需要修改源代码,为自己量身定制软件。

    一、安装编译环境

    在编译安装应用之前,首先需要安装编译环境。Linux系统中的大多数软件使用的编译环境都是gcc,因此应该先安装gcc编译环境。如果软件需要使用图形界面,可能还需要安装gtk+编译环境(gtk+是Linux系统中的图形编译环境,与gcc一样,是一个开源软件)。

    (1)可以使用rpm命令检查系统是否已经安装了gcc编译环境:

    [root@localhost ~]# rpm -qa | grep gcc
    gcc-c++-4.1.2-14.el5
    libgcc-4.1.2-14.el5
    gcc-4.1.2-14.el5
    gcc-gfortran-4.1.2-14.el5

    如果系统中没有安装编译环境,可以挂载光驱,然后在光驱的安装包目录中使用rpm -ivh进行安装。

    (2)按照同样的方法安装gtk+编译环境。

    二、获取软件工具wget、links

    互联网上有许多开放源码软件,这些软件可以为用户完成各个方面的应用需要。下面是国内比较有影响力的一些Linux软件下载站点:

    China UNIX软件下载中心:http://download.chinaunix.net/disc/linux/

    中国IT实验室下载中心:http://download.chinaitlab.com/

    红联Linux门户:http://www.linuxdiyf.com

    华军软件园Linux下载频道:http://linux.newhua.com/

    如果要下载软件的最新版本,通常可以在谷歌(http://www.google.com/)搜索其官方网站下载。

    1、使用wget工具下载软件

    如果在远程终端中操作,可以使用wget工具下载已知网址的软件(在本地操作系统中复制软件的网址,然后在Putty等终端中单击鼠标右键粘贴网址)。

    wget是Linux系统中常用的下载工具,它可以使用HTTP、FTP等多种协议。在使用wget下载之前,需先设置系统网络。

    【命令格式】

    wget [ option] <URL>

    【常用选项】

    c:该选项的功能是续传上次没有下载完成的任务。使用选项c的前提是当前目录中保存有上次没有下载完成的文件。

    【用法示例】

    复制代码
    [root@localhost ~]# wget http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
    --10:47:06--  http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
    Resolving www.mplayerhq.hu... 192.190.173.45, 193.225.187.202, 143.248.234.110, ...
    Connecting to www.mplayerhq.hu|192.190.173.45|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 10351350 (9.9M) [application/x-bzip2]
    Saving to: `MPlayer-1.0rc4.tar.bz2'
    
    29% [==========>                             ] 3,072,562   3.32K/s  eta 18m 22s
    复制代码

    下载过程被中断后,使用选项c进行续传:

    复制代码
    [root@localhost ~]# wget -c http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
    --10:55:04--  http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
    Resolving www.mplayerhq.hu... 192.190.173.45, 193.225.187.202, 131.246.123.5, ...
    Connecting to www.mplayerhq.hu|192.190.173.45|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 10351350 (9.9M) [application/x-bzip2]
    --10:55:07--  (try: 2)  http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
    Reusing existing connection to www.mplayerhq.hu:80.
    HTTP request sent, awaiting response... 206 Partial Content
    Length: 10351350 (9.9M), 7278788 (6.9M) remaining [application/x-bzip2]
    Saving to: `MPlayer-1.0rc4.tar.bz2'
    
    34% [+++++++++++=>                           ] 3,528,585   6.80K/s  eta 17m 22s
    复制代码

    2、字符界面中的浏览器links

    如果要在字符界面中下载软件,可以使用字符界面中最简单的浏览器links。直接使用命令links和网站的网址即可启动links浏览器:

    此时系统会立即启动links浏览器并打开网站。

    在links浏览器中,可以使用上、下方向键切换选择要操作的超链接,跳转到超链接可以按下Enter键。如果要查看其菜单,可以按F9键,退出links浏览器,可以按q键。

    三、编译前的配置

    在编译安装之前,应该先执行配置工作。配置工作需要使用软件源码目录中自带的可执行文件configure。

    注意:开始安装软件前,应该先查看软件源码中的说明文件(通常其名为README)。说明文件中可能会列出需要安装的前提软件、编译时需要注意的事项(例如有些软件不允许并行编译)等。

    (1)下载的源码包通常都会使用tar工具归档,首先需要从下载的归档文件中恢复源码目录:

    # tar -xvjf MPlayer-1.0rc4.tar.bz2

    tar命令将恢复的文件放到当前目录中的MPlayer-1.0rc4子目录中。

    (2)恢复归档文件后,就可以进入源代码目录,查看配置的帮助信息:

    # cd MPlayer-1.0rc4
    #不同的软件配置命令的选项和功能都不同,因此编译安装前都应该使用以下命令查看帮助
    # ./configure --help

    使用可执行文件configure配置软件时,常用的选项为prefix,该选项用于指定程序的安装目录。

    (3)如果不使用prefix指定程序的安装目录,程序会使用/usr/local作为其安装目录。用户可以指定选项prefix的值自定义应用程序的安装目录。

    本例将程序安装到目录/usr/local/MPlayer中:

    #由于配置文件不会自动生成目录,因此需要手动生成安装目录
    # mkdir -p /usr/local/MPlayer
    # ./configure --prefix=/usr/local/MPlayer

    在配置过程中,configure会检查系统是否符合软件的运行环境,例如内核支持、硬件支持、相关库文件支持、编译环境等。用户应该特别注意被标记为错误的检查结果(错误往往是由于软件需要某种支持或前提软件缺失等,这些都会导致软件安装失败),对标记为no的检查结果通常可以忽略。

    (4)当然可能许多人会认为终端模式使用起来十分不便,需要使用MPlayer的图形界面。可以在配置时加上选项enable-gui:

    # ./configure --enable-gui --prefix=/usr/local/MPlayer

    如果配置过程没有出现任何错误,接下来就可以编译源代码了。

    四、编译软件命令make

    使用可执行文件configure完成配置工作后,就需要使用命令make对软件进行编译了。在编译软件过程中,gcc编译器会利用软件的源码,为软件生成应用程序运行时必需的可执行文件、共享库文件。

    在软件的源码目录中对应用程序执行编译:

    # make

    提示:如果软件需要进行二次编译,建议在二次编译前,先使用make clean清除上次编译生成的文件。

    五、安装命令make install

    编译成功后,就可以使用命令make install安装应用程序了。在安装过程中,make install会使用prefix指定的目录,将应用程序的库文件、可执行文件、帮助文件等安装到指定的目录中。

    (1)在本例中可以直接使用make install安装软件:

    # make install

    (2)为了运行图形化的MPlayer,还需要为其安装默认的皮肤。如果在安装时选择了MPlayer使用的语言,还需要为其安装相关的字体文件。

    下载皮肤文件:

    下载完成之后,将其解压缩:

    tar -xvjf Blue-1.7.tar.bz2

    将皮肤文件复制到软件包中的皮肤目录并重命名:

    # cp -r Blue /usr/local/MPlayer/share/mplayer/skins/default

    六、运行及环境配置

    1、运行软件

    软件被安装在了目录/usr/local/MPlayer中。通常程序文件会放在bin目录中,可以查看该目录中的文件并运行。

    (1)由于软件的相关设置没有写入环境变量,因此需要使用绝对路径的方式运行软件:

    # /usr/local/MPlayer/bin/mplayer test.mp3

    如果要退出正在字符界面运行的MPlayer,可以按q键。

    (2)如果安装了图形化的MPlayer,可以在图形界面中运行以下命令启动MPlayer:

    # /usr/local/MPlayer/bin/gmplayer

    2、环境配置

    上面安装的软件不能像运行其他模式软件和命令那样,直接输入命令运行。在上面的例子中,均使用了绝对路径的方式运行软件。这是因为新安装的软件使用了自定义路径(如果没有自定义软件的安装目录,可跳过环境配置步骤),这个路径并不在系统环境变量PATH中,为了可以更快捷地运行软件,还需要配置环境变量。

    (1)在命令行中配置环境变量,可以使用如下命令:

    #将MPlayer的程序目录保存到环境变量PATH
    # PATH=$PATH:/usr/local/MPlayer/bin
    #使用export将PATH变量定义为全局变量
    # export PATH

    上面命令的作用是将软件的程序目录加到变量PATH结尾,此时就可以像使用命令那样直接运行maplayer和gmplayer了。

    (2)但使用上面的方法将会在系统重新启动后失效。如果需要使其在重启后仍然有效,可以使用修改系统配置文件的方法。

    将环境变量保存到配置文件时,如果仅需要为当前用户添加环境支持,可以将相关配置语句写入文件~/.bash_profile中:

    # echo "#add MPlayer directory">>~/.bash_profile
    # echo "PATH=$PATH:/usr/local/MPlayer/bin" >>~/.bash_profile
    # echo "export PATH" >>~/.bash_profile

    如果需要为所有用户添加环境支持,可以使用以下命令:

    # echo "#add MPlayer directory" >>/etc/profile
    # echo "PATH=$PATH:/usr/local/MPlayer/bin" >>/etc/profile
    # echo "export PATH" >>/etc/profile

    上述命令均是将相关命令写入到相关的配置文件中,重新启动或重新登录系统后即可生效。如果不想重启系统可以使用命令source /etc/profile达到重启的作用。

    七、卸载软件命令make uninstall

    使用编译安装的软件通常可以使用make install命令卸载,此命令只能在软件源码目录中使用:

    # make uninstall

    以上命令需要源码目录中的相关文件的支持(主要是源码目录中的Makefile等文件),如果文件不支持,就无法使用以上命令卸载软件。

    对于不能使用make uninstall命令卸载的软件,如果使用了自定义软件安装路径的方式安装软件,只需要将环境变量、安装目录及其中的所有文件删除即可。如果使用默认路径,则不能删除(可能会删除其他软件或相关帮助信息等)。

     
     
  • 相关阅读:
    C#细说多线程(下)
    C#细说多线程(上)
    C#:进程、线程、应用程序域(AppDomain)与上下文分析
    C#委托与事件
    SQL Server 查询优化器运行方式
    SQL优化之索引分析
    C#反射机制
    Sql注入
    JAVA内存泄漏解决办法
    spring4声明式事务—02 xml配置方式
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3474866.html
Copyright © 2011-2022 走看看