Linux 之 软件安装

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

从源代码安装软件

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

步骤为:

  • 执行configure,它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。
    在检查过程中,如果出现问题,会停止检查并提示错误,方便用户根据提示重新配置安装环境,再重新执行检查,检查完成之后,会生成一个config.log文档,记录一些运行配置用以帮助调试安装。检查通过之后,会生成用于编译的MakeFile文件,至此,就可以开始编译了。
  • make,系统根据MakeFile的指示开始展开编译,利用gcc将原始码编译成为目标文件,这些目标文件通过函数库连接产生一个完整的可执行文件
  • make install,开始安装,将编译完成的文件安装到预定的目录中去。一般情况下会有etc(配置文件)、bin(执行文件)、lib(函数库)、man(线上说明书)等目录

利用软件管理工具安装

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 常用命令
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的当前版本

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
Copyright© 2020-2022 li-xyz 冀ICP备2022001112号-1