rpm,yum

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-07-30 20:22 被阅读0次

rpm 包的安装(只能在本地的包里找是否有tree包,若没有就无法安装)

httpd-2.4.6-67.el7.centos.x86_64.rpm
 |     |    |  |     |      |    |
 |     |    |  |     |      |    |___.rpm-------软件包后缀名,一般为 *.rpm 或 *.src.rpm
 |     |    |  |     |      |________.x86_64----适用硬件平台,一般为 x86_64、i386 等
 |     |    |  |     |_______________.centos----适用操作系统,noarch为通用版本
 |     |    |  |_____________________.el7-------发行商版本号,el5为CentOS5与HREL5以下使用
 |     |    |________________________.67--------编译版本号,表示第几次编译
 |     |_____________________________.2.4.6-----软件版本号,分别为:主版本号.次版本号.修正号
 |___________________________________.httpd-----软件包名称

MD5校验

[root@kvm-docker ~]# md5sum anaconda-ks.cfg
1b32a62f24153b2440a2ac18ecc07fb2  anaconda-ks.cfg    校验该文件是否完整

管理

rpm   -ivh  tree   安装tree包
rpm -qa  软件包名 //查询系统已安装的软件
rpm -qi 查询已安装软件包的信息
rpm -ql 软件包名  //  列出所有的已安装文件
rpm -qc 软件包名  // 列出配置文档
rpm -V 校验已安装到系统中的文件的改动情况{
             5 md5校验值
             S 文件大小
             L 链接文件
             T 文件的创建时间
             D 设备文件
             U 文件的所属主
             G 文件的所属组
             M 文件的权限
}

Ps:当不小心删除了系统里的一个重要的配置文档,该怎么找回来
首先, 查询这个文件是哪个软件包安装的
rpm -qf 绝对路径的完整文件名
rpm2cpio 软件包名.rpm | cpio -idv ./要提取的文件路径
比如 /usr/bin/tree 命令如下:
rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -idv ./usr/bin/tree
最后将该目录下的tree复制到/usr/bin/tree

yum 通过配置文件的设置,可以把从远程仓库安装的软件保存到本地

yum localinstall tree1.2.3x86_64.rpm   #yum本地安装,但是会找依赖关系
yum provides tree   显示谁提供的tree包
yum list    显示安装的列表
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0

cachedir 设置缓存软件到本地的路径
keepcache 设置是否保存缓存的软件包,0 不保存, 1 保存

yum配置文件

ls /etc/yum.repos.d/

CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      docker-ce.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo

.repo为后缀的文件为仓库地址等信息

基本用法:

# 安装软件
[root@localhost ~]# yum -y install httpd      # -y表示后面的交互式询问默认选为yes
# 更新所有软件(包括内核)
[root@localhost ~]# yum update
# 升级指定软件
[root@localhost ~]# yum update httpd
# 列出所有可更新的软件
[root@localhost ~]# yum check-update
# 列出所有可安装的软件清单
[root@localhost ~]# yum list
# 查找软件包
[root@localhost ~]# yum search httpd
# 删除软件包
[root@localhost ~]# yum remove httpd
# 清理yum的缓存
[root@localhost ~]# yum clean all
# 生成yum的缓存
[root@localhost ~]# yum makecache

查询 pstree 文件由那个软件包安装
yum provides    pstree

实例

自建 YUM 源(仓库)

基于光盘镜像的 YUM 源

1.将光盘镜像挂载到某目录下

mount /dev/cdrom /iso/

2.把光盘镜像里的Packages复制到其他目录下

cp -a /iso/Packages/ /localYum/

3.将原本的yum配置文件移走

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/

4.新建一个配置文件并编辑

touch CentOS-Local-ISO.repo
vim /etc/yum.repos.d/CentOS-Local-ISO.repo{
   [cdrpm]
   name=cdrpm
   baseurl=file:///iso
   enabled=1
   gpgcheck=0
}

5.清理缓存并缓存新的数据

 yum clean all && yum makecache

基于本地的yum源

1.把光盘镜像里的Packages复制到其他目录下

cp -a /iso/Packages/ /localYum/

2.将原本的yum配置文件移走

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/

3.创建源文件

yum -y install createrepo
createrepo  /localYum/Packages

4.新建一个配置文件并编辑

touch CentOS-Local.repo
vim /etc/yum.repos.d/CentOS-Local.repo{
   [localrpm]
name=localYum
baseurl=file:///locaYum/Packages
enabled=1
gpgcheck=0
}

5.清理缓存并缓存新的数据

 yum clean all && yum makecache

基于 FTP 文件传输协议的 YUM 源

systemctl start vsftpd     启动vsftpd服务

[root@shark ftp]# ss -ntal |grep 21
LISTEN     0      1024   127.0.0.1:9121                     *:*    
LISTEN     0      32          :::21                      :::*                  监听21端口

1.把光盘镜像里的Packages复制到/var/ftp/

cp -a /iso/Packages/ /var/ftp/ftpYum/

2.将原本的yum配置文件移走

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/

3.创建源文件

yum -y install createrepo
createrepo  /var/ftp/ftpYum/Packages

4.新建一个配置文件并编辑

touch ftpYum.repo
vim /etc/yum.repos.d/ftpYum.repo{
  [localyum]
  2 name=local yum repo
  3 baseurl=ftp://10.0.122.112/ftpYum/Packages
  4 enabled=1
}

5.清理缓存并缓存新的数据

 yum clean all && yum makecache

相关文章

网友评论

      本文标题:rpm,yum

      本文链接:https://www.haomeiwen.com/subject/yugirctx.html