一、gcc

gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接。

gcc -c hello.c 编译产生目标文件hello.o
gcc -O hello.c 编译产生目标文件,并进行优化
gcc -o hello hello.c 生成hello这个可执行的二进制文件
 
缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功。一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余。
 
二、make
用make进行宏编译,make的功能是简化编译过程中所下达的指令,如果编译完成之后,修改了某个原始码文件,则make只会去更新这个文件,其他的文件不会被改动。要使用make命令,是因为事先编写 好的 makefile 这个文件。然后make命令安装这个文件编译链接,大大简化了编译的步骤。
  makefile的基本语法(老实说,有点像Java的ant):
  

makefile变量的基本语法:
  • 变量和变量内容之间以=隔开,同时两边可以具有空格
  • 变量左边不可以有tab
  • 变量和变量的内容在=两边不能具有:
  • 在习惯上变量最好以 大写字母 为主
  • 运用变量时 以${变量} 或 $(变量)使用
  • shell的环境变量是可以被套用的,例如提到的CFLAGS这个变数
  • 在指令模式中也可以给予变量
$@ 代表目前的目标
 
三、Tarball
  安装的基本步骤:

  1、一般解压源代码到/usr/local/src 文件夹中
  2、./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks 在目标文件夹中生成makefile文件
  3、make clean 先清除也许打包的时候编译的目标文件
  4、make 编译成二进制文件
  5、make install 安装文件
 
四、rpm
软件安装的相关信息都被写入 /var/lib/rpm/ 中,我们查询是否有软件升级的需求,版本的比较也是来源于这个数据库。rpm安装软件最大的问题就是软件的相依属性问题,如果关联的软件没有安装,那么该软件也不能安装。
rpm安装软件并查看安装信息(安装到自定义路径): rpm -ivh 软件名称 (--prefix /usr/local)
rpm 测试此软件是否具有相依性: rpm -ivh 软件名称 --test
rpm升级软件(软件存在,予以更新;软件不存在,予以安装): rpm -Uvh 软件名称
rpm升级软件(软件存在,予以更新;软件不存在,不予以安装): rpm -Fvh 软件名称
rpm查询软件:

列出目前系统上面所有可能被更改过的文件:rpm -Va

重建rpm数据库: rpm --rebuilddb

 
五、yum
yum是目前Linux最方便的软件管理工具,它比起rpm来可以自动处理软件的相依属性问题,以解决软件的安装、卸载、升级的问题.
yum查询的功能:

列出目前服务器上可供本机进行升级的软件有哪些: yum list updates

查看yum源列表:yum repolist

安装软件:yum install 软件名称

升级软件:yum update 软件名称

卸载软件:yum remove 软件名称

修改yum的源和配置文件: vim /etc/yum.repos.d/CentOS-Base.repo

删除所有软件库的相关数据:yum clean all

将已下载的软件文件删除:yum clean packages

将下载的软件文件头删除:yum clean headers

yum的软件群组的功能:

备注:软件群组的安装默认是不安装 optional 软件的,如果,想要安装的话需要修改配置文件 vim /etc/yum.conf ,在文件中新增一行 group_package_types=default,mandatory,optional

全系统自动升级所需要升级的软件:yum -y update

 
 

Linux 学习记录 五(软件的安装升级).的更多相关文章

  1. Linux 学习记录五(软件的安装升级).

    一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...

  2. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  3. Linux学习之源码包安装与脚本安装(十八)

    Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 ...

  4. Linux中查看某个软件的安装路径

    Linux中查看某个软件的安装路径(地址)有时显得非常重要.比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除.添加安装文件等等,很多地方都要用到查案文件安装路径的命令. 这里给大家介 ...

  5. Linux学习-开放源码的软件安装与升级简介

    什么是开放源码.编译程序与可执行文件 我们说过,在 Linux 系统上面,一个文件能不能被执行看的是有没有可执行的那个权限 (具有 x permission),不过,Linux 系统上真 正认识的可执 ...

  6. linux —— 学习笔记(软件操作:安装、卸载、执行)

    目录: 0.相关基本命令    1.安装软件    2.卸载软件    3.打开软件  0.相关基本命令 与软件操作相关的主要命令有:dpkg  和 apt-get . dpkg   : “dpkg ...

  7. Linux系统及常用软件的安装

    注释:看了很多人说在Windows下面跑机器学习就和大人一直用勺子吃饭一样,应该用更...刚写到这里Linux又奔溃了-- 以后就在Linux上跑程序了,告别Windows的时代... 别看下面的安装 ...

  8. linux(1):VMware虚拟软件下安装centos6.8

    前言:Linux是一种自由和开放源代码的类UNIX操作系统,继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.本人学习Linux已经有一段时间了,从一开始的小白到现在的略有所悟 ...

  9. linux下各种格式软件的安装(引用http://blog.csdn.net/zyz511919766/article/details/7574040)

    首先介绍两个简单的方式 第一:sudo apt-get install packagename 命令 如果我们知道我们要安装的软件的确切的名称,那么我们可以简单的通过此条命令来获取和安装软件.apt- ...

随机推荐

  1. jquery.form.js+jquery.validation.js实现表单校验和提交

      一.jquery引用 主要用到3个js: jquery.js jquery.form.js jquery.validation.js 另外,为了校验结果提示本地化,还需要引入jquery.vali ...

  2. CentOS7 安装sentry(最新)

      Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,ja ...

  3. spring boot自定义log4j2日志文件

    背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8. ...

  4. OC的内存管理和@class

    1. 基本原理 1. 什么是内存管理 ➢ 移动设备的内存极其有限,每个app所能占用的内存是有限制的 ➢ 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收 ...

  5. States字段的使用规范

    背景 为了统一数据库表的状态字段,统一数据库表设计,简化字段在程序开发中的使用方式. 解决方式 States对应位域枚举StatesFlags. /// <summary> /// 数据状 ...

  6. 【Java入门提高篇】Day5 Java中的回调(二)

    Java中有很多个Timer,常用的有两个Timer类,一个java.util包下的Timer,一个是javax.swing包下的Timer,两个Timer类都有用到回调机制.可以使用它在到达指定时间 ...

  7. ajax处理级联访问数据库显示

    首先创建简单的html页面,写出如下代码: 静态页相关代码: js代码:

  8. 数据库 SQL Server2012安装步骤详解

    这篇文章主要给大家讲解一下数据库SQL Server2012的安装步骤(若有雷同纯属巧合,还望谅解!) 在正式安装之前,我们需要进行两个设置: ① 首先需要关闭Windows防火墙,若不关闭,后续的安 ...

  9. OpenStack搭建遇到的问题2(组件配置错误了,别重装全部,就把模块卸载就行了)

    apt-get remove -y mysql-server python-mysqldb 在装OpenStack的时候,出错的可能就是就是一个模块,比如keysstone或者是glance出错了,我 ...

  10. 前端自动化测试漫长路之——Selenium初探

    引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多 ...