rpm以及yum基础

第四周

### RPM包管理以及yum的基本用法

> rpm包管理
常用选项:
-v:显示过程
-h:以#格式显示包管理执行进度
-i:安装程序包

-V校验功能

升级选项

“`
-U:装有旧版程序包就升级,没有则安装。
-F:有旧版则升级没有则不执行
–oldpackarg:降级
–force:强制
“`
查询操作:-q:【查询选项】或【挑选选项】

“`
查询选项有:
a:查询所有包
f:由哪个包安装生成
g:包组的相关程序包

–whatproveides:查看指定的能力由哪个包提空
–whattrequires:查看指定的能力被哪个包依赖
–changglog:查询rpm包的改变日志
–conflicfs:查看与谁冲突
-c:查看程序配置文件
-i:查看包信息
-d:查看程序文档
-l:列出文件包安装后生成的所有文件
–script:安装或者卸载时有可能执行的脚本
-R:查看程序包所依赖
–provides:列出指定程序包所提供的能力
“`

示例:

“`
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm
Preparing… ########################################### [100%]
package httpd-2.2.15-59.el6.centos.x86_64 is already installed
[root@zhangxiao ~]#
“`
> 注意:1、不要对内核进行升级,LINUX支持多版本内核并存,如果需要升级则直接安装
> 2、如果原程序包的配置文件曾被修改升级时,新版本的配置文件并不会覆盖老版本的文件,而是会把老版本文件重新命名后保留

安装选项:
“`
–test:测试模式安装
–nodeps:忽略依赖关系
–replacepkgs:重新安装
–nosignature:不检查来源合法性
–nodigest:不检查包的完整性
–noscript:安装不行行脚本
%pre 安装前脚本
%post 后脚本
%preun 卸载前脚本
%postun 后脚本
“`
示例
“`
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm –replacepkgs
Preparing… ########################################### [100%]
1:httpd ########################################### [100%]
[root@zhangxiao ~]#
“`
示例
“`
[root@zhangxiao ~]# rpm -e httpd
error: Failed dependencies:
httpd >= 2.2.0 is needed by (installed) gnome-user-share-2.28.2-3.el6.x86_64
[root@zhangxiao ~]# rpm -e httpd –nodeps
[root@zhangxiao ~]# httpd
-bash: httpd: command not found
“`
常用的组合
“`
-qi Package ,-qf File
-qc Pachage ,-ql Package
-qd Package ,-qpi Pachage_File,-qpl:Pachage_File
“`
卸载:-e
–nodeps
–test
–noscripts

“`
示例[root@zhangxiao ~]# rpm -e tree
[root@zhangxiao ~]# tree
-bash: tree: command not found
“`

完整性校验:
rpm –import 导入秘钥(/media/centos6.9/KEY….)(一般是gpg-pubkey)

-K:检验来源合法性和完整性

### yum

> yum(全称为 Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum:基本工作组件依赖于yum仓库,yum仓库存储了许多rom包,以及包所相关的元数据(放置于repodata)所以仓库应该指向的路径应该为ropodata的父目录

文件服务器:通常格式为
ftp://
http://
file://

“`
yum客户端配置文件有
/etc/yum.conf
:为所有仓库提供配置服务
/etc/yum.repors.d/*.repo
:为仓库指向提供配置

“`
通常yum的基本配置不会变化,变化的一般是仓库指向文件
我们需要在/etc/yum.repors.d/*.repo 新建一个文件,名字随意,一般都叫base.repo(必须以.repo结尾)

“`
[base]
name=base #####此行表示名称
baseurl=file:///media/CentOS_6.9_Final ###表示yum数据库的路径指向
gpgcheck=0 ###表示是否检查文件的来源合法性(1表示检查0表示不检查)

~
“`

yum的用法格式

list
“`
yum [选项]【命令】[包名]…
yum list :显示所有的包
yum list installed :显示所有已安装的包
yum list available
:显示可用的包
“`

常用选项:

“`
install :安装
remove:删除
updata:升级
info:查看信息
clean:清理缓存
常用clean all
history:查看相关yum事务历史

包组:
groupinstall 组名
安装包组内的所有包
groupupdate 组名
升级包组
grouplist
包组清单
groupremove
卸载包组
groupinfo
查看包组信息
“`
如何使用光盘当做本地yum仓库
1.挂载光盘到某目录
2.创建配置文件

YUM 中命令行的优先级高于配置文件

命令行选项:

“`
–nogpgcheck:不进行检查
-y :自动回答为yes
-q:静默模式
–disablerepo:临时禁用某个仓库指向
–enablerepo:临时启动仓库指向

repo配置文件中的可用变量
$releasever:os主版本
$arch:平台
$basesearch:基础平台
$YUM0-$YUM9
“`

创建本地文件夹做仓库

“`
首先复制需要的rpm包到文件夹下
输入
createrepo dirname
元数据就生成了在diename/会生成文件repodata
“`

这时修改yum配置就可以了
(url地址改成file://PATH/dirname)

搭建yum服务器

首先准备两台服务器,两台机器版本可以不同

“`
启动网络服务
命令:systemctl start httpd
关闭防火墙
systemctl stop firewalld
下次开机不开启防火墙
systemctl disable firewalld

在文件/var/www/html文件夹下新建index.html
[root@localhost html]# ls
[root@localhost html]# echo welcome > index.htm

在文件夹下新建文件夹
centos/6/x86_64/

需要的rpm包复制到文件中

或重新在虚拟机上挂载一块管公安
添加光盘时,添加后没有显示启用
echo ‘- – -‘ > /sys/class/scsi_host/host2/scan

“`

剩下参考创建本地仓库

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96874

(0)
上一篇 2018-04-22 21:11
下一篇 2018-04-22 23:19

相关推荐

  • 变量

    变量 echo $name 与 echo “$name” 假如变量是读取文件,前者会自动缩进成一行,后者保留原有格式 (umask=022,mkdir /f1)括号相当于开启一个临时子进程,能读取当前shall的变量等信息,但是进程号不变,命令结束后恢复刚才状态 局部变量,环境变量,只读变量(常量),位置变量,数组 局部变量:只在当前…

    Linux笔记 2018-04-15
  • 课堂实验

    实验:针对不同的用户设置不同的共享目录和权限 vim /etc/samba/smb.conf[global]workgroup = WANGGROUPsecurity = usernetbios name = smbsrv7passdb backend = tdbsamlog file = /var/log/samba/log.%Ilog level = 2…

    2018-07-01
  • mysql练习题

    导入hellodb.sql生成数据库(1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄MariaDB [hellodb]> select Name,Age from students where Age>25 and Gender=’M’;(2) 以ClassID为分组依据,显示每组的平均…

    Linux笔记 2018-06-09
  • MYSQL数据库笔记(一)

    二进制格式安装7.4 1、检查环境 2、下载对应的二进制包 3、 useradd -r -d /data/mysqldb -s /sbin/nologin mysql 创建账号 getent passwd mysql 确认 创建软连接; chown -R root: mysql/ 创建物理卷; 创建逻辑卷;   创建文件系统; mkdir /dat…

    2018-06-07
  • DNS服务、BIND

    DNS:domain name service,协议(C/S,udp53,tcp53) BIND:bekerley internat name domain 注意:named程序的启动用户是named用户,非root用户,因此需要注意权限和属主。 本地名称解析配置文件:hosts linux:/etc/hosts windows:%WINDOWS%/syst…

    2018-03-26
  • 参加马哥教育面授班

    很兴奋,今天是开班的第6天了,课程的具体安排为,1、3、5上课,2、4、6实操课。课堂上目前是王老师授课,讲的都是满满的干货,很详细。让我再次确信参加这次培训不会有错。 面授班与在网络学习,我觉得学习效果差别还是蛮大的。参加面授班能很好的约束我的行为,不会出现学着学着就打开游戏或看电影了,学习效率很高,哈哈。初次见到马哥教育的各个老师发现都很平易近人,学习上…

    Linux笔记 2018-07-21