【Linux命令】 06_软件包管理

软件包

- 源码包:
    例:脚本安装包
    优点:开源
          开源自由选择功能
          编译安装,效率高
          卸载方便
    缺点:安装步骤多
          编译时间长
          报错解决麻烦
- 二进制包(RPM包):
    优点:包管理系统简单
          安装速度快
    缺点:经过编译,不能看到源代码
          功能选择不如源码包灵活
          依赖性

软件包安装位置

RPM包默认安装位置

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

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

源码安装包保存位置

/usr/local/src

1. rpm

功能:管理rpm包
选项: -i 安装
       -U 升级
       -e 卸载
           -v 显示详细信息
           -h 显示进度
           --nodeps 不检测依赖性
       
       -q 查询包是否安装
           -i 查询软件信息
           -l 查询包中文件安装位置
           -f 查询系统文件属于哪个软件包
           -R 查询软件包的依赖性
           -p 查询未安装包信息
           
语法:安装--> rpm -ivh 包全名
      升级--> rpm -Uvh 包全名
      卸载--> rpm -e 包名(不用全名)
      
      
      rpm -q 包名   查询包是否安装
      rpm -qa   查询所有已安装的RPM包
      
      rpm -qi 包名  查询软件信息
      rpm -qip 包全名  查询未安装软件包信息
     
      rpm -ql 包名  查询包中文件安装位置
      rpm -qlp 包全名  查询未安装包中文件安装位置
      
      rpm -qf 系统文件名  查询系统文件属于哪个软件包
      
      rpm -qR 包名  查询软件包的依赖性
      rpm -qRp 包全名  查询未安装软件包的依赖性
      
      
      rpm -V 已安装包名  校验包安装的文件是否发生修改
      
注:安装升级需要在rpm包目录下,卸载查询不用。
    前两者需要包全名,卸载查询不用。

2. rpm2cpio

功能:从安装包中提取文件
语法:rpm2cpio 包全名 | \ cpio -idv .文件绝对路径    其中 \ 表示换行

3. yum

功能:在线管理rpm包
语法:
    yum list  查询所有可用软件包列表
    yum search 关键字(包名)   搜索服务器上所有和关键字相关的包
    
    安装--> yum install 包名
        选项:-y 自动回答yes (不添加,每个包安装会询问是否安装)
        例:yum -y install gcc
    升级--> yum update 包名
        选项同上
        例:yum -y update gcc
        注:不写包名会更新所有包,包括linux内核,导致系统崩溃!
    卸载--> yum remove 包名
        选项同上
        例:yum -y remove gcc
        注:卸载会卸载包和所有相关依赖,可能会卸载系统相关的依赖导致系统崩溃
        
软件组管理:
    语法:
        yum grouplist  列出所有可用的软件组列表
        yum groupinstall 软件组名     安装指定软件组,组名由上一条命令查询(带空格分隔的用双引号引起来)
        yum groupremove 软件组名    卸载指定软件组
        
指定光盘作为源:
    进入/etc/yum.repos.d/目录
    查看文件
    将除了CentOS-Media.repo以外的文件重命名(后缀加个.bak)
    进入CentOS-Media.repo文件,修改baseurl为挂载点,将enabled修改为=1。
    (注:严格注意格式问题)

【Linux命令】 06_软件包管理
http://blog.rainna.xyz/2020/11/22/2020-11-22-06_软件包管理/
作者
rainnalv
发布于
2020年11月22日
许可协议