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. 嵌入式QT移植

    1  开发环境 目标版:FS4412(Cortex-A9)开发板 交叉工具链:arm-linux-gcc 4.6.4 版本 Qt:qt-everywhere-opensource-src-5.4.2. ...

  2. python_16_序列化

    如何实现不同编程语言进行交互? json数据,相当于语言中间的沟通桥梁 什么是json数据? imoprt json json.dumps(内容)                    --把内容转换 ...

  3. Linux指令--rcp,scp

    rcp代表"remote file copy"(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝 ...

  4. linkin大话设计模式--代理模式

    代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象的时候,客户端并不关心是否可以准确的得到这个对象,他只要一个能够提供该功能的对象而已,此时我们就可以返回该对象的代理.总而言之,客户端 ...

  5. [搬运] .NET Core 2.1中改进的堆栈信息

    原文 : Stacktrace improvements in .NET Core 2.1 作者 : Ben Adams 译者 : 张很水 . NET Core 2.1 现在具有可读的异步堆栈信息!使 ...

  6. android 自定义控件用的定时CountDownTimer

    定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(译者:触发onTick方法), 下面的例子显示在一个文本框中显示一个30s倒计时: new CountdownTimer( ...

  7. PMS 启动流程

    1.在SystemServer中启动PackageManagerService.main 2.newPackageManagerService()并添加到ServiceManager中 3.newin ...

  8. Docker最佳实践-部署LNMP环境

    标签(linux): docker 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 环境准备 [root@docker ~]# cat /etc/redhat-r ...

  9. 有关mysql的for update以及 死锁问题

    一.先说锁的概念 锁级别: 1.行级锁: InnoDB引擎(也支持表级锁,默认是行级锁),开销大,加锁慢:会出现死锁.锁定粒度最小,发生锁冲突的概率最低,并发度最高. 2.表级锁:MylSAM引擎和M ...

  10. JavaScript中的类继承

    JavaScript是一个无class的面向对象语言,它使用原型继承而非类继承.这会让那些使用传统面向对象语言如C++和Java的程序员们感到困惑.正如我们所看到的,JavaScript的原型继承比类 ...