Linu软件管理--yum搭建本地仓库day17

  • 1.使用yum查询软件包的方式
[root@oldboy~]# yum list
[root@oldboy~]# yum list|grep ftp
[root@oldboy~]# yum info ftp

  • 2.使用yum安装软件包的方式
[root@oldboy~]# yum install tree
[root@oldboy~]# yum install tree -y    #非交互

#安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖
[root@oldboy~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm

#直接安装网络上的rpm包
[root@oldboy~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

  • 3.使用yum重新安装软件包的方式
1.如果不小心删除vsftpd配置文件
[root@oldboy~]# rm -f /etc/vsftpd/vsftpd.conf

2.可以对软件进行重新安装
[root@oldboy~]# yum reinstall vsftpd

3.检查软件的配置文件
[root@oldboy~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

  • 使用yum更新软件包
#对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
[root@oldboy~]# yum check-update

#更新acl软件
[root@oldboy~]#  yum update acl -y

#如下的执行很危险,这代表更新整个系统所有的软件,包括内核
[root@oldboy~]#  yum update -y

  • 4.使用yum删除软件包*
[root@oldboy~]# yum install samba -y
[root@oldboy~]# yum erase samba -y
[root@oldboy~]# yum remove samba -y

  • 5.与yum仓库相关指令(扩展了解)*
列出yum源可用的软件仓库
[root@oldboy~]# yum repolist

列出全部yum源可用和禁用的仓库
[root@oldboy~]# yum repolist all

查找某个命令或文件属于那个软件包(生产常用)
[root@oldboy~]# yum provides /etc/my.cnf
[root@oldboy~]# yum provides cd

  • 6.与yum缓存相关指令(扩展了解)
1.缓存rpm包方式一、修改yum全局配置文件
[root@oldboy~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1     #启动缓存

2.缓存rpm包方式二,只下载不安装
[root@oldboy~]# yum install -y yum-plugin-downloadonly #插件
[root@oldboy~]# yum install httpd -y --downloadonly --downloaddir=/tmp

3.清除所有yum缓存的软件包以及元数据
[root@oldboy~]# yum clean all

4.只清除缓存的软件包
[root@oldboy~]# yum clean packages

  • 7.组包相关指令,(扩展了解)
[root@oldboy~]# yum groups list
#安装一整个组的软件
[root@oldboy~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools

yum删除包组
[root@oldboy~]# yum groups remove  -y Base

  • 8.历史记录指令,(扩展了解)*
#1.查看历史执行yum命令
[root@oldboy~]# yum history

#2.查询历史执行yum命令ID详细信息
[root@oldboy~]# yum history info N

#3.撤销历史执行过的yum命令
[root@oldboy~]# yum history undo N

  • 搭建本地仓库

1.利用linux系统光盘制作一个yum源。

1.挂载镜像
[root@oldboy~]# mount /dev/cdrom /mnt   

2.备份原有仓库
[root@oldboy~]# gzip /etc/yum.repos.d/*

3.使用yum-config-manager命令添加本地仓库
[root@oldboy~]# yum-config-manager --add-repo="file:///mnt"

2、手动添加repo文件

[root@oldboy~]# vim /etc/yum.repos.d/cdrom.repo  
[cdrom]      
name = This is local cdrom
baseurl  = file:///mnt
enabled = 1
gpgcheck = 0
单词 仓库名称
name 仓库描述信息
baseurl YUM源url地址 ,可以是file:// ftp:// http://
enabled 是否使用该YUM源(0代表禁用, 1代表激活)
gpgcheck 是否验证软件签名(0代表禁用, 1代表激活)

生成缓存

[root@oldboy~]# yum makecache

2.很多时候很多机器都无法上网,但都有联网下载软件的需求,这个时候需要进行仓库构建。

image.png
  • 本地光盘提供基础软件包: Base
    yum缓存提供常用软件包: nginx, zabbix, docker

  • 1.环境准备
    使用镜像克隆
    2.服务端进行yum仓库的搭建准备工作

1.关闭防火墙、与selinux
[root@oldboy~]# systemctl stop firewalld
[root@oldboy~]# setenforce 0

2.安装ftp服务,启动并加入开机启动
[root@oldboy~]# yum -y install vsftpd 
[root@oldboy~]# systemctl start vsftpd 
[root@oldboy~]# systemctl enable vsftpd

3.开启yum缓存功能
[root@oldboy~]# vim /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever 
keepcache=1
[root@oldboy~]# yum clean all

4.提供基础base软件包
[root@oldboy~]# mkdir /var/ftp/centos7
[root@oldboy~]# mount /dev/cdrom /mnt
[root@oldboy~]# cp -rp  /mnt/Packages/*.rpm /var/ftp/centos7/

5.提供第三方源
[root@oldboy~]# mkdir /var/ftp/ops
[root@oldboy~]# yum -y install nginx docker

6.复制已缓存的 Nginx docker 及依赖包 到自定义 YUM 仓库目录中
[root@oldboy~]# find /var/cache/yum/x86_64/7/ \
-iname "*.rpm" -exec cp -rf {} /var/ftp/ops \;

7.安装createrepo并创建 reopdata仓库
[root@oldboy~]# yum -y install createrepo
[root@oldboy~]# createrepo /var/ftp/ops

PS: 如果此仓库每次新增软件则需要重新生成一次

3.客户端配置yum源指向服务端

1.客户端配置并使用 base 基础源
[root@oldboy~]# gzip /etc/yum.repos.d/*
[root@oldboy~]# vim /etc/yum.repos.d/centos7.repo 
[centos7]
name=centos7_base
baseurl=ftp://10.0.0.99/centos7
gpgcheck=0
2.客户端配置并使用 ops 源
[root@oldboy~]# vim /etc/yum.repos.d/ops.repo 
[ops]
name=local ftpserver
baseurl=ftp://10.0.0.99/ops
gpgcheck=0

你可能感兴趣的:(Linu软件管理--yum搭建本地仓库day17)