rpm软件包

linux软件管理

image-20220906155634722

linux

1 软件包顾名思义就是将应用程序,配置文件和数据打包的产物,所有的linux发行版都采用了某种形式的软件包系统,这使得linux软件管理和windwows下一样方便,suse、red hat、fedora等发行版都是用rpm包,Debian和Ubuntu则使用.deb格式的软件包。

mysql-5-3-4.rpm
redis-3-4-3.rpm
nginx2-3-2.rpm

编程语言

image-20220906160709183

  • 系统级开发

    • C/C++:httpd、nginx
    • golang:docker
  • 应用及开发

    • java:hadoop,hbase
    • python:openstack
    • perl
    • ruby
    • php

程序格式

C/C++程序源代码

文本格式的程度代码

编译开发环境

编译器、头文件,开发库

二进制格式组成

程序(软件)组成部分
     二进制程序  可执行命令
     库        .so文件
     配置文件   .conf
     帮助文件   .readme   /usr/share/man

java/python程序

源代码

编译成能够在python虚拟机 pvm运行的格式

项目构建工具

c/c++  : make工具

image-20220906163117992

程序包管理工具

在rpm(红帽软件管理包管理器)公布之前,要想在linux系统中安装软件只能采用源码包的方式安装。早期在linux系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅是提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能、甚至良好的耐心。而且在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作是难度都非常大。

rpm机制则为解决这些问题而设计的。rpm有点像windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。

linux程序包管理器,几个发行版

  • debian(Ubuntu):dpt,dpkg
    • 。deb
  • redhat:redhat package manager,简称rpm
  • suse:rpm

源代码格式

格式:name-version.tar.gz
     名字   版本   压缩格式
 
 nginx-1.12.0.tar.gz
 node-v10.15.3-linux-x64.tar
 

rpm包格式

格式:name-version-release.arch,rpm
wget-1.14-18.el7.x86_64.rpm
   名字 版本号 架构型号 压缩格式

获取程序包的途径

互联网上提供的软件,可能存在后门,存在安全隐患,插件

最为正确的途径-

  • 操作系统发行版本光盘
  • 文件服务器
  • 镜像站点

开源镜像站

http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrosr.sohu.com/centos/7.6.1804/os/x86_64/Packages/
http://mirrosr.163.com
  • epel,提供centos众多额外的第三方包,可信任的第三方软件包组织
http://mirrosr.sohu.com/fedora-epel/7/x86_64/packages/
https://mirrosr.aliyun.com/epel/7/x86_64/packages/m/
  • 搜索引擎
http://www.rpmfind.net/linux/mageia/distrib/7/x86_64/media/core/release/lrzsz-0.12.21-22.mga7.x86

rpm命令

rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
# i表示安装 v表示详细过程 h以进度条显示,每个#表示2%进度
安装软件的命令格式       rpm -ivh filename.rpm
升级软件命令格式         rpm -Uvh filename.rpm
卸载软件的命令格式       rpm -e filename.rpm
查询软件描述信息的命令格式 rpm -qpi filename.rpm
列出软件文件信息的命令格式   rpm -qpl filename.rpm
查询文件属于哪个rpm的命令格式 rpm -qf filename

软件包依赖关系

在早期系统运维中,安装软件是一件非常费时费力的事情。系统管理员不得不下载软件源代码编译软件,并且为了系统做各种调整。

尽管源代码编译形式的软件增强了用户定制的自由度,但是在小软件上耗费精力是缺乏效率的,于是软件包应运而生。

软件包管理可以将管理员从无休止的兼容问题中释放。yum工具就可以自动搜索依赖关系,并执行安装。

rpm软件包在安装的时候,由作者定义依赖关系

必须解决依赖关系,软件才能正常工作
posted @ 2022-09-07 08:50  一直前进  阅读(230)  评论(0编辑  收藏  举报