• Linux 之 软件安装


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

      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)

  • 相关阅读:
    SpringBoot 部署 docker 打包镜像
    Android上dip、dp、px、sp等单位说明(转)
    mac下svn问题——“.a”(静态库)文件无法上传解决
    Mac OS X 访问 Windows 共享文件夹
    svn不能添加.a文件的解决方法
    UIView的剖析(转)
    mac 下真机调试 android 手机
    IOS-synthesize和dynamic的异同(转)
    IOS学习笔记之关键词@dynamic
    【转】APNs消息推送完整讲解
  • 原文地址:https://www.cnblogs.com/xs104/p/4619379.html
Copyright © 2020-2023  润新知