单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作、生活需求。一般情况下,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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
RPM命令详解(安装、升级、卸载) rpm 常用命令 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 5.查询一个包是否被安装 # rpm -q < rpm package name> 6.得到被安装的包的信息 # rpm -qi < rpm package name> 7.列出该包中有哪些文件 # rpm -ql < rpm package name> 8.列出服务器上的一个文件属于哪一个RPM包 #rpm -qf 9.可综合好几个参数一起用 # rpm -qil < rpm package name> 10.列出所有被安装的rpm package # rpm -qa 11.列出一个未被安装进系统的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=是否启用(1,启用;0,禁用) gpgcheck=是否打开校验(1,打开;0,关闭)
仓库可以使用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)