yum安装与管理

程序包管理

内核功能:进程管理、内存管理、网络协议栈、驱动程序、...

应用程序:特定功能

包管理器:打包,包管理(安装、升级、卸载、查询及校验)

  • deb: debian
  • rpm: redhat package manager
  • RPM is Package Manager(包管理器)

程序包的组成部分:

二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin,

库文件:/lib64, /usr/lib64(程序共通的功能,代码运行时可以共通)

配置文件:/etc

帮助文件:manual, info,

包管理器:

打包:诸多文件一个单一的归档文件中;

安装:打包文件展开,把文件放在应该放在的路径上

卸载:收集起来,删除

升级:替换

查询:

校验:

安装检查来源的合法性、完整性;

rpm包:rpmbuild: 提供specs文件,以specs打包;

10功能:5, 3, 2

分包机制:testapp-VERSION.tar.gz

  • 核心包:testapp-VERSION
  • 支包:testapp-devel-VERSION

VERSION:major.minor.release

  • base-4.2.4.tar.gz

rpm包的命名机制:

name-VERSION-RELEASE.ARCH.rpm

bash-4.2.4-1.el7.x86_64.rpm

bash-devel-4.2.4-1.el7.x86_64.rpm

RELEASE: rpm release

包和包之间:有可能存在依赖关系:

X --> Y

rpm数据库:/var/lib/rpm/(redhat,centos)

如何获取rpm包:

1、发行版提供的程序包;(iso)

2、Fedora-EPEL

3、项目的官方站点

4、搜索引擎

  • http://rpmfind.net
  • http://rpm.pbone.net
  • http://pkgs.org

CentOS识别光盘用的设备文件:/dev/cdrom,

基于rpm命令实现程序包管理

安装:

rpm {-i|--install} [install-options] PACKAGE_FILE ...

  • -i:
  • -v:显示详细过程,-vv, -vvv
  • -h:

每个rpm包都提供一个或多个能力,当那个能力没有安装的话就不能安装

--nodeps:忽略依赖关系安装(安装后可能不能使用)

--replacepkgs:重装程序包

升级:

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

  • -Uvh: 如果有旧版程序包,则升级之;如果没有,则安装之;
  • -Fvh: 如果有旧版程序包,则升级之;如果没有,则不安装;
  • --nodeps
  • --oldpackage:降级;
  • --force:其他相关联的文件不允许升级,使用此选项

卸载:

rpm {-e|--erase} [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

--nodeps:常用选项

查询:

rpm {-q|--query} [select-options] [query-options]

  • -qa: 查询本机已经安装的所有程序包;
  • -qf /PATH/TO/SOMEFILE: 查询此处的文件由哪个程序包安装生成;
  • -qc: 查询指定程序包安装生成的配置文件
  • -qd: 查询指定的程序包安装生成的文档
  • -qi: 查询指定的程序包的相关信息;
  • -ql: 查询程序包安装生成的所有文件的列表;
  • -q --scripts:查询程序包相关的脚本:

preinstall: 安装前脚本

postinstall:安装后脚本

preuninstall: 卸载前脚本

postuninstall: 卸载后脚本

  • -p: 查询针对是未安装的程序包文件;

    qpi:预计安装的信息

qpl:预计安装后的文件目录

校验:

rpm {-V|--verify} [select-options] [verify-options]

  • S file Size differs
  • M Mode differs (includes permissions and file type)
  • 5 digest (formerly MD5 sum) differs
  • D Device major/minor number mismatch
  • L readLink(2) path mismatch
  • U User ownership differs
  • G Group ownership differs
  • T mTime differs
  • P caPabilities differ

包校验:

来源合法性验正:非对称加密

完整性验正:单向加密

导入密钥:rpm --import /PATH/TO/KEY_FILE

校验:rpm -K /PATH/TO/RPM_FILE


YUM: Yellowdog Updater Modified--前端管理工具

文件服务器:

ftp://hostname/PATH/TO/REPO

http://hostname/PATH/TO/REPO

file:///PATH/TO/REPO

yum程序的配置文件:

/etc/yum.conf

定义全局配置:对所有仓库都适用的配置

/etc/yum.repos.d/*.repo

一个文件通常用于一个或一组功能相近或相关的仓库

定义一个仓库指向:

[REPO_ID]

name=

baseurl=(3个路径之一)

# mirrorlist=SCHEME://HOSTNAME/PATH/TO/MIRROR_LIST_FILE

enabled={1|0}

gpgcheck={1|0}

gpgkey=

cost=仓库的开销

以阿里云举例

定义仓库指向可用变量:

$releasever: 引用当前系统的主版本号;

$basearch: 当前系统的基本架构;

i386, i486, i586, i686: i386

http://mirrors.magedu.com/CentOS/$releasever/os/$basearch

yum命令:

yum [options] [command] [package ...]

安装:install

卸载:remove

升级:update

查询:

  • info(首字段)
  • search KEYWORD(字段内)
  • list all|installed|availiable
  • provides /PATH/TO/SOMEFILE: 查询指定文件由哪个包安装生成

重新安装:reinstall

降级:downgrade

清理缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

生动生成缓存:makecache

注意:指向repodata的父目录

包组:

grouplist

groupinfo "GRP_NAME"

groupinstall "GRP_NAME"

groupremove "GRP_NAME"

仓库:

repolist [all|enabled|disabled]

repoinfo [all|enabled|disabled]

如何使用光盘当做本地仓库:

挂载光盘至某目录

定义仓库,使用file:///指明其访问路径;

创建本地仓库:

yum install createrepo

createrepo /PATH/TO/RPMFILES/

1.创建目录

2.目录rpm包

3.createrepo -v 目录名

4.yum clean all

5. yum makecache

另外:

当外网下载一个rpm包,当要使用仓库的依赖文件

yum install ...rpm -y

下一代的前端:dnf

时间: 2024-10-09 20:58:43

yum安装与管理的相关文章

[9-5]Rpm与Yum安装包管理知识梳理

本文旨在复习Linux上安装包管理rpm与yum工具 知识储备 所谓的包管理是指在Linux平台上查询.校验.安装.升级.卸载以及打包package 不同的Distribution Linux上包管理工具各不相同,最主流的有通吃RedHat/CentOS的RPM.YUM.DNF[新一代的前端管理工具],Debian上的APT管理工具 一个程序包package通用组成部分 二进制程序:/bin, /sbin,/, /usr/bin, /usr/sbin, 库文件:/lib, /lib64, /us

CentOS7--使用yum安装和管理软件

yum是红帽软件包管理器,它能能够查询,安装和卸载软件包,以及将整个系统更新到最新的可用版本.Yum可以在安装的过程中自动解决依赖关系. 1. 检查和更新软件包 1.1 查询更新 查看系统上哪些已安装的软件包具有可用更新,请使用以下命令: yum check-updatewget.x86_64                                                  1.14-15.el7_4.1                                     

运维笔记10 (Linux软件的安装与管理(rpm,yum))

概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux可以说是一款改变时代的操作系统,但是一个操作系统再优秀如果没有好用的应用跑在上面,也不会流行起来,严格意义上讲操作系统也是软件,是系统软件.1991年linux系统诞生了,但是在他诞生之前有很多优秀的程序员参加了GNU计划,编写了很多"自由"软件. GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一

yum安装LAMP环境与管理(七)

[教程主题]:yum安装LAMP环境与管理 [1] 什么是LAMP 目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器.这四个软件都是遵循GPL的开放源码软件,它们安全.稳定.快速.功能强大,使用它们可以建立一个快速.稳定.免费的网站系统. [2]准备环境 yum添加163源 地址: http://mirrors.163.com/.help/cent

linux程序包安装、管理工具rpm、yum和源码安装

rpm包管理器: 应用程序要想成为机器可识别的二进制机器码,必须经过一下步骤: rpm包管理器的功能就是将这一切过程自动管理,成为易于普通人使用,可简化应用程序安装的工具. 人们将源码经过编译执行后将程序打包成rpm格式的包,所有使用rpm包安装时必须与提供rpm包的作者使用相同的操作系统平台环境.因此出现了不同的包管理器,rpm知识其中一个. rpm包的命名格式: rpm包命名方式:name-version-arch.rpm version :主版本号.次版本号.平台号 arch :表示平台,

linux常用命令---centOS7的管理服务(针对yum安装的)

centOS7的管理服务(针对yum安装的) 原文地址:https://www.cnblogs.com/open-yang/p/11253289.html

Linux系统中程序的安装及管理、创建私有yum仓库实验

各位小伙伴今天要和大家分享的是Linux系统中程序的安装及管理,以及创建私有yum仓库的操作实验.本次我们会从以下几个部分进行说明: Linux应用程序基础 查询RPM软件包信息 安装.升级.卸载.RMP软件包.yum仓库 源代码编译安装 应用程序与系统命令的关系:1.文件位置? 系统命令:一般在/bin和/sbin目录中? 应用程序:通常在/usr/local目录中2.主要用途? 系统命令:完成对系统的基本管理工作,例如IP配置工具? 应用程序:完成相对独立的其它辅助任务,例如网页浏览3.适用

解决红帽6.8无法使用前端包管理工具YUM安装程序包问题

红帽的YUM源需要注册用户才能更新使用,由于CentOS和RHEL基本没有区别,并且CentOS已经被REHL收购.所以将RHEL的YUM源替换为CentOS即可: 问题描述: 看安装提示信息 [[email protected] ~]# yum install httpd Loaded plugins: product-id, search-disabled-repos, security, subscription-manager This system is not registered 

CentOS 7 yum安装Zabbix

CentOS 7 yum安装Zabbix 一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 下面是Centos7上yum安装zabbix的步骤. 二.Zabbix安装 本文档在同一台机器上安装了zabbix-server 和zabbix-agent 自己监控自己. 1.配置LAMP 参照下面的链接 Centos