一、rpm包管理器

rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包。

用法:

  rpm [OPTION...]

例 rpm  -ivh +包名

配置文件:

/var/lib/rpm/ 已安装rpm包的元数据

选项:

  • -i:安装

    • --test:测试安装
    • --nodeps:忽略依赖关系
    • --replacepkgs | replacefiles 重装
    • --nosignature:不检查来源合法性
    • --nodigest:不检查包完整性
    • --noscript:不执行程序包脚本
    • --nopre:不执行安装前脚本
    • --nopost:不执行安装后脚本
    • --nopreun:不执行卸载前脚本
    • --nopostun:不执行卸载后脚本
    • -v|-vv:显示过程
    • -h:显示进度条
    • --force:强制
  • -e:卸载
    • --allmatches:卸载包的所有版本
  • -U:升级安装
  • -F:升级
  • --oldpackage:降级
  • -q:查询
    • -a:显示所有包
    • -f:查询文件是由哪个包生成的
    • -p:查询未安装的文件名
    • -c:只看配置文件
    • -d:显示文档
    • -i:包的说明信息
    • -l:查看程序包提供了哪些文件
    • --scripts:查询包的脚本信息
    • -R:查询包所依赖的“能力”
    • --whatprovides CAPABILITY:查询指定的”能力“由哪个包所提供
    • --whatrequires CAPABILITY:查询指定的“能力”被哪个包所依赖
    • --changelog:查询rpm包的更新日志
    • --provides:列出包提供的“能力”
  • -V:校验包属性是否发生变化,以下为变化的信息
    • 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
  • -K:检查包的签名和完整性
  • --import /etc/pki/rpm-gpg/KEY导入公钥
  • --root=/path/ 安装到指定“/”下
  • --initdb:初始化rpm数据库
  • --rebuilddb:重建rpm数据库

相关命令:

ldconfig -p 查看系统中所有的库 rpm2cpio FILE.rpm |cpio -tv  预览包内文件 rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件

ldconfig -p 查看系统中所有的库
rpm2cpio FILE.rpm |cpio -tv  预览包内文件
rpm2cpio FILE.rpm |cpio -idv  /path/file  解压rpm包指定文件

二、yum包管理

yum是存储了众多rpm包,以及包的相关的元数据文件

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量

yum的用法
yum [options] [command] [package ...]
显示仓库列表:
yum repolist [all|enabled|disabled]
显示程序包:
yum list
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:
yum install package1 [package2] [...]
yum reinstall package1 [package2] [...] (重新安装)

升级程序包:
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...] (降级)
检查可用升级:
yum check-update
卸载程序包:
yum remove | erase package1 [package2] [...]

查看程序包information:
yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
清理本地缓存:
清除/var/cache/yum/$basearch/$releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
yum makecache

搜索

yum  search string1 [string2] [...]    例如:yum  search  *app*

配置文件:

/etc/yum.conf 配置文件

  • cachedir 缓存目录
  • keepcache=0|1  安装时是否保留缓存的rpm包
  • logfile 日志文件
  • gpgcheck=0|1  检查签名和完整性

/var/log/yum.log 日志

/etc/yum.repos.d/FILE.repo  yum源文件

[base]
name=base               #描述信息
baseurl=http|ftp|file   #yum仓库,路径指向repodata的父目录
enabled=0|1
gpgcheck=0|1
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
failovermethod={roundrobin|priority}#roundrobin:意为随机挑选,为默认值#priority:按顺序访问
cost=                   #优先级,默认1000,值越小越优先
mirror=http|ftp|file    #指向repo地址的文件

/var/cache/yum/x86_64/6 缓存路径

# yum-config-manager --add-repo=https://mirrors.aliyun.com/centos/6/os/x86_64/

# yum-config-manager --disable “仓库名" 禁用仓库

# yum-config-manager --enable “仓库名” 启用仓库

# createrepo /rpmdir 创建元数据

选项:

  • -y 安装或卸载是直接回答yes,不进入交互式
  • -q 静默模式
  • --disablerepo=repoidglob:临时禁用此处指定的repo
  • --enablerepo=repoidglob:临时启用此处指定的repo
  • --noplugins:禁用所有插件

子命令:

  • list 列出repo源包含的所有软件包
  • installed 列出所有已安装的包
  • install 安装
  • reinstall 重新安装
  • repolist [all|disabled] 列出当前生效的repo源[所有|已关闭的]
  • clean all 清除缓存
  • update [package1...] 升级软件包
  • downgrade [package1...] 降级软件包
  • check-update 检查可升级的包
  • remove 卸载软件包
  • info 查看包的详细信息
  • provides 查找命令由哪些包提供
  • makecheck 手动生成缓存
  • search 模糊搜索包信息
  • deplist 检查依赖包
  • history 安装卸载的历史
    • list # 列出指定的操作
    • info # 列出指定操作的详细信息
    • undo # 撤销指定id的操作
    • redo # 重新执行
  • groupinstall 安装包组
  • groupupdate 升级包组
  • grouplist 列出所有包组
  • groupremove 移除包组
  • groupinfo 查
  • 看包组的详细信息

 练习

一、搭建一个本地yum源

1:首先进入etc下yum.repos.d目录下,将系统自带的yum源移到新建目录aa下

[root@laobai ~#cd /etc/yum.repos.d
[root@laobai /etc/yum.repos.d#mkdir aa
[root@laobai /etc/yum.repos.d#mv *.repo aa/

2:为了方便,将光盘挂载到指定目录

[root@laobai /mnt#mkdir cdrom
[root@laobai /mnt#ls
cdrom
[root@laobai /mnt#mount /dev/sr0 /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@laobai /mnt#cd cdrom
[root@laobai /mnt/cdrom#ls
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6[root@laobai /mnt/cdrom#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 4362068  43342704  10% /
tmpfs             502056      76    501980   1% /dev/shm
/dev/sda1         999320   34920    911972   4% /boot
/dev/sda3       30106576   44992  28525584   1% /date
/dev/sr0         3878870 3878870         0 100% /mnt/cdrom

3:进入etc下的yum.repos.d目录下,创建一个以repo结尾的文件,如cdrom.repo

[root@laobai /mnt/cdrom#cd /etc/yum.repos.d/
[root@laobai /etc/yum.repos.d#vim cdrom.repo

4:开始配置yum源并测试

[base]
name=base centos
baseurl=file:///mnt/cdrom
gpgcheck=0

[root@laobai /etc/yum.repos.d#yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
base                                                                        | 4.0 kB     00:00 ...
base/primary_db                                                             | 4.7 MB     00:00 ...
repo id                                     repo name                                        status
base                                        base centos                                      6,706
repolist: 6,706

测试正常

二、配置yum网络源

1 :在/var/www/html/下创建一个挂载目录centos

[root@centos7 ~]#mkdir -p centos/{6,7}/os/x86_64/

2:开启httpd服务,关闭防火墙并且设置开机不启动

[root@centos7 ~]#systemctl start httpd
[root@centos7 ~]#systemctl stop firewalld
[root@centos7 ~]#systemctl disable firewalld

3:添加一个centos6.9的光盘镜像至7的系统中,分别挂载到centos6和7的挂载目录内

[root@centos7 html]#mount /dev/sr0 centos/6/os/x86_24/
[root@centos7 html]#mount /dev/sr1 centos/7/os/x86_24/

4:本地测试访问,测试访问后没有问题后再去配置其他服务器的yum源
 $releasever:是获取发行版本号的变量

$basearch:是获取cpu架构类型的变量 (使用参数实现自动识别请求的系统版本)

5 :在其他系统上直接将yum仓库的源修改下地址即可,后面的版本号和cpu架构类型可以用变量代替

 [root@laobai /etc/yum.repos.d#vim cdrom.repo [base]
name=base centos
baseurl=http://192.168.95.130/centos/6/os/x86_24/
gpgcheck=0

6:配置好以后,直接用yum安装即可

转载于:https://www.cnblogs.com/huxiaojun/p/8903757.html

Linux九阴真经之摧心掌残卷11(rpm和yum包管理)相关推荐

  1. Linux中RPM 和 YUM 包管理详解

    概述 在本教程中,学习如何使用 RPM 和 YUM 工具管理 Linux 系统上的包.学习: 使用 RPM 和 YUM 安装.重新安装.升级和删除包. 获取 RPM 包的信息,包括版本.状态.依赖项. ...

  2. Linux进阶之路———— RPM 与 YUM 包管理

    引言 rpm 是一种用于互联网下载的打包及安装工具,它包含在某些 Linux 发行版中,生成具有 .rpm 扩展名的文件.rpm 是 redhat package manager(RedHat 软件包 ...

  3. Linux九阴真经之九阴白骨爪残卷11(并发访问控制和事务Transactions)

    一.并发访问控制 实现的并发访问的控制技术是基于锁: 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁:InnoDB支持表级锁和行级锁: 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其 ...

  4. Linux安装Yum包管理器

    一般Fedora/RedHat/Centos是安装了yum包管理器的,但是有些时候,比如RedHat或其他商业Linux的yum可能没有Fedora的更新或更多,或者要首先服务费用,这时候,可以把yu ...

  5. 【Linux】yum 包管理器 与 vim 编辑器

    Linux 1. 软件包管理器yum 1.1 罗列软件包 1.2 查找软件包 1.3 安装软件 1.4 删除软件 2. 文件传输 2.1 rzsz 2.2 Xftp 3. vim - 编辑器 3.1 ...

  6. Linux九阴真经之九阴白骨爪残卷4(自动化运维之ansible用法一)

    ansible是什么?   ansible是什么? 它是一个配置管理工具,也是一个自动化运维工具. ansible能做什么? ansible 可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工 ...

  7. Linux学习(十二)---RPM和YUM

    文章目录 一.rpm 包的管理 1.1 基本介绍 1.2 rpm 包的简单查询指令 1.3 rpm 包名基本格式 1.4 rpm 包的其它查询指令 1.5 卸载 rpm 包 1.6 安装 rpm 包 ...

  8. linux软件的安装与查询-rpm与yum命令

    一.RPM软件管理程序:rpm 1.RPM安装软件(install) rpm命令的选项超级多,安装话直接使用-ivh即可,其余做了解即可 命令格式:rpm -ivh package_name.rpm ...

  9. rpm及deb包管理

    编译安装源代码       包的组成       rpm包管理       yum使用简介       Ubuntu软件包管理 程序包编译 程序源代码 --> 预处理 --> 编译 --& ...

最新文章

  1. CXF发布restful WebService的入门例子(服务器端)
  2. XPath-Helper 的安装和使用
  3. Linux文件查找工具之find “大宝剑”--转载
  4. 为什么要看源码、如何看源码,高手进阶必看
  5. Linux 系统下命令 unrar 的英文版使用说明
  6. 作者:姚前(1970-),男,中国人民银行科技司教授级高级工程师
  7. Spring之WebSocket网页聊天以及服务器推送
  8. 冲突问题和核心对象和原生js 和 jquer的区别的两个区别(固定格式的区别和入口函数的区别)
  9. 设计模式学习01策略模式记录
  10. 瀑布流式网页翻页爬取
  11. 二进制空间权重矩阵_空间计量:空间权重矩阵的构建
  12. 白猫使用OCR文字识别
  13. LCP插件创建对等物理接口
  14. 微分方程的Matlab解法
  15. 阿里云短信服务(无需营业执照)快速上手
  16. C++图书管理系统及相应文件的创建与输出
  17. 笔记本高分屏字体模糊_高分屏字体模糊win10怎么办_Win10系统高分屏字体模糊解决方法...
  18. 计算机网络ppp,计算机网络 第7章 PPP和Internet接入.ppt
  19. 20221208 浪客剑心 追忆篇
  20. Html上传文件php处理上传文件

热门文章

  1. nginx nobody
  2. 在桌面计算机找不到光盘驱动器,我照的婚纱,把光盘放进里面了,打开电脑了,在电脑上找不到相片...
  3. China Merchants Bank Beats Rivals In Quality Of Service
  4. Count bits set in parallel(查找32位整形数中置1的个数)
  5. APP个人开发者月入仅千元,应用开发创业为何这么难?
  6. 轻松完成Panoply安装
  7. CANoe.DiVa的应用——生成测试用例粗略过程(一)
  8. KJ1570矿用人员定位系统,煤安认证更安全
  9. 仿真1 - takeoff_land
  10. 用JAVA自己画一张二维码