Linux系统,一个文件能不能执行看的是有没有可执行权限x,不过真正的可执行文件是二进制文件(binary file),举例来说Linux上的c语言源码编写完后,通过gcc程序编译后就可以创建一个可执行的二进制文件。
 
1、什么是make 与configure
 make是一个程序,会去找makefile(记录了源码如何编译的详细信息),通常这个检测程序文件名为configure或config;基本的makefile规则是:
    目标:目标文件1 目标文件2
    <tab> gcc -o 欲建立的执行文件 目标文件1 目标文件2
 
2、Tarball套件安装
    Tarball文件其实就是将套件的所有源码文件先以tar打包,然后再压缩,最常见的就是以gzip来压缩了。解压后的文件里通常有源码文件、检测程序文件(configure)、安装说明(install)
    安装步骤:
        1)将tarball文件在目录下解压缩
        2)进入新建的目录,查看install与readme等相关文件内容
        3)根据install/readme查看并安装
        4)以自动检测程序检测工作环境,并建立makefile文件
        5)使用make及该目录下的makefile作为参数设置文件,来进行make
        6)以make程序和Makefile参数设置文件,根据install的指定安装到正确路径
    说明tarball文件软件安装的命令执行方式:
        1)./configure 是在建立Makefile文件,这个步骤的相关信息应该参考目录下的readme文件
        2)make clean make会读取Makefile中关于clean的工作,不是必须的步骤,但最好执行一下,为了避免前一次保留下来的数据可能影响到这一次编译的结果
        3)make 就是要将源码编译为可以执行的可执行文件(主要是进行gcc将源码编译为可执行的目标文件),而这个可执行文件会放在当前所在目录下
        4)make intall 
以上步骤都是一步步来的,如果在./configure就不成功,就表示Makefile无法建立,后续步骤都是根据Makefile来进行的
一般考虑卸载方便(删除套件时直接删除套件的目录就行)建议:
    最好将tarball的原始数据解压缩到/usr/local/src中;
    安装时,最好安装到/usr/local默认路径下;
    最好将每个套件单独安装在/usr/local下
 
3、rpm与srpm套件管理
    RPM(RedHat Package Manager)是一种数据库记录的方式 将 所需要的套件 安装到Linux主机的 一套管理程序。特点是将要安装的套件先编译并打包;缺点是安装环境必须与打包时的环境一致。
    SRPM是这个RMP文件里面包含了源码,后缀是.src.rpm
    安装:
        rpm -ivh 包名/http://xxxx.rpm
 
4、yum(网上摘抄)
    是一个在Fedora RedHat CentOS中的shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包
    yum install xx.rpm  安装
    yum remove xx.rpm 卸载
    yum upgrade/update xx 升级
    yum info xx 信息
    yum search xx 查询 

Linux系统软件安装的几种方式的更多相关文章

  1. Linux 软件安装的三种方式

    Linux 软件安装的三种方式 1.yum ​ 语法格式: ​ yum -y install package.name ​ -y yes # 遇到提示自动输入yes ​ 案例: 安装ifconfig命 ...

  2. linux下软件安装的几种方式

    linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...

  3. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  4. MySQL安装的三种方式

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...

  5. 设置 Linux 下打印机的几种方式

    设置 Linux 下打印机的几种方式 一.使用 cups 进行设置 如若遇到 cups 也没有驱动的话可以前往 openprinting.org 找寻对应驱动. 二.前往 official 下载驱动 ...

  6. linux创建文件的四种方式(其实是两种,强行4种)

    linux创建文件的四种方式: 1.vi newfilename->i->编辑文件->ESC->:wq! 2.touch newfilename 3.cp sourcePath ...

  7. Ubuntu下软件安装的几种方式,apt,dpkg工具的使用

    通常 Linux 上的软件安装主要有四种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全 ...

  8. Linux下定时执行任务的几种方式

    如果说我说如果,你的某一个目录下会经常的生成一些垃圾文件,比如访问日志.错误日志.core文件,而你又不想过几分钟就去手动检查一下,那么可以使用定时执行任务的方式来解决.目前我所知道的可以执行定时任务 ...

  9. Linux 内核睡眠的几种方式

    译至:http://geeki.wordpress.com/2010/10/30/ways-of-sleeping-in-linux-kernel/ 在Linux中睡眠有2-3种不同的方法. 睡眠的第 ...

随机推荐

  1. MYSQL主从库同步配置过程

    MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...

  2. jQuery hover() 方法

    $("p").hover(function(){ $("p").css("background-color","yellow&qu ...

  3. BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同

    说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...

  4. 面试必问的 volatile,你了解多少?

    前言 Java中volatile这个热门的关键字,在面试中经常会被提及,在各种技术交流群中也经常被讨论,但似乎讨论不出一个完美的结果,带着种种疑惑,准备从JVM.C++.汇编的角度重新梳理一遍. vo ...

  5. 10个实用的 Linux 网络和监控命令[转]

    本文列出了10个基础的每个Linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslooku ...

  6. linux监控下几个系统工具

    1.top 2.htop(yum install -y htop) 3.glances(yum install -y glances) 4.dstat -l -c -m -d  -r -n --top ...

  7. typedef如何显示变量类型名

    dsa typedef unsigned long int NUM; typedef unsigned short int Data; //为已经存在的类型起一个别名 //1.定义一个变量 unsig ...

  8. Python 定位桌面

    通过注册表寻找桌面路径: (用内置的winreg) import winreg key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, \             ...

  9. JAVA常用知识点总结---集合篇

    一.Collection 与 Collections的区别:1. Collections:java.util.Collections 是一个包装类.它包含有各种有关集合操作的静态多态方法.此类不能实例 ...

  10. JAVA设计模式---迭代器模式

    1.定义: 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 2.实例:1)需求: 菜单(煎饼屋菜单.餐厅菜单和咖啡菜单)采用不同的集合存取(ArrayList,String[] ...