rpm yum

包管理器:
debian:deb文件 ,dpkg包管理器
redhat :rpm文件 ,rpm包管理器
包命名和工具:
rpm 包命名方式:
name -VERSION - release.arch.rpm
例:bash-4.2.46-19.el7.x86_64.rpm
常见的arch: x86: i386, i486, i586, i686
x86_64: x64, x86_64, amd64
包:分类和拆包
Application-VERSION-ARCH.rpm: 主包
Application-devel-VERSION-ARCH.rpm 开发子包
Application-utils-VERSION-ARHC.rpm 其它子包
Application-libs-VERSION-ARHC.rpm 其它子包
包之间:可能存在依赖关系,甚至循环依赖
解决依赖包管理工具
yum:rpm包管理器的前端工具
apt-get:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+ rpm包管理器前端管理工具
挂载: mount /dev/cdrom /media
cd /media/Packages
rpm包管理
安装、卸载、升级、查询、校验、数据库维护
- i 安装
- - test 仅测试,不安装
- -nodeps 忽略依赖性
- -replacepkgs 重复安装已安装过的包,文件覆盖
- -replacefiles 将要安装包的部分文件与其他已经安装的包文件冲突,可继续安装
- -noscripts:不执行程序包脚本
%pre:安装前脚本 ; - -nopre
%post:安装后脚本 ; - -nopost
%prun:卸载前脚本 ; - -nopreun
%postun :卸载后脚本 ; - -nopostun
- -oldpackage :已装新的,再装旧的
- -force 等同于 - -replacepkgs - -replacefiles - -oldpackage
- U 更新 如果装有旧版本,则升级,如果未装旧版本,则安装新的
- F 更新 如果装有旧版本,则升级,如果未装旧版本,不安装新的
- v 详细信息
- vv 更详细信息*
- h 显示进度
- ivh 安装并详细显示进度 ***
- q 查询
- qa 查询安装的所有包
rpm -qa scr*
rpm -qa |grep ^scr
- qf 查询指定的文件由哪一个rpm包提供(文件用路径表示)
- qp 指定未安装的rpm包
- q - -provides 软件包名 查看指定的软件包提供了哪些能力
可以使用 -a 显示当前系统中由已安装过的包提供的所有能力
- q - -whatprovides webserver 查看指定的能力由哪一个软件包提供
- q - -whatrequires CAPABILITY 查询指定的CAPABILITY被哪个包所依赖
- qR 软件包名 查看指定的软件包依赖哪些能力
- qc 软件包名 查看配置文件
- qd 软件包名 查看帮助文档
- q1 软件包名 查看软件包所提供的所有文件
- qi 软件包名 查看软件包的信息
- q - -scripts 软件包名 查看软件包的安装脚本
- 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|checksig rpmfile 检查包的完整性和签名
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
rpm2cpio 包文件|cpio –itv 预览包内文件
rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件 ***

实验:丢失文件恢复
/etc/inittab
1.rpm -qf /etc/inittab
initscripts-9.03.58-1.el6.centos.x86_64

2.cp /media/Packages/initscripts-9.03.58-1.el6.centos.x86_64.rpm /app

3.cd /app; rpm2cpio initscripts-9.03.58-1.el6.centos.x86_64.rpm |cpio -id

4.cp etc/inittab /etc


yum
yum :yellowdog Udate Modifier , rpm的前端程序,可解决软件包相互依赖性,可在多个库之间定位软件包
yum repository :yum repo 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
文件服务器类型:
http://
https://
ftp://
file://
yum配置文件
etc/yum.conf;为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义
[ repositoryid ]
name= (当前仓库描述信息)
baseurl= (访问路径)支持的类型
ftp服务 ftp:// http服务 http:// 本地目录 file://
enabled={ 1 | 0} (此仓库是否可被使用)
gpgcheck={ 1 | 0} (是否对程序包做校验)
gpgkey= (指明gpgkey文件路径)
yum的repo配置文件中可用的变量
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
yum 命令的使用
info
provides 查看文件来自于哪个rpm包
provides "*bin/tree"
clean all 清空缓存
makecache 构建缓存
search pkgname 以指定的关键字搜索程序包名及summay信息
deplist pkgname 以指定的包依赖哪些能力及所提供的包
yum history 查看yum事务历史
yum history info 6
yum history undo 6 ***
yum history redo 6
日志 :/var/log/yum.log
yum install (package1)程序包安装
yum update(package1)程序包升级
yum downgrade (package1)程序包降级
yum check-update 检查有哪些升级可用
yum remove |erase package1 程序包卸载 (所有依赖于正卸载的程序包的程序包会一并卸载)
-y 自动回答 ‘yes’ -p 静默输出
包组管理
yum grouplist 列出所有包组
yum groupiinfo [group1] 列出指定包组详情
yum groupinstall [group1] 安装
yum groupremove [group1] 卸载
yum groupupdate [group1] 升级
制作本地yum源
使用本地yum源有两种方式:1、直接使用光盘镜像,不过此种方法仅限于本机使用
2、创建本地yum仓库,然后使用http或ftp等方式像外部提供yumrepository
使用本地光盘做为yum源
1.mount /dev/cdrom /media/
2.vim /etc/yum.repos.d/dvd.repo
[base]
name=magedu centos $releasever dvd
baseurl=file:///media
enabled=1
gpgcheck=1
gpgkey=file:///media/RPM-GPG-KEY-CentOS-7

自建仓库
createrepo /app/rpm/

实验:在centos7上编译安装 httpd 2.4
1.下载源码包
lftpget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.4.25.tar.bz2
2.安装Development Tools
yum -y groupinstall "Development Tools"
3.解压
tar xvf httpd-2.4.25.tar.bz2
并查看README和INSTALL以及./configure --help
4.配置
./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24
dnf -y install apr-devel apr-util-devel pcre-devel
5.make
6.make install
7.将执行命令和帮助文档的路径写入PATH
vim /etc/profile.d/env.sh
export PATH=/app/apache24/bin/:$PATH
source /etc/profile.d/env.sh
[root@instructor_v7(nanyibo) ~]# vim /etc/man_db.conf
MANDATORY_MANPATH /app/apache24/man
7.启动服务 并 关闭防火墙
apachectl start
iptables -F
dnf与yum完全一致 速度比yum快
程序包编译

实验:在centos7上编译安装 httpd 2.4
1.下载源码包
lftpget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.4.25.tar.bz2
2.安装Development Tools
yum -y groupinstall "Development Tools"
3.解压
tar xvf httpd-2.4.25.tar.bz2
并查看README和INSTALL以及./configure --help
4.配置
./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24
dnf -y install apr-devel apr-util-devel pcre-devel
5.make
6.make install
7.将执行命令和帮助文档的路径写入PATH
vim /etc/profile.d/env.sh
export PATH=/app/apache24/bin/:$PATH
source /etc/profile.d/env.sh
[root@instructor_v7(nanyibo) ~]# vim /etc/man_db.conf
MANDATORY_MANPATH /app/apache24/man
8.启动服务 并 关闭防火墙
apachectl start 开启服务
apachectl stop 关闭服务
iptables -F 关闭防火墙
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值