单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作、生活需求。一般情况下,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  

RPM命令详解(安装、升级、卸载)

rpm 常用命令
.安装一个包
# rpm -ivh .升级一个包
# rpm -Uvh .卸载一个包
# rpm -e .安装参数
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 .查询一个包是否被安装
# rpm -q < rpm package name> .得到被安装的包的信息
# rpm -qi < rpm package name> .列出该包中有哪些文件
# rpm -ql < rpm package name> .列出服务器上的一个文件属于哪一个RPM包
#rpm -qf .可综合好几个参数一起用
# rpm -qil < rpm package name> .列出所有被安装的rpm package
# rpm -qa .列出一个未被安装进系统的RPM包文件中包含有哪些文件?
# rpm -qilp < rpm package name> <>
一、安装 命令格式: rpm -i ( or --install) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 将要安装的RPM包的文件名 详细选项: -h (or --hash) 安装时输出hash记号 (``#'')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为 通用选项 -v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为 二、删除 命令格式: rpm -e ( or --erase) options pkg1 ... pkgN 参数 pkg1 ... pkgN :要删除的软件包 详细选项 --test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性 通用选项 -vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装
程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为 三、升级 命令格式 rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm 参数 file1.rpm ... fileN.rpm 软件包的名字 详细选项 -h (or --hash) 安装时输出hash记号 (``#'')
--oldpackage 允许"升级"到一个老版本
--test 只进行升级测试
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为 通用选项 -v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为 四、查询 命令格式: rpm -q ( or --query) options 参数: pkg1 ... pkgN :查询已安装的软件包 详细选项 -p (or ``-'') 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
--whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
--whatrequires 查询所有需要 功能的软件包 信息选项 显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能 通用选项 -v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为 五、校验已安装的软件包 命令格式: rpm -V ( or --verify, or -y) options 参数 pkg1 ... pkgN 将要校验的软件包名 软件包选项 -p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包 详细选项 --noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性 通用选项 -v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为 六、校验软件包中的文件 语法: rpm -K ( or --checksig) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 软件包的文件名 Checksig--详细选项 --nopgp 不校验PGP签名 通用选项 -v 显示附加信息
-vv 显示调试信息
--rcfile 设置rpmrc文件为 七、其它RPM选项 --rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本

  3.YUM安装

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

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

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

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

[仓库简写名称]

name=仓库名称,一般为仓库描述

baseurl=仓库路径,可以是互联网上,也可以是本地的

enabled=是否启用(,启用;,禁用)

gpgcheck=是否打开校验(,打开;,关闭)

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

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

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

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

      配置简单

安装软件

yum install 软件名称

卸载软件

yum remove 软件名称

升级软件

yum update 软件名称

基于关键字搜索软件

yum search 关键字

显示指定软件信息

yum info 软件名称

清空缓存信息

yum clean all

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

最新文章

  1. Java实现约瑟夫环
  2. Salesforce注册开发者账号
  3. MyEclipse中直接打开class文件的方法
  4. sqlserver字段类型
  5. Lua windows环境搭建
  6. 动画(Animation) 、 高级动画(Core Animation)
  7. comparison of floating point numbers with equality operator. possible loss of precision while rounding values
  8. hdu1002大数相加
  9. TWinControl.DefaultHandler处理WM_CTLCOLORMSGBOX..WM_CTLCOLORSTATIC消息的两个参数很有意思,两个都是传递句柄
  10. hadoop如何查看文件系统
  11. 第二次项目冲刺(Beta阶段)5.22
  12. duilib 快捷键发送消息
  13. python,练习乌龟吃鱼
  14. warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
  15. python使用数据库的一些操作
  16. jQuery的dialog弹窗实现
  17. sublime 配置python环境
  18. git使用教程推荐
  19. idea maven 打包 引用本地jar
  20. 2018.9.30 Java中数组的存储与内存分配

热门文章

  1. idea里面lombok要如何设置后才会生效
  2. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计
  3. C# Hook原理及EasyHook
  4. 手把手教你如何安装Tensorflow(Windows和Linux两种版本)
  5. 关于TV工厂菜单参数的具体说明
  6. 学习记录:《C++设计模式——李建忠主讲》7.“领域规则”模式
  7. Mongodb索引实战
  8. Jenkins+maven+gitlab自动化部署之Jenkins系统管理配置(四)
  9. maven profiles多环境配置
  10. 对比JPA 和Hibernate 和 Mybatis的区别