单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作、生活需求。一般情况下,Linux常用的安装方式有两种,以CentOS为例:

  1.从源代码安装软件

将软件源代码编译安装适用于所有针对linux系统开发的软件,以及部分针对类unix系统开发的软件。

步骤为:

  • 执行configure,它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。

  在检查过程中,如果出现问题,会停止检查并提示错误,方便用户根据提示重新配置安装环境,再重新执行检查,检查完成之后,会生成一个config.log文档,记录一些运行配置用以帮助调试安装。检查通过之后,会生成用于编译的MakeFile文件,至此,就可以开始编译了。

  • make,系统根据MakeFile的指示开始展开编译,利用gcc将原始码编译成为目标文件,这些目标文件通过函数库连接产生一个完整的可执行文件
  • make install,开始安装,将编译完成的文件安装到预定的目录中去。一般情况下会有etc(配置文件)、bin(执行文件)、lib(函数库)、man(线上说明书)等目录

  2.利用软件管理工具安装

RPM(Redhat Package Manager)是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

将rpm文件上传到系统中,可以对这个文件做一系列查询、卸载、升级等操作

  • 安装软件:执行rpm -ivh rpm包名
  • 列出所有被安装的rpm package :执行rpm -qa
  • 查询一个包是否被安装 rpm -q  包名
  • 卸载软件:rpm -e rpm包名。

其他rpm参数如下,转自:http://www.360doc.com/content/10/1115/22/2054285_69685576.shtml  

  1. RPM命令详解(安装、升级、卸载)
  2.  
  3. rpm 常用命令
  4. .安装一个包
  5. # rpm -ivh
  6.  
  7. .升级一个包
  8. # rpm -Uvh
  9.  
  10. .卸载一个包
  11. # rpm -e
  12.  
  13. .安装参数
  14. --force 即使覆盖属于其它包的文件也强迫安装
  15. --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
  16.  
  17. .查询一个包是否被安装
  18. # rpm -q < rpm package name>
  19.  
  20. .得到被安装的包的信息
  21. # rpm -qi < rpm package name>
  22.  
  23. .列出该包中有哪些文件
  24. # rpm -ql < rpm package name>
  25.  
  26. .列出服务器上的一个文件属于哪一个RPM
  27. #rpm -qf
  28.  
  29. .可综合好几个参数一起用
  30. # rpm -qil < rpm package name>
  31.  
  32. .列出所有被安装的rpm package
  33. # rpm -qa
  34.  
  35. .列出一个未被安装进系统的RPM包文件中包含有哪些文件?
  36. # rpm -qilp < rpm package name>
  37.  
  38. <>
  39. 一、安装
  40.  
  41. 命令格式:
  42.  
  43. rpm -i ( or --install) options file1.rpm ... fileN.rpm
  44.  
  45. 参数:
  46.  
  47. file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
  48.  
  49. 详细选项:
  50.  
  51. -h (or --hash) 安装时输出hash记号 (``#'')
  52. --test 只对安装进行测试,并不实际安装。
  53. --percent 以百分比的形式输出安装的进度。
  54. --excludedocs 不安装软件包中的文档文件
  55. --includedocs 安装文档
  56. --replacepkgs 强制重新安装已经安装的软件包
  57. --replacefiles 替换属于其它软件包的文件
  58. --force 忽略软件包及文件的冲突
  59. --noscripts 不运行预安装和后安装脚本
  60. --prefix 将软件包安装到由 指定的路径下
  61. --ignorearch 不校验软件包的结构
  62. --ignoreos 不检查软件包运行的操作系统
  63. --nodeps 不检查依赖性关系
  64. --ftpproxy 作为 FTP代理
  65. --ftpport 指定FTP的端口号为
  66.  
  67. 通用选项
  68.  
  69. -v 显示附加信息
  70. -vv 显示调试信息
  71. --root RPM将指定的路径做为"根目录",这样预安装程序和后安
  72. 装程序都会安装到这个目录下
  73. --rcfile 设置rpmrc文件为
  74. --dbpath 设置RPM 资料库存所在的路径为
  75.  
  76. 二、删除
  77.  
  78. 命令格式:
  79.  
  80. rpm -e ( or --erase) options pkg1 ... pkgN
  81.  
  82. 参数
  83.  
  84. pkg1 ... pkgN :要删除的软件包
  85.  
  86. 详细选项
  87.  
  88. --test 只执行删除的测试
  89. --noscripts 不运行预安装和后安装脚本程序
  90. --nodeps 不检查依赖性
  91.  
  92. 通用选项
  93.  
  94. -vv 显示调试信息
  95. --root RPM将指定的路径做为"根目录",这样预安装程序和后安装
  96. 程序都会安装到这个目录下
  97. --rcfile 设置rpmrc文件为
  98. --dbpath 设置RPM 资料库存所在的路径为
  99.  
  100. 三、升级
  101.  
  102. 命令格式
  103.  
  104. rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
  105.  
  106. 参数
  107.  
  108. file1.rpm ... fileN.rpm 软件包的名字
  109.  
  110. 详细选项
  111.  
  112. -h (or --hash) 安装时输出hash记号 (``#'')
  113. --oldpackage 允许"升级"到一个老版本
  114. --test 只进行升级测试
  115. --excludedocs 不安装软件包中的文档文件
  116. --includedocs 安装文档
  117. --replacepkgs 强制重新安装已经安装的软件包
  118. --replacefiles 替换属于其它软件包的文件
  119. --force 忽略软件包及文件的冲突
  120. --percent 以百分比的形式输出安装的进度。
  121. --noscripts 不运行预安装和后安装脚本
  122. --prefix 将软件包安装到由 指定的路径下
  123. --ignorearch 不校验软件包的结构
  124. --ignoreos 不检查软件包运行的操作系统
  125. --nodeps 不检查依赖性关系
  126. --ftpproxy 作为 FTP代理
  127. --ftpport 指定FTP的端口号为
  128.  
  129. 通用选项
  130.  
  131. -v 显示附加信息
  132. -vv 显示调试信息
  133. --root RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
  134. --rcfile 设置rpmrc文件为
  135. --dbpath 设置RPM 资料库存所在的路径为
  136.  
  137. 四、查询
  138.  
  139. 命令格式:
  140.  
  141. rpm -q ( or --query) options
  142.  
  143. 参数:
  144.  
  145. pkg1 ... pkgN :查询已安装的软件包
  146.  
  147. 详细选项
  148.  
  149. -p (or ``-'') 查询软件包的文件
  150. -f 查询属于哪个软件包
  151. -a 查询所有安装的软件包
  152. --whatprovides 查询提供了 功能的软件包
  153. -g 查询属于 组的软件包
  154. --whatrequires 查询所有需要 功能的软件包
  155.  
  156. 信息选项
  157.  
  158. 显示软件包的全部标识
  159. -i 显示软件包的概要信息
  160. -l 显示软件包中的文件列表
  161. -c 显示配置文件列表
  162. -d 显示文档文件列表
  163. -s 显示软件包中文件列表并显示每个文件的状态
  164. --scripts 显示安装、卸载、校验脚本
  165. --queryformat (or --qf) 以用户指定的方式显示查询信息
  166. --dump 显示每个文件的所有已校验信息
  167. --provides 显示软件包提供的功能
  168. --requires (or -R) 显示软件包所需的功能
  169.  
  170. 通用选项
  171.  
  172. -v 显示附加信息
  173. -vv 显示调试信息
  174. --root RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
  175. --rcfile 设置rpmrc文件为
  176. --dbpath 设置RPM 资料库存所在的路径为
  177.  
  178. 五、校验已安装的软件包
  179.  
  180. 命令格式:
  181.  
  182. rpm -V ( or --verify, or -y) options
  183.  
  184. 参数
  185.  
  186. pkg1 ... pkgN 将要校验的软件包名
  187.  
  188. 软件包选项
  189.  
  190. -p Verify against package file
  191. -f 校验所属的软件包
  192. -a Verify 校验所有的软件包
  193. -g 校验所有属于组 的软件包
  194.  
  195. 详细选项
  196.  
  197. --noscripts 不运行校验脚本
  198. --nodeps 不校验依赖性
  199. --nofiles 不校验文件属性
  200.  
  201. 通用选项
  202.  
  203. -v 显示附加信息
  204. -vv 显示调试信息
  205. --root RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
  206. --rcfile 设置rpmrc文件为
  207. --dbpath 设置RPM 资料库存所在的路径为
  208.  
  209. 六、校验软件包中的文件
  210.  
  211. 语法:
  212.  
  213. rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
  214.  
  215. 参数:
  216.  
  217. file1.rpm ... fileN.rpm 软件包的文件名
  218.  
  219. Checksig--详细选项
  220.  
  221. --nopgp 不校验PGP签名
  222.  
  223. 通用选项
  224.  
  225. -v 显示附加信息
  226. -vv 显示调试信息
  227. --rcfile 设置rpmrc文件为
  228.  
  229. 七、其它RPM选项
  230.  
  231. --rebuilddb 重建RPM资料库
  232. --initdb 创建一个新的RPM资料库
  233. --quiet 尽可能的减少输出
  234. --help 显示帮助文件
  235. --version 显示RPM的当前版本

  3.YUM安装

有时候安装一个软件需要首先安装多个其他软件,手工解决时很复杂,使用yum可以解决这个问题

  • 自动解决依赖关系
  • 可以对RPM进行分组,并基于组织进行安装操作
  • 引入仓库概念,支持多个仓库。

    仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库。

    yum使用仓库保存管理rpm软件,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:

  1. [仓库简写名称]
  2.  
  3. name=仓库名称,一般为仓库描述
  4.  
  5. baseurl=仓库路径,可以是互联网上,也可以是本地的
  6.  
  7. enabled=是否启用(,启用;,禁用)
  8.  
  9. gpgcheck=是否打开校验(,打开;,关闭)

      仓库可以使用file、http、ftp、mfs方式

      yum配置文件必须以.repo结尾

      一个配置文件内可以保存多个仓库的配置信息

      /etc/yum.repos.d/目录下可以存在多个配置文件

      配置简单

安装软件

  1. yum install 软件名称

卸载软件

  1. yum remove 软件名称

升级软件

  1. yum update 软件名称

基于关键字搜索软件

  1. yum search 关键字

显示指定软件信息

  1. yum info 软件名称

清空缓存信息

  1. yum clean all

整理自:慕课网(www.imooc.com) LinuxCast(www.LinuxCast.net)

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

  1. Linux下软件安装方法即路径设置

    Linux下软件安装方法即路径设置 http://www.cnblogs.com/edward259/archive/2010/07/02/1770066.html

  2. (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装

    介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...

  3. linux下软件安装的几种方式

    linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...

  4. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  5. Linux 下软件安装

    Linux 下软件安装 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而 ...

  6. Linux 的软件安装目录

    Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32. / ...

  7. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  8. linux中软件安装方式

    通常Linux应用软件的安装包有三种: tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. rpm包,如software-1.2.3-1.i386 ...

  9. linux初学者-软件安装与管理篇

    linux初学者-软件安装与管理篇 在linux的学习和工作中需要安装许多的软件.在redhat的linux操作系统下,软件一般都是rpm格式的.以下将介绍一些软件安装和管理的内容. 1.软件名称 在 ...

  10. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

随机推荐

  1. Sq常用操作

    sql创建表实例: CREATE TABLE mytable( id varchar(40) NOT NULL default '', userId varchar(40) NOT NULL defa ...

  2. 报错:MetaException(message:Version information not found in metastore. )

    报错背景: CDH安装完成hive后启动失败. 报错现象: [main]: Metastore Thrift Server threw an exception... MetaException(me ...

  3. composer autoload优化

    为生产环境作准备 最后提醒一下,在部署代码到生产环境的时候,别忘了优化一下自动加载: composer dump-autoload --optimize 安装包的时候可以同样使用--optimize- ...

  4. http post 自动变成了options 怎么设置

  5. vue-cli3.0和element-ui及axios的安装使用

    一.利用vue-cli3快速搭建vue项目 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令( ...

  6. 常见问题:MySQL/排序

    MySQL的排序分为两种,通过排序操作和按索引扫描排序. 按索引顺序扫描是一种很高效的方式,但使用的条件较为严格,只有orderby语句使用索引最左前列,或where语句与orderby语句条件列组合 ...

  7. 第5课.linux进阶命令

    1.find:查找符合条件的文件 格式: find 目录名 选项 查找条件 eg: find /work/001_linux_basic/dira/ -name "test1.txt&quo ...

  8. 怎么对10亿数据量级的mongoDB作高效的全表扫描

    转自:http://quentinxxz.iteye.com/blog/2149440 一.正常情况下,不应该有这种需求 首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提 ...

  9. [转帖]Linux下主机间文件传输命令

    Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs   SCP命令: ...

  10. [C++] 非递归实现前中后序遍历二叉树

    目录 前置技能 需求描述 binarytree.h 具体实现 binarytree.cpp main.cpp 网上代码一搜一大片,大同小异咯. 书上的函数实现代码甚至更胜一筹,而且抄一遍就能用,唯一问 ...