Linux——软件安装

一、gcc

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

  1. gcc -c hello.c 编译产生目标文件hello.o
  2. gcc -O hello.c 编译产生目标文件,并进行优化
  3. gcc -o hello hello.c 生成hello这个可执行的二进制文件

缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功。一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余。

二、make

用make进行宏编译,make的功能是简化编译过程中所下达的指令,如果编译完成之后,修改了某个原始码文件,则make只会去更新这个文件,其他的文件不会被改动。要使用make命令,是因为事先编写 好的 makefile 这个文件。然后make命令安装这个文件编译链接,大大简化了编译的步骤。

makefile的基本语法:

目标(target):目标文件1 目标文件2

<tab> gcc -o 欲建立的执行的文件 目标文件1 目标文件2

三、rpm

软件安装的相关信息都被写入 /var/lib/rpm/ 中,我们查询是否有软件升级的需求,版本的比较也是来源于这个数据库。rpm安装软件最大的问题就是软件的相依属性问题,如果关联的软件没有安装,那么该软件也不能安装。

  1. rpm安装软件并查看安装信息(安装到自定义路径): rpm -ivh 软件名称 (--prefix /usr/local)
  2. rpm 测试此软件是否具有相依性: rpm -ivh 软件名称 --test
  3. rpm升级软件(软件存在,予以更新;软件不存在,予以安装): rpm -Uvh 软件名称
  4. rpm升级软件(软件存在,予以更新;软件不存在,不予以安装): rpm -Fvh 软件名称
  5. rpm查询软件:
  6. rpm -qa 已安装软件
  7. rpm -q[licdR]已安装的软件名称 已安装软件
  8. rpm -qf 存在于系统上面的某个文件名 已安装软件
  9. rpm -qb[licdR]未按照的某个文件名 查阅RPM文件
  10. 选项与参数:
  11. 查询已安装软件的信息:
  12. -q :仅查询,后面接的软件名称是否有安装:
  13. -qa :列出所有的,已经安装在本机Linux 系统上面的所有软件名称:
  14. -qi :列出该软件的详细信息( information), 包含开发商、版本与说明等
  15. -ql :列出该软件所有的文件与目录所在完整文件名(list);
  16. -qc:列出该软件的所有配置文件(找出在/etc/底下的檔名而已)
  17. .qd:列出该软件的所有说明文件(找出与man有关的文件而已)
  18. -qR :列出与该软件有关的相依软件所含的文件(Required 的意思)
  19. -qf :由后面接的文件名,找出该文件属于哪一个已安装的软件;
  20. -q --scripts: 列出是否含有安装后需要执行的脚本档,可用以debug 喔!

查询某个RPM文件内含有的信息:

  1. -qp[icdIR]: 注意-qp 后面接的所有参数以上面的说明一致。 但用途仅在于 找出
  2. 某个RPM文件内的信息,而非已安装的软件信息!注意!

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

重建rpm数据库: rpm --rebuilddb

四、yum

  1. yum 是目前Linux最方便的软件管理工具,它比起rpm来可以自动处理软件的相依属性问题,以解决软件的安装、卸载、升级的问题.
  2. yum 查询的功能:
  3. [root@study ~]# yum [option] [查询工作项目] [相关参数]
  4. 选项与参数:
  5. [option];主要的选项,包括有:
  6. -y :当yum要等待用户输入时,这个选项可以自动提供yes 的响应:
  7. --installroot=/some/path :将该软件安装在/some/path 而不使用默认路径
  8. [查询工作项目] [相关参数]:这方面的参数有:
  9. search :搜寻某个软件名称或者是描述(description) 的重要关键字:
  10. list :列出目前yum所管理的所有的软件名称与版本,有点类似rpm -qa ;
  11. info:同上,不过有点类似rpm -qai 的执行结果:
  12. provides:从文件去搜寻软件!类似rpm -qf的功能!
  13. 列出目前服务器上可供本机进行升级的软件有哪些:yum list updates
  14. 查看yum源列表:yum repolist
  15. 安装软件:yum install 软件名称
  16. 升级软件:yum update 软件名称
  17. 卸载软件:yum remove 软件名称
  18. 修改yum的源和配置文件:vim /etc/yum.repos.d/CentOS-Base.repo
  19. 删除所有软件库的相关数据:yum clean all
  20. 将已下载的软件文件删除:yum clean packages
  21. 将下载的软件文件头删除:yum clean headers
  22. yum的软件群组的功能:
  23. [ root@study ~]# yum [群组功能] [软件群组]
  24. 选项与参数:
  25. grouplist : 列出所有可使用的[软件群组组」,例如Development Tools之类的
  26. groupinfo ; 后面接group name, 则可了解该group 内含的所有软件名:
  27. groupinstall:这个好用!可以安装整组的软件群组,相当的不错用 !
  28. groupremove :移除某个软件群组:
  29. 范例一:查阅目前软件库与本机上面的可用与安装过的软件群组有哪些?
  30. [ root@study ~]# yum grouplist
  31. 全系统自动升级所需要升级的软件:
  32. yum -y update

修改默认yum源为国内的阿里云yum源。官方的yum源在国内访问效果不佳,需要改为国内比较好的阿里云或者网易的yum源:

  1. #下载wget
  2. yum install -y wget
  3. #备份当前的yum源
  4. mv /etc/yum.repos.d /etc/yum.repos.d.backup
  5. #新建空的yum源设置目录
  6. mkdir /etc/yum.repos.d
  7. #下载阿里云的yum源配置
  8. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

重建缓存:

  1. yum clean all
  2. yum makecache

Linux——软件安装的更多相关文章

  1. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  2. Linux基础学习(6)--Linux软件安装

    第六章——Linux软件安装 一.软件包管理简介 1.软件包分类: (1)源码包:脚本安装包 (2)二进制包(RPM包.系统默认包) 2.源码包: (1)源码包的优点:开源,如果有足够的能力,可以修改 ...

  3. Linux软件安装中RPM与YUM 区别和联系

    .tc-nav-row{ height:38px; margin: 8px 15px; } .tc-nav-tab{ text-align: center; color:#333333; line-h ...

  4. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  5. Unix/Linux 软件安装

    Unix/Linux 软件安装 首先我们明确.在Unix like的机器上,一套软件并不唯独一个程序,而是一堆程序代码文件. 比如main.c,haha.c,sin_value.c这三个源码文件. 1 ...

  6. Linux软件安装——服务管理的命令

    Linux软件安装——服务管理的命令 摘要:本文主要学习了Linux系统中服务管理的命令. service命令 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启 ...

  7. Linux软件安装——服务管理

    Linux软件安装——服务管理 摘要:本文主要学习了Linux中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...

  8. Linux软件安装——安装软件的命令

    Linux软件安装——安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装.更新.卸载软件. rpm命令 rpm命令用来在Linux系统上进行软件的安装. 基本语法 安装命令: rpm -i ...

  9. Linux软件安装——软件包

    Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...

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

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

随机推荐

  1. Windows10搭建本地ftp服务器

    首先要有一个win10专业版的操作系统,连接上互联网... 一.首先打开控制面板选择程序,再选择"启用或关闭windows功能" 二.在"Windows功能"中 ...

  2. 高并发之wait notify notifyAll原理详解

    public class WaitTest { public void testWait(){ System.out.println("Start-----"); try { wa ...

  3. 强化学习入门基础-马尔可夫决策过程(MDP)

    作者:YJLAugus 博客: https://www.cnblogs.com/yjlaugus 项目地址:https://github.com/YJLAugus/Reinforcement-Lear ...

  4. Android stdio使用时遇到的一些问题

    (1)android stdio加载布局时 Exception raised during rendering: com/android/util/PropertiesMap             ...

  5. 使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes

    介绍 本指南将引导您在 Kubernetes 集群上设置渐进式交付 GitOps 管道. GitOps Helm 研讨会 原文地址:GitOps Progressive Deliver with Fl ...

  6. 【SpringBoot1.x】SpringBoot1.x 启动配置原理 和 自定义starter

    SpringBoot1.x 启动配置原理 和 自定义starter 启动配置原理 本节源码 启动过程主要为: new SpringApplication(sources) 创建 SpringAppli ...

  7. maven 报的一堆错

    今天初学maven,刚开始下载的是Apache-maven-3.6.2然后配置运行一个servlet,但是在pom.xml中写jar包坐标时一直报错显示红色,本地仓库和官网上的中央仓库都试过了就是依赖 ...

  8. kubernets之控制器之间的协作以及网络

    一  创建一个deployment的时候整个kubernets集群的资源和事件的调用链 1.1  创建一个deployment的资源,在提交的时候,集群中的调度器,控制器以及node节点上kubele ...

  9. 两行代码修复了解析MySQL8.x binlog错位的问题!!

    写在前面 MySQL是互联网行业使用的最多的关系型数据库之一,而且MySQL又是开源的,对于MySQL的深入研究,能够加深我们对于数据库原理的理解.自从开源了mykit-data之后,不少小伙伴试用后 ...

  10. 小试牛刀ElasticSearch大数据聚合统计

    ElasticSearch相信有不少朋友都了解,即使没有了解过它那相信对ELK也有所认识E即是ElasticSearch.ElasticSearch最开始更多用于检索,作为一搜索的集群产品简单易用绝对 ...