zoukankan      html  css  js  c++  java
  • #Linux学习# 软件包管理

    软件包管理简介

    二进制包

    二进制包包括:RPM包,系统默认包。

    二进制包优点:

    包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。

    安装速度比源码包安装快的多。

    二进制包缺点:

    经过编译,不再可以看到源代码。

    功能选择不如源码包灵活。

    依赖性问题。

    源码包

    源码包的优点:

    开源,如果有足够的能力,可以修改源代码。

    可以自由选择所需的功能。

    软件时编译安装,所以更加适合自己的系统,更加稳定也效率更高。

    卸载方便。

    源码包缺点:

    安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。

    编译过程时间较长,安装比二进制安装时间长。

    因为是编译安装,安装过程中一旦报错新手很难解决。

    RPM命令管理

    RPM包依赖性

    树形依赖:a –> b –> c

    环形依赖:a –> b –> c –>a

    模块依赖:模块依赖查询网站(www.rpmfind.net)

    包全名与包名

    包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。使用包全名的操作包括:安装、更新。

    包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。使用包名的操作包括:删除、查询。

    RPM安装:

    rpm    -rvh    包全名

    -i:install,安装

    -v:verbose,显示详细信息

    -h:hash,显示进度

    --nodeps:不检测依赖性

    RPM升级:

    rpm    -Uvh    包全名

    -U:upgrade,升级

    卸载:

    rpm    -e    包名

    -e:erase,卸载

    --nodeps:不检查依赖性

    查询相关信息:

    rpm    -qaiplR    包名

    -q:query,查询

    -a:all,所有

    -i:information,查询软件信息

    -p:package,查询未安装包信息

    -l:list,列表

    -R:requires,查询软件包的依赖性

    rpm    -qf    系统文件名

    -f:file,查询系统文件属于哪个软件包

    校验和文件提取

    RPM包校验:

    rpm    -V    已安装的包名

    -V:verify,校验指定RPM包中的文件

    验证内容中的8个信息的具体内容如下:

    S:文件大小是否改变

    M:文件的类型或文件的权限(rwx)是否被改变

    5:文件的MD5校验和是否改变(可以看成文件内容是否改变)

    D:设备的主/从代码是否改变

    L:文件路径是否改变

    U:文件的属主(所有者)是否改变

    G:文件的属组是否改变

    T:文件的修改时间是否改变

    文件类型:

    c:config file,配置文件

    d:documentation,普通文件

    g:ghost file,“鬼文件”,很少见,就是该文件不应该被这个RPM包包含

    l:license file,授权文件

    r:read me,描述文件

    RPM包中文件提取:

    rpm2cipo    包全名    |    cpio    -idv    .文件绝对路径

    rpm2cipo:将rpm包转换为cpio格式的命令

    cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

    常用yum命令

    常用操作

    查询:

    yum    list

    查询所有可用软件包列表

    yum    search    关键字

    搜索服务器上所有和关键字相关的包

    安装:

    yum    -y    install    包名

    install:安装

    -y:自动回答yes

    升级:

    yum    -y    update    包名

    update:升级

    -y:自动回答yes

    卸载:

    yum    -y    remove    包名

    remove:卸载

    -y:自动回答yes

    yum软件组管理命令

    yum    grouplist

    列出所有可用的软件组列表

    yum    groupinstall    软件组名

    安装指定软件组,组名可以由grouplist查询出来

    yum    groupremove    软件组名

    卸载指定软件组

    源码包管理

    源码包安装

    RPM包安装在默认位置:

    /etc/配置文件安装目录
    /usr/bin/可执行的命令安装目录
    /usr/bin/程序所使用的函数库保存位置
    /usr/share/doc/基本的软件使用手册保存位置
    /usr/share/man/帮助文件保存位置

    源码包安装在指定位置,一般是/usr/local/软件名/

    RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的Apache的启动方法是:/etc/rc.d/init.d/httpd start 或 service httpd start。

    而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:/usr/local/apache2/bin/apachect1 start。

    安装前先安装C语言编译器,下载源码包,解压缩下载的源码包,进入解压缩目录……

    源码包的卸载不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。

    脚本安装包

    脚本安装包并不是独立的软件包类型,常见安装的是源码包。是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。非常类似于Windows下软件的安装方式。

  • 相关阅读:
    Linux的网络配置
    Linux进程
    我需要的电脑配置
    spring注解配置
    spring中集合的配置
    getProperty()方法的参数和用途
    树的遍历
    单词变换
    最短路径dijkstra算法
    文件路径
  • 原文地址:https://www.cnblogs.com/zhuifeng17/p/12891772.html
Copyright © 2011-2022 走看看