• 软件包管理


    软件包分类

    源码包 脚本安装包
    二进制包 RPM包,系统默认包

    rpm包管理

    命名规则

    • 包名 操作已经安装的软件时,使用包名,是搜索/var/lib/rpm中的数据库
    • 包全名 操作的是没有安装的软件包时,要注意安装路径
      httpd-2.2.15-15.el6.centos.1.i686.rpm
      |名称|含义|
      |----|----|
      |httpd|软件包名|
      |2.2.15|软件版本|
      |15|软件发布次数|
      |el6.centos|适合的linux平台|
      |i686|适合的硬件平台|
      |noarch|全部硬件平台|
      |rpm|rmp包扩展名|
    • rpm包依赖性

    树形依赖 a->b->c
    环形依赖 a->c->c->a
    模块依赖 模块依赖查询网站www.rpmfind.net

    rpm命令管理

    rpm

    • 安装
    rpm [参数] 包全名	rpm软件安装
    rpm -ivh 包全名
    -i	install,安装
    -v	verbose,显示详细信息
    -h	hash,显示进度
    -U	upgrade,升级
    -e	erase,卸载
    --nodeps	不检测依赖性
    
    • 升级
    rpm [参数] 包全名	rpm软件升级
    rpm -ivh 包全名
    -v	verbose,显示详细信息
    -h	hash,显示进度
    -U	upgrade,升级
    
    • 卸载
    rpm [参数] 包名		rpm软件卸载
    -e	erase,卸载
    --nodeps	不检测依赖性
    
    • 查询
    rpm [参数] [包名]		查询软件是否安装
    -q	query,查询[包名]是否已经安装
    -a	all,查询所有已经安装的rpm包,此参数不需要指定包名
    rpm -qa | grep httpd	查询跟httpd(apache)有关的所有包
    -i	information,查询软件详细信息,-qi
    -l	list,列表,查询安装位置, -ql
    -p [包全名]	-qp,package,查询未安装包信息,此命令后接[包全名],此命令是查询软件仓库中存在的rpm安装包,但是未安装的
    -qlp [包全名]	查询未安装的软件默认的安装路径
    -f [系统文件名]	file,查询某个文件输入哪个rpm包,-qf,查询的文件名是需要通过rpm安装的
    -R	requires,查询软件包的依赖性,-qR
    
    • rpm包校验
    rpm [参数] 已安装的包名		查询软件是否安装
    -V	verify,校验指定的rpm包中的文件
    
    标志 意思
    S 文件大小是否改变
    M 文件的类型或文件的权限是否改变
    5 文件的MD5值是否改变(可以理解成文件内容是否改变)
    D 设备的中,从代码是否改变
    L 文件的路径是否改变
    U 文件的属主(所有者)是否改变
    G 文件的数组是否改变
    T 文件的修改时间是否改变
    c 配置文件,config file
    d 普通文档,documentation
    g "鬼"文件,ghost file,很少见,该文件不应该被这个rpm包包含
    l 授权文件,license file
    r 描述文件,read me
    • rpm包中的文件提取

    rpm2cpio 将rpm包转换为cpio格式的命令
    cpio 是一个标准工具,用于创建软件档案文件和从档案中提取文件

    rpm2cpio 包全名 | cpio -idv .文件绝对路径	.代表保存在当前路径下  文件绝对路径是文件在rpm包中的路径,-d会在当前目录下按照文件绝对路径的样子新建目录
    
    cpio 选项 < [文件|设备]
    -i	copy-in模式,还原
    -d	还原时自动新建目录
    -v	显示还原过程
    

    yum

    • IP地址配置和网络yum源
      setup 配置网络
      |参数|作用|
      |----|----|
      |[base]|容器名称,一定要放在[]中|
      |name|容器说明,可以随便写|
      |mirrorlist|容器站点,可以注释掉|
      |baseurl|yum源服务器的地址|
      |enabled|此容器是否生效,默认=1,=1生效,=0不生效|
      |gpgcheck|如果是1是指rpm的数字证书生效,为0不生效|
      |gpgkey|数字证书的公钥文件保存位置|
    • yum命令
    yum list		查询所有可用的软件包列表
    yum search 关键字	搜索服务器上所有和关键字相关的包
    yum [参数] 包名
    install		安装
    update		升级,不加包名的话会升级linux上的所有软件包,包括linux内核
    remove		卸载,尽量不要用yum卸载,会自动卸载相关的支持库,曹成系统异常
    -y		自动回答yes
    grouplist	列出所有可用的软件组列表
    groupinstall 软件组名	安装指定软件组,组名可以用grouplist查询出来
    groupremove 软件组名	卸载指定软件组
    
    • 光盘yum源
    mount /dev/cdrom /mnt/cdrom		挂载光盘
    //让网络yum源失效
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv CentOS-Vault.repo CentOS-Vault.repo.bak
    vim CentOS-Media.repo
    //地址修改为自己的光盘挂载地址
    baseurl=file:///mnt/cdrom
    enabled=1	把enabled改为1,让这个yum源生效
    
    • 源码包管理

    区别:安装前,概念上的区别 安装后,安装位置不同

    • 源码包安装

    /usr/local/sec 源代码保存位置
    /usr/local 软件安装位置
    卸载软件方法 直接删除软件安装目录即可
    ./configure 软件配置与检查
    定义需要的功能选项
    检测系统环境是否符合安装要求
    把定义号的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑

    yum -y install gcc	安装C语言编译器
    ./configure --prefix/usr/local/apache2	指定安装路径
    make		编译
    make clean		make如果报错,可使用此命令情况make命令编译产生的临时文件
    make install		编译安装
    
    • 脚本安装方法
  • 相关阅读:
    函数-列表生成式
    函数-闭包
    函数-参数
    函数-装饰器
    函数-函数递归
    函数-高阶函数
    函数-命名空间
    函数-匿名函数
    模块-shutil
    在 Android 5.1.1 执行 remount system failed 解决方法
  • 原文地址:https://www.cnblogs.com/mrhonest/p/11642546.html
Copyright © 2020-2023  润新知