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. Java数据持久层框架 MyBatis之API学习七(动态 SQL详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  2. maven项目使用jacoco插件检测代码覆盖率详细配置

    使用maven构建项目(java项目或者web项目都可以) jacoco插件的配置参考官方网址:http://www.eclemma.org/jacoco/trunk/doc/maven.html ( ...

  3. 2017-06-29(cat tac more less head tail)

    cat 查看文件内容 cat  -A 相当于-vET的整合参数,可列出一些特殊的字符,而不是空白而已   -b 列出行号,空白行不标号   -E 将结尾的断行字符 $ 显示出来   -n 列出行号,空 ...

  4. yum错误,Cannot find a valid baseurl for repo: base 和 No more mirrors to try

    可能出错原因: 1. yum 配置错误 2. 虚拟机无法连接外网 3. 域名解析没有 如何解决这个错误? 1. 网上找 /ect/yum.conf 和 /etc/yum.repos.d/CentOS- ...

  5. 自己写的日志框架--linkinLog4j--框架可配置+提性能

    OK,上一篇博客我们已经实现了日志框架的基本的功能,但是还有一个最大的问题就是日志输出地不能重定向,然后一些输出也不可控.那现在我们来实现一个比较完整的日志框架. 设计思路如下: 1,定义一堆常量Li ...

  6. linkin大话面向对象--枚举

    枚举类(enum) 其实我们使用到枚举的地方还是很多的,其实我们可以完全人工的来实现枚举的功能.比如说我现在手里的项目我就是自己实现的枚举,说白了,枚举就是一个类的多例模式. 1,使用enum声明,默 ...

  7. 03_HTML Canvas第一天

    视频来源:麦子学院 讲师:刘慧涛 w3cshool之HTML5画布:http://www.w3school.com.cn/html5/html_5_canvas.asphtml5 canvas参考手册 ...

  8. java编码GBK的不可映射字符

    编译java文件时,提示编码GBK的不可映射字符. 主要原因:windows 默认编码方式为GBK,用javac编译时,中文按照GBK解析,但是文件内容编码格式不是GBK. 解决:若编译单个文件指定编 ...

  9. java for循环增强(foreach)

    for循环增强,在此之前还不知道foreach有这样的功能,先鄙视一下自己,留给自己看: 功能: ***若List用foreach : [  for(Student stu : list)  ]这种形 ...

  10. event跨进程通信

    event天生的弱势,只有mutex可以感知丢失,就是将另一个进程关闭了,event无法感知. event1: #include <stdio.h> #include <stdlib ...