一、rpm包管理器

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

用法:

  rpm [OPTION...]

配置文件:

/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包指定文件

二、yum包管理器

yum(Yellowdog Update Modifier)是一个基于rpm的交互式软件包管理器。

用法:

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

配置文件:

/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 查看包组的详细信息

示例1:搭建一个本地yum源(CentOS6.9)

1、先将系统自带的repo文件移动到其他地方

[root@web1 ~]# cd /etc/yum.repos.d/
[root@web1 yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo epel-testing.repo
CentOS-Debuginfo.repo CentOS-Media.repo epel.repo
[root@web1 yum.repos.d]# mv ./* ~
[root@web1 yum.repos.d]# ls

2、将本地cdrom挂载到指定目录并设置开机挂载

[root@web1 ~]# mkdir /media/cdrom
[root@web1 ~]# mount -r /dev/sr0 /media/cdrom
[root@web1 ~]# ls /media/cdrom
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@web1 ~]# vim /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0 #加入开机自动挂载

3、配置yum源并测试

# vim /etc/yum.repos.d/base.repo

[base]
name=cdrom
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, 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 cdrom 6,706
repolist: 6,706

测试OK!

示例2:配置网络源(epel源)

以阿里源为例,下载repo文件到指定目录,测试OK!

[root@web1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@web1 ~]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0 [epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* epel: mirrors.aliyun.com
repo id repo name status
base cdrom 6,706
epel Extra Packages for Enterprise Linux 6 - x86_64 12,497
# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm  #CentOS7安装repo源

记录于2018.04.19 20:41

软件包管理(rpm&yum)的更多相关文章

  1. 软件包管理(rpm,yum)

    软件包管理相关软件: 软件包管理器的核心功能: .制作软件包 .安装,卸载,升级,查询,效验 Redhat ,SUSE : RPM Debian :dpt 依赖关系; 前端工具;yum ,apt-ge ...

  2. 软件包管理 rpm yum apt-get dpkg

    http://blog.csdn.net/ljq1203/article/details/7401616

  3. rpm软件包管理/yum软件管理

    绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make ...

  4. 软件包管理rpm和yum

    rpm的使用: 安装的包相关包信息会保存在/var/lib/rpm目录下的文件中 安装参数: -i install安装 -v 显示详细信息 -h 打印####号 -V 校验软件包,会到/var/lib ...

  5. Linux系列教程(十二)——Linux软件包管理之yum在线管理

    上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rp ...

  6. Linux软件包管理之yum在线管理

    目录 1.yum在线管理 2.网络 yum 源 3.光盘 yum 源搭建步骤 ①.挂载光盘 ②.让网络 yum 源失效 ③.修改光盘yum源文件 ④.输入yum list 可以查看光盘yum源里面的软 ...

  7. Linux—软件包管理器yum安装详解

    yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动下载RPM包 ...

  8. 软件包管理:rpm包管理-yum在线管理-IP地址配置和网络yum源

    只需告诉系统你想安装那个包,剩下的所有依赖问题yum都会解决. 有些情况下不能上网,但可以使用光盘. centos的yum是免费的.redhatyum付费. yum管理的其实同样是rpm包.并没有yu ...

  9. 软件包管理:rpm命令管理-包命名与依赖性

    rpm包的管理主要有两种方法:一种是rpm命令管理另一种是yum在线管理 注意软件包没有扩展名,写上只是为了好看,便于识别而已. 注意区别包名,包全名.之所以要区分,就是因为有些命令十分挑剔,需要跟正 ...

  10. linux基础之程序包管理(rpm,yum)

    一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...

随机推荐

  1. MySQL丨删除一张表小常识

    在MySQL里面 ,对于删除一张表里面的所有内容有两种语句: 1.delete from table_name; 2.truncate table table_name; 解析:以上两种方式都可以删除 ...

  2. Struts2 - 与 Servlet 耦合的访问方式访问web资源

    •       直接访问 Servlet API 将使 Action 与 Servlet 环境耦合在一起,  测试时需要有 Servlet 容器, 不便于对 Action 的单元测试. •       ...

  3. fedora使用mac osx字体和渲染方式

    fedora 19的倒退(中文显示有问题)让人感到很沮丧,不过,后来还是找到了一个很好的解决方案:使用max osx的字体和渲染方式 1. 安装infinality字体渲染软件: rpm -Uvh h ...

  4. 电子商务网站SQL注入项目实战一例(转载)

    故事A段:发现整站SQL对外输出: 有个朋友的网站,由于是外包项目,深圳某公司开发的,某天我帮他检测了一下网站相关情况. 我查看了页面源代码,发现了个惊人的事情,竟然整站打印SQL到Html里,着实吓 ...

  5. shell入门-sed-1

    sed这个工具比grep复杂一点,功能比grep复杂一点 功能也能指定匹配的行,不能颜色显示 sed 基础功能 [root@wangshaojun ~]# sed -n '10'p 1.txtuucp ...

  6. Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术

    Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术 这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明.硬件 ...

  7. Math类简介

    Math  abs max min 分别是绝对值 最大值,最小值 round 四舍五入 ceil ceil(32.6)  33.0 ceil(32.2) 33.0 返回大于该数值的较大的整数 与之相对 ...

  8. 0009_if控制语句

    1.if 条件:                   (判断相等一定注意要用 ==  而不是 =) 代码块 else: 代码块 2.if 条件一: 代码块 elif 条件二: 代码块 elif 条件三 ...

  9. 03_android日志猫的使用

    在java基础的时候如果想调试程序打一下日志,用的是System.out.println();. 控制台输出的其实不是咱们的日志,而是我把整个项目的部署到设备上.控制台输出的是这个东西.Uploadi ...

  10. Hadoop-2.3.0-cdh5.0.1完全分布式环境搭建(NameNode,ResourceManager HA)

    编写不易,转载请注明(http://shihlei.iteye.com/blog/2084711)! 说明 本文搭建Hadoop CDH5.0.1 分布式系统,包括NameNode ,Resource ...