YUM缓存
1.配置缓存rpm包 修改yum全局配置文件
修改yum.conf配置
sed -i.bak 's#keepcache=0#keepcache=1#g' /etc/yum.conf
grep keepcache /etc/yum.conf
keepcache=1
测试
rpm -e nmap-ncat
error: Failed dependencies:
nmap-ncat = 2:6.40-19.el7 is needed by (installed) nmap-2:6.40-19.el7.x86_64
rpm -e nmap
rpm -e nmap-ncat
find /var/cache/yum/x86_64/7/ -name "*.rpm"
/var/cache/yum/x86_64/7/base/packages/nmap-ncat-6.40-19.el7.x86_64.rpm
2.为什么要缓存?
1)配置yum仓库,rpm来源
2)rpm更新了,老的就找不到了
------------------------------------------------------------------------------
3.缓存rpm包方式二,只下载不安装(不用)
yum install -y yum-plugin-downloadonly 插件
yum install httpd -y --downloadonly --downloaddir=/tmp
4.清除所有yum缓存的软件包以及元数据
yum clean all
5.只清除缓存的软件包
yum clean packages
软件包:真正的软件
元数据:数据的数据
6.组包相关指令,(扩展了解)
yum groups list
安装一整个组的软件
yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools
yum删除包组
yum groups remove -y Base
yum重装软件
yum -y reinstall tree
安装新系统后
1)在CentOS安装完毕,首先应该修改更新源,并升级到最新的系统。修改更新yum源的命令如下:
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2)把软件更新到最新(生产上线之前)
yum update -y
3)常用软件包。
CentOS6和CentOS7都要安装的企业运维常用基础工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安装的企业运维常用基础工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
查看有哪些组包
查看有哪些组包:
yum groups list
yum groups mark convert 转换到原始的格式
yum groups list 查看
Available Environment Groups: 可用的环境组包
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Cinnamon Desktop
MATE Desktop
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop 安装桌面环境
KDE Plasma Workspaces
Development and Creative Workstation
Installed Groups: 已经安装的组包。
Compatibility Libraries
Development Tools
Milkymist
Security Tools
System Administration Tools
Available Groups: 可用的组包。
Cinnamon
Console Internet Tools
Educational Software
Electronic Lab
Fedora Packager
General Purpose Desktop
Graphical Administration Tools
Haskell
LXQt Desktop
Legacy UNIX Compatibility
MATE
Scientific Support
Smart Card Support
System Management
TurboGears application framework
Xfce
Done
安装环境组包,桌面环境包。
yum groupinstall "GNOME Desktop"
yum groupinstall "Smart Card Support"
写一起
yum groupinstall "GNOME Desktop" "Smart Card Support"
yum删除包组(不用)
yum groups remove -y Base
------------------------------------------------------
yum search --help
yum [options] COMMAND
check 检查 RPM 数据库问题
check-update 检查是否有可用的软件包更新
clean 删除缓存数据 ***
deplist 列出软件包的依赖关系
downgrade 降级软件包
erase 从系统中移除一个或多个软件包
groups 显示或使用、组信息***
help 显示用法提示
history 显示或使用事务历史
info 显示关于软件包或组的详细信息
install 向系统中安装一个或多个软件包*****
list 列出一个或一组软件包*****
load-transaction 从文件名中加载一个已存事务
makecache 创建元数据缓存***
provides 查找提供指定内容的软件包*****
reinstall 覆盖安装软件包
repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。
repolist 显示已配置的源
search 在软件包详细信息中搜索指定字符串***
shell 运行交互式的 yum shell
update 更新系统中的一个或多个软件包***
upgrade 更新软件包同时考虑软件包取代关系***
version 显示机器和/或可用的源版本。
G点:yum命令常用
install 向系统中安装一个或多个软件包*****
provides 查找提供指定内容的软件包*****
list 列出一个或一组软件包*****
==============================================
clean 删除缓存数据 ***
groups 显示或使用、组信息***
makecache 创建元数据缓存***
repolist 显示已配置的源
search 在软件包详细信息中搜索指定字符串***
update 更新系统中的一个或多个软件包***
upgrade 更新软件包同时考虑软件包取代关系***
配置本地光盘镜像仓库
挂载镜像
mount /dev/cdrom /mnt
备份原有仓库 gzip /etc/yum.repos.d/*
-------------------------------------------
使用yum-config-manager命令添加本地仓库
yum-config-manager --add-repo="file:///mnt"
--------------------------------------------
手动添加repo文件
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代表激活)
生成元数据缓存
yum makecache
安装软件测试
---------------------------------------------------------校验
curl http://mirrors.163.com/centos/7.9.2009/isos/x86_64/sha256sum.txt
搭建局域网私有仓库
本地光盘提供基础软件包: Base
yum缓存提供常用软件包: nginx, zabbix, docker
方法1:
yum install httpd -y
systemctl start httpd
软件包放这里/var/www/html
方法2:
ftp://
yum install vsftpd -y
/var/ftp
准备环境
10.0.0.200 yum仓库服务端
10.0.0.100 yum仓库客户端
服务端进行yum仓库的搭建准备工作
yum仓库服务端:
准备软件包,通过ftp共享,将光盘中的软件包都拷贝到ftp下并且关闭防火墙、与selinux
getenforce 查看selinux状态
systemctl stop firewalld 暂停selinux
systemctl disable firewalld 开机不自启selinux
sed -i 's#SELINUX=enforcing#SELINUX=disable#g' /etc/selinux/config 永久关闭selinx。
setenforce 0 临时关闭
开启yum缓存
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
安装ftp服务,启动并加入开机启动
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
提供基础base软件包
mkdir /var/ftp/centos7
mount /dev/cdrom /mnt
拷贝rpm包
cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/
提供第三方源
mkdir /var/ftp/ops
yum -y install nginx docker
复制已缓存的 Nginx docker 及依赖包 到自定义 YUM 仓库目录中
find /var/cache/yum/x86_64/7/ -name "*.rpm" -exec cp -rf {} /var/ftp/ops \;
安装createrepo并创建 reopdata仓库
yum -y install createrepo
createrepo /var/ftp/ops
createrepo /var/ftp/centos7
注: 如果此仓库每次新增软件则需要重新生成一次
createrepo --update /var/ftp/centos7
createrepo --update /var/ftp/ops
打包原来的yum源
gzip /etc/yum.repos.d/*
客户端配置yum源指向服务端
新建一个repo文件,文件中的baseurl指向服务端
vim /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7_base
baseurl=ftp://10.0.0.200/centos7
enable=1
gpgcheck=0
客户端配置并使用ops源 vim /etc/yum.repos.d/ops.repo
[ops]
name=local ftpserver
baseurl=ftp://10.0.0.200/ops
enable=1
gpgcheck=0
搭建公有YUM仓库
同步官方YUM源到私有源
镜像同步公网yum源,需要使用rsync进行异地同步。
http://mirrors.ustc.edu.cn/status/
CentOS源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
mkdir -p /var/ftp/centos7/x86_64/repodata/{os,extras,updates,epel}
使用rsync同步Centos yum源
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /var/ftp/centos7/x86_64/repodata/os
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/ /var/ftp/centos7/x86_64/repodata/extras/
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ /var/ftp/centos7/x86_64/repodata/updates/
同步epel源
rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /var/ftp/centos7/x86_64/repodata/epel/
远程复制
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /var/ftp/centos7/x86_64/repodata/os
做个定时任务,每天执行上面几个命令。
1)可以官方源
2)私有源:
mkdir /var/ftp/persion
find /var/cache/yum -name "cowsay*"|xargs cp -t /var/ftp/persion/
createrepo /var/ftp/persion/
yum makecache
gzip /etc/yum.repos.d/*
cat >/etc/yum.repos.d/persion.repo<<EOF
[persion]
name=centos7_persion
baseurl=ftp://10.0.0.200/persion
enabled=1
gpgcheck=0
EOF
yum repolist
rpm -e cowsay
yum install cowsay -y
yum源仓库的三种搭建方式
https://www.cnblogs.com/mython/p/10898461.html
搭建局域网YUM仓库
https://www.cnblogs.com/pzb-shadow/p/10641164.html
浙公网安备 33010602011771号