一、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. 撸起袖子加油干 golang入坑系列

    还是提醒一下,里面有段子,不都是技术. 冲着技术来的,慢走不送.没有版权,但可以给我发邮件(ztao8607@gmail.com) 在我的发小朋友中,终于最后一位打光棍的要结婚了. 说实话,真心不容易 ...

  2. 加密代理和Retrofit解密Converter

    最近在研究安卓的Retrofit框架,服务器的数据全部用加密算法加密了,发现无法使用"com.squareup.retrofit2:converter-gson:2.1.0"Jar ...

  3. c语言的extern与static与递归

    知识点: 外部函数:定义的函数能被本文件和其他文件访问 1> 默认情况下所有函数都是外部函数 2> 不允许有同名的外部函数 内部函数:定义的函数只能被本文件访问,其他文件不能访问 1> ...

  4. 第十一章 泛型算法 C++ PRIMER

    vector<int>::const_iterator result = find(vector.begin(). vector.end(),search_value); 如果查找失败,分 ...

  5. 《Linux命令行与shell脚本编程大全》第二十六章 一些有意思的脚本

    26.1 发送消息 26.1.1 功能分析 1.确定系统中都有谁 $who 给出的信息包括用户名 用户所在终端 用户登入系统的时间 2.启用消息功能 用户可以禁止别人给我发消息,所以需要先检查一下是否 ...

  6. 算法训练 区间K大数

    算法训练 区间k大数查询 时间限制:1.0s   内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...

  7. LinuxRPM包安装

    转载注明出处:原文地址 ## LinuxRPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(ins ...

  8. SQL Server学习之路(一):建立数据库、建立表

    0.目录 1.前言 2.建立数据库 2.1 通过SSMS建立数据库 2.2 通过SQL语句建立数据库 3.建立表 3.1 通过SSMS建立表 3.2 通过SQL语句建立表 1.前言 配置是win10+ ...

  9. calc() ---一个会计算的css属性

    最近这个月一直在赶项目开发,遇到的问题和学到的前端知识没有更新到博客园,现在闲了下来,就整理一下前端知识. 在项目开发中,在样式这方面花费的时间较多,因为针对于数字的变化特别多,本人不爱记数字,在看设 ...

  10. 一个看起来不像中年人的中年人,带着两个初出茅庐的小伙子儿,用git管理项目代码的进击之路

    一个中年人的孤独前行 我们这一代人,是上个世纪的人,活在当下,已然成为社会上的中流砥柱. 80年代生人,遥望我们的父辈,均是5.60年代的人,迟迟暮年,夕夕老矣.而我们,正当年,却又时光飞逝,很快便要 ...