一、环境准备
开启CentOS7虚拟机

1.将光盘光盘镜像文件,放到虚拟的光驱设备

2.建立一个目录,进行挂载
[root@localhost ~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 6月 1 08:57 /dev/cdrom -> sr0
[root@localhost ~]# mkdir /mydvd
[root@localhost ~]# ls /mydvd
[root@localhost ~]# mount /dev/cdrom /mydvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /mydvd/
[root@localhost ~]# ls /mydvd/Packages/ #查看众多的软件包

二、RPM软件包简介
常见的软件封包类型
封包类型 说 明
rpm软件包 扩展名为 .rpm ,适用于RedHat系列
deb软件包 扩展名为 .deb ,适用于Debian系列
源代码软件包 通常以 .tar.gz、.tar.bz2 格式的压缩包提供
包含程序的原始代码文件
其他 提供install.sh、setup、.bin 、.pl等安装文件
绿色免安装、提供已编译好的程序及相关文件

•RPM Package Manager
–由红帽公司提出,RedHat、SUSE等系列采用
–建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系

•RPM包文件名特征
–软件名-版本信息.操作系统.硬件架构.rpm
firefox-52.7.0-1.el7.centos.x86_64.rpm

•RPM包的一般安装位置(分散)
文件类别 默认安装位置
普通执行程序 /usr/bin/ 、/bin/
服务器程序、管理工具 /usr/sbin/ 、/sbin/
配置文件 /etc/ 、/etc/软件名/
日志文件 /var/log/、/var/log/软件名/
程序文档、man手册页 /usr/share/doc/ 、/usr/share/man/
/etc:存放大多数配置文件

三、查询软件信息
•查询已安装的软件
–格式:rpm -q[子选项] [软件名称]
•常用的子选项
–-qa:列出已安装的所有软件包
–-qi:查看指定软件的详细信息
–-ql:查看指定软件的文件安装清单

[root@localhost ~]# rpm -q firefox #查询当前系统是否安装
firefox-52.7.0-1.el7.centos.x86_64
[root@localhost ~]# rpm -q haha
未安装软件包 haha
[root@localhost ~]# rpm -q bash
bash-4.2.46-30.el7.x86_64
[root@localhost ~]# rpm -q net-tools
net-tools-2.0-0.22.20131004git.el7.x86_64

]# rpm -qa #列出当前系统中已经安装的所有软件包
]# rpm -qa | grep firefo
]# rpm -qi firefox #查看已安装软件的信息
]# rpm -ql firefox #列出已安装软件的安装清单
]# rpm -ql bash #列出已安装软件的安装清单

•查询某个目录/文件是哪个RPM包带来的
–格式:rpm -qf [文件路径]…
–即使目标文件被删除,也可以查询
[root@localhost ~]# rpm -qf /usr/bin/hostname
hostname-3.13-3.el7.x86_64
[root@localhost ~]# rpm -qf /usr/bin/ls
coreutils-8.22-21.el7.x86_64
[root@localhost ~]# rpm -qf /etc/passwd
setup-2.8.71-9.el7.noarch

•查询未安装的RPM安装文件
–格式:rpm -q[子选项] [RPM包文件]
•常用的子选项
–-qpi:查看指定软件的详细信息
–-qpl:查看指定软件的文件安装清单
]#rpm -qpi /mydvd/Packages/zip-3.0-11.el7.x86_64.rpm
]#rpm -qpl /mydvd/Packages/zip-3.0-11.el7.x86_64.rpm

四、安装RPM软件包
•安装RPM软件
–格式:rpm -i RPM包文件…
•辅助选项
– -v:显示细节信息
– -h:以#号显示安装进度
– --force:强制安装、覆盖安装
– --test:测试安装,不做真实安装动作

]# ls /mydvd/Packages/dhcp-4.2.5-68.el7.centos.x86_64.rpm
]# rpm -q dhcp #查询当前系统是否安装此软件
]# rpm -ivh /mydvd/Packages/dhcp-4.2.5-68.el7.centos.x86_64.rpm
]# rpm -q dhcp
]# rpm -ql dhcp #软件安装清单
]# rpm -e dhcp #卸载软件包
]# rpm -q dhcp #查询软件包是否卸载成功
未安装软件包 dhcp

•导入红帽签名信息(了解内容):
[root@localhost ~]# rpm --import /mydvd/RPM-GPG-KEY-CentOS-7

•恢复数据(一般情况)
[root@localhost ~]# which hostname #查找命令所对应的程序
[root@localhost ~]# rm -rf /usr/bin/hostname
[root@localhost ~]# hostname
bash: hostname: 未找到命令…

]# rpm -qf /usr/bin/hostname #查询那个软件包产生该文件

]# rpm -ivh --force /mydvd/Packages/hostname-3.13-3.el7.x86_64.rpm

]# ls /usr/bin/hostname
]# hostname

五、软件的依赖关系
•忽略依赖关系(不推荐)
–可能会导致软件运行异常
–辅助选项 --nodeps
[root@localhost ~]# rpm -ivh /mydvd/Packages/bind-chroot-9.9.4-61.el7.x86_64.rpm
错误:依赖检测失败:
bind = 32:9.9.4-61.el7 被 bind-chroot-32:9.9.4-61.el7.x86_64 需要
[root@localhost ~]#

六、Yum软件仓库,自动解决软件的依赖关系

•YUM,Yellowdog Updater Modified
–基于RPM包构建的软件更新机制
–自动解决软件包依赖关系
–所有软件包由集中的YUM软件仓库提供

•构建Yum仓库
服务:自动解决软件包依赖关系,安装软件包
服务端(本机):

            1.具备众多的软件包   2.仓库数据文件(repodata)协议:ftp:文件传输协议http:超文本传输协议服务端与客户端重合的架构,服务端只需要挂在光驱设备显示光盘内容即可

客户端(本机):书写一个配置文件
.repo 基本配置项
[源名称] :自定义名称,具有唯一性
name:本软件源的描述字串
baseurl:指定YUM服务端的URL地址
enabled:是否启用此频道
gpgcheck:是否验证待安装的RPM包
gpgkey:用于RPM软件包验证的密钥文件

–仓库配置:/etc/yum.repos.d/*.repo
–yum客户端配置文件,错误的文件会影响所有正确的文件
]# yum命令 —>配置文件---->仓库

]# ls /etc/yum.repos.d/
]# mkdir /etc/yum.repos.d/repo
]# ls /etc/yum.repos.d/
]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo/
]# ls /etc/yum.repos.d/
]# vim /etc/yum.repos.d/haha.repo
[xixi] #仓库的标识
name=hehe lele #仓库的描述信息
baseurl=file:///mydvd #仓库在哪里,file://代表本机
enabled=1 #是否启用本文件
gpgcheck=0 #是否检测红帽签名

[root@localhost ~]# yum repolist #列出本机识别仓库
源标识 源名称 状态
xixi hehe lele 9,911
repolist: 9,911
[root@localhost ~]#

七、Yum的使用
•安装软件包
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# rpm -q httpd
[root@localhost ~]# yum -y install sssd
[root@localhost ~]# rpm -q sssd
[root@localhost ~]# yum -y install gcc
[root@localhost ~]# yum -y install bind-chroot
•卸载软件包
[root@localhost ~]# yum remove httpd
[root@localhost ~]# yum remove gcc
•Yum查询
[root@localhost ~]# yum list ftp
[root@localhost ~]# yum list dhcp
[root@localhost ~]# yum search ftp #包含就匹配

•Yum缓存
[root@localhost ~]# yum clean all #清空Yum的缓存

八、命令的补充
•获取命令帮助
•man,格式化手册阅读工具
–按 q 键退出
–按 / 键向后查找关键词(n、N切换)
[root@localhost ~]# man ls
[root@localhost ~]# man useradd
[root@localhost ~]# man yum
按q退出
[root@localhost ~]# man 5 passwd #数字5表示帮助信息的类型
5表示配置文件的帮助信息

•历史命令:管理/调用曾经执行过的命令
–history:查看历史命令列表
–history -c:清空历史命令
–!n:执行命令历史中的第n条命令
–!str:执行最近一次以str开头的历史命令
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条

[root@localhost ~]# history #查看历史命令列表
[root@localhost ~]# history -c #清空历史命令列表
[root@localhost ~]# history
1 history
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]# ls /root
[root@localhost ~]# history
[root@localhost ~]# !cat #执行历史命令中最近以cat开头的命令
[root@localhost ~]# !ls #执行历史命令中最近以ls开头的命令

•du,统计文件的占用空间
–du [选项]… [目录或文件]…
–-s:只统计每个参数所占用的总空间大小
–-h:提供易读容量单位(K、M等)
[root@localhost ~]# du -sh /root
[root@localhost ~]# du -sh /

•date,查看/调整系统日期时间
–date +%F、date +%R
–date +"%Y-%m-%d %H:%M:%S"
–date -s “yyyy-mm-dd HH:MM:SS”

[root@localhost ~]# date
2020年 06月 03日 星期三 16:22:01 CST
[root@localhost ~]# date +%Y #显示年
[root@localhost ~]# date +%m #显示月
[root@localhost ~]# date +%d #显示日期

[root@localhost ~]# date +%H #显示小时
[root@localhost ~]# date +%M #显示分钟
[root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%F #显示年-月-日

[root@localhost ~]# date -s “2008-10-1 12:10:21”
[root@localhost ~]# date
[root@localhost ~]# date -s “2020-6-3 16:28”
2020年 06月 03日 星期三 16:28:00 CST
[root@localhost ~]#

•制作连接(链接)文件(制作快捷方式)
格式: ln -s /路径/源数据 /路径/快捷方式的名字 #软连接
[root@localhost ~]# rm -rf /opt/*
[root@localhost ~]# ls /opt/

[root@localhost ~]# ln -s /etc/redhat-release /opt/r.txt
[root@localhost ~]# ls /opt/

[root@localhost ~]# ls -l /opt/r.txt
[root@localhost ~]# cat /opt/r.txt

格式: ln /路径/源数据 /路径/快捷方式的名字 #硬链接

[root@localhost ~]# rm -rf /opt/* 课间休息:17:10上课
[root@localhost ~]# echo 123456 > /opt/A.txt
[root@localhost ~]# cat /opt/A.txt
[root@localhost ~]# ln -s /opt/A.txt /opt/B.txt #软连接
[root@localhost ~]# ls /opt/

[root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接
[root@localhost ~]# ls /opt/

软连接的特点:
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统

硬链接的特点:
若原始文件被删除,连接文件仍可用
硬链接与原始文件必须在同一分区/文件系统

•zip归档工具:跨平台,Windows与Linux都支持
归档+压缩操作
–zip [-r] 备份文件.zip 被归档的文档…
[root@localhost ~]# zip -r /opt/nsd.zip /home /etc/passwd
[root@localhost ~]# ls /opt/

释放归档+解压操作
–unzip 备份文件.zip [-d 目标文件夹]
[root@localhost ~]# mkdir /nsd10
[root@localhost ~]# unzip /opt/nsd.zip -d /nsd10
[root@localhost ~]# ls /nsd10
[root@localhost ~]# ls /nsd10/etc/
[root@localhost ~]# ls /nsd10/home

RPM软件包管理 、Yum软件包仓库相关推荐

  1. centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides */vim 第十节课...

    centos  系统软件包管理  yum 本地yum配置  扩展源epel  rpm  清除yum缓存  yum provides "*/vim"   第十节课 你不能保证可逆化操 ...

  2. RPM软件包和YUM软件仓库的实例

    前言 这是我听老师讲课做的笔记,考试要看的. 这是视频地址 作者:RodmaChen 关注我的csdn博客,更多Linux笔记知识还在更新 如果想更深入理解可以看这篇文章:Linux中RPM软件包和Y ...

  3. Linux中RPM软件包和YUM软件仓库的介绍和使用

    前言 这是我听老师讲课做的笔记,考试要看的. 这是视频地址 作者:RodmaChen 关注我的csdn博客,更多Linux笔记知识还在更新 看完后可以动手做做实例:RPM软件包和YUM软件仓库的实例 ...

  4. yum软件包管理 yum(软件仓库)

    yum(软件仓库):提供众多软件包的仓库,并自动解决软件包之间复杂依赖关系 yum常用命令 yum repolist #列出仓库可用软件包 yum list 软件包名 #查看系统中提供的软件包(包含未 ...

  5. Linux下安装、卸载软件/软件包管理——Yum

    Linux下软件安装 1.源码安装 2.rpm安装 注:可能存在大量的软件之间的依赖关系,安装比较麻烦,所以不推荐1 .2方式 3.yum:本身会考虑依赖关系  相当于手机里边的软件商店/应用市场 y ...

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

    一.网络yum源 对于centos系统来说,其yum源默认是已经配置好的,只要服务器能联网就可以直接利用centOS官方的yum源服务器进行下载.安装.升级等.当然,centOS的官方网站在国外,网络 ...

  7. Linux 常用的软件包管理器/软件包管理工具

    文章目录 RPM YUM DNF DPKG Pacman Zypper Portage Eopkg Urpmi RPM 代表系统:RHEL.CentOS.Fedora.openSUSE.SUSE企业版 ...

  8. 07 Linux软件包管理

    Linux软件包管理 rpm软件包管理 Yum软件包管理 Dnf软件包管理 源码编译安装 准备工作 挂载iso镜像 将光驱挂载到系统中 [root@myserver dev]# mount /dev/ ...

  9. Linux软件包管理-rpm、yum

    Linux软件包管理 软件包是什么?软件包顾名思义就是将应用程序.配置文件和数据打包的产物. 所有的linux发行版都采用了某种形式的软件包系统,这使得linux软件管理和在windows下一样方便, ...

  10. 【Linux入门】第三篇:软件包管理器yum和编辑器vim的使用

    目录 前言 Linux软件包管理yum 查看软件包 如何安装软件 如何卸载软件 lrzsz的使用 Linux编辑器-vim使用 01.vim的基本概念 02.vim的基本操作 03.vim命令模式命令 ...

最新文章

  1. linux下汇编程序gas,Linux 汇编语言(GNU GAS汇编)开发指南
  2. java xml特殊字符处理_dom4j特殊字符处理
  3. L1-046. 整除光棍(模拟除法)
  4. 虚拟机迁移及虚拟机高可用方案
  5. jQuery.Deferred和Promise
  6. [vue-cli] vue-cli工程中常用的npm命令有哪些
  7. 【SICP练习】22 练习1.28
  8. Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread
  9. while循环 for循环的理解
  10. mssql sqlserver 优化注意事项:
  11. 苹果Mac Spotify 音乐格式转换器推荐:Sidify Music Converter
  12. Android平台中实现对XML的三种解析方式
  13. 在Windows上安装虚拟机详细图文教程
  14. paip.提升开发效率-----vs2010源码选择字串高亮
  15. 关于OptiStruct提问的一些建议
  16. linux系统改键盘系统,Linux 修改键盘设置
  17. 大数据发展前景及发展战略分析
  18. springboot 整合 security(四) 方法级别权限控制 @resource,@secured,@preAuthorize
  19. android 音乐柱状图动画,android 音乐播放柱形图
  20. HTTP网络劫持的原理与过程、网站被劫持怎么办?

热门文章

  1. 如果荣耀7和荣耀7i整合在一起?
  2. Python 将数字写入到一个文本文件
  3. Android 添加Calendar日历提醒事件
  4. 阿里巴巴携手CCTV慈善之夜“搞事情”:开启公益账户,魔豆妈妈李娟当选年度慈善人物
  5. 帝国网站导航config.php,帝国cms怎么改英文导航
  6. jps: command not found原因
  7. Scoop安装遇到 “raw.githubusercontent.com未能解析” 解决方案
  8. 软工视频学习笔记——02
  9. 异构计算=未来?一文带你秒懂3大主流异构
  10. [经验教程]2022淘宝天猫618预售超级红包活动时间是什么时候开始及2022天猫淘宝618超级红包预售活动入口怎么领取淘宝天猫618红包