荣成城乡建设局网站,网站上常用字体,做网站好平台化,临海商用高端网站设计新感觉建站Day24-yum与rpm软件包管理2 1. 配置缓存rpm包2. 为什么要缓存#xff1f;3. 组包相关指令4. yum帮助与补全功能4.1 补全4.2 什么是yum源4.3 常见互联网 yum 源 5. 搭建局域网YUM仓库实践 1. 配置缓存rpm包
修改yum.conf配置
[rootoldboy ~]# sed -i.bak s#keepcache0#keepca… Day24-yum与rpm软件包管理2 1. 配置缓存rpm包2. 为什么要缓存3. 组包相关指令4. yum帮助与补全功能4.1 补全4.2 什么是yum源4.3 常见互联网 yum 源 5. 搭建局域网YUM仓库实践 1. 配置缓存rpm包
修改yum.conf配置
[rootoldboy ~]# sed -i.bak s#keepcache0#keepcache1#g /etc/yum.conf
[rootoldboy ~]# grep keepcache /etc/yum.conf
keepcache1测试
[rootoldboy ~]# 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
[rootoldboy ~]# rpm -e nmap
[rootoldboy ~]# rpm -e nmap-ncat
[rootoldboy ~]# 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.rpm2. 为什么要缓存
1配置yum仓库rpm来源。 2rpm更新了老的就找不到了。
2.缓存rpm包方式二只下载不安装不用
[rootoldboy ~]# yum install -y yum-plugin-downloadonly #插件
[rootoldboy ~]# yum install httpd -y --downloadonly --downloaddir/tmp3.清除所有yum缓存的软件包以及元数据
[rootoldboy ~]# yum clean all
[rootoldboy ~]# find /var/cache/yum/x86_64/7/ -name *.rpm4.只清除缓存的软件包
[rootoldboy ~]# yum clean packages软件包真正的软件。 元数据数据的数据。
3. 组包相关指令
[rootoldboy ~]# yum groups list
#安装一整个组的软件
[rootoldboy ~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools
#yum删除包组
[rootoldboy ~]# yum groups remove -y Base安装系统reboot后。
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.repo2把软件更新到最新生产上线之前
yum update -y3常用软件包。 CentOS6和CentOS7都要安装的企业运维常用基础工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -yCentOS7要安装的企业运维常用基础工具包
yum install psmisc net-tools bash-completion vim-enhanced -y 软件包名包含的核心命令treetree 以树形结构显示文件和目录nmapnmap 扫描端口的工具dos2unix转换脚本格式的工具lrzsz包含上传(rz)下载(sz)文件工具nc文件传输、端口检查工具lsof反查端口进程以及服务开发文件工具wget下载软件包工具tcpdump抓包、监听等重要排错工具htop系统进程相关信息查看工具iftop查看主机网卡带宽工具sysstat含有 sar.iostat 等重要系统性能查看工具nethogs显示进程的网络流量psmisc含有killall、pstree等命令net-tools含有netstat、ifconfig、route、arp等命令bash-completion、bash-completion-extrastab补全功能工具包vim-enhancedvim编辑器工具包
安装系统时选择包的时候落下了一些没选的安装后如何补救
查看有哪些组包
yum groups list
[rootoldboy ~]# yum groups mark convert #转换到原始的格式
[rootoldboy ~]# yum groups list #查看
Available Environment Groups: #可用的环境组包Minimal InstallCompute NodeInfrastructure ServerFile and Print ServerCinnamon DesktopMATE DesktopBasic Web ServerVirtualization HostServer with GUIGNOME Desktop #安装桌面环境KDE Plasma WorkspacesDevelopment and Creative Workstation
Installed Groups: #已经安装的组包。Compatibility LibrariesDevelopment ToolsMilkymistSecurity ToolsSystem Administration Tools
Available Groups: #可用的组包。CinnamonConsole Internet ToolsEducational SoftwareElectronic LabFedora PackagerGeneral Purpose DesktopGraphical Administration ToolsHaskellLXQt DesktopLegacy UNIX CompatibilityMATEScientific SupportSmart Card SupportSystem ManagementTurboGears application frameworkXfce
Done#安装环境组包桌面环境包。
yum groupinstall GNOME Desktop
yum groupinstall Smart Card Support#写一起
yum groupinstall GNOME Desktop Smart Card Support#yum删除包组不用
[rootoldboy ~]# yum groups remove -y Base
[rootoldboy ~]# 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 更新软件包同时考虑软件包取代关系***面试造火箭拧螺丝。
4. yum帮助与补全功能
4.1 补全
yum [options] COMMAND
[rootoldboy ~]# yum #tab
check deplist groups info load-transaction reinstall search upgrade
check-update distro-sync help install makecache remove shell version
clean downgrade history list provides repolist update
[rootoldboy ~]# yum clean #输入yum cl按tab补全,回车查看Error: clean requires an option: headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all[rootoldboy ~]# yum help clean #查看选项后对应的命令。
clean [headers|packages|metadata|dbcache|plugins|expire-cache|all]Remove cached data4.2 什么是yum源
要想使用 yum 工具安装、更新软件就需要有一个包含各种rpm软件包的软件仓库这样的软件仓库就称为yum源。
yum 源分为 1互联网 yum 源(阿里云、网易、清华源) 2局域网私有 yum 源(自己做一个 yum 源http/fp)(1.速度快。2.制作的rpm 放到 yum 源)。
如何变为公共 yum 源? a.ip 换公网 IP给个域名 mirrors.oldboyedu.com b.用rsync 等工具实时和官方仓库做实时同步。
3)服务器本地 yum 源(上不了网把iso 作为 yum 源)
4.3 常见互联网 yum 源
官方yum源:很多软件集合的在线仓库也称为base基础源 epel源:也称为拓展源拥有很多base 源没有的软件 第三方源:比如nginxzabbixDocker等软件开发方开源软件的官方仓库 PS.yum 源默认都放在/etc/yum.repos.d/日录下以*.repo 结尾
配置本地光盘镜像仓库 1)rpm包来源光盘镜像
[rootoldboy ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[rootoldboy ~]# ls /mnt
CentOS_BuildTag EULA LiveOS RPM-GPG-KEY-CentOS-7 TRANS.TBL isolinux
EFI GPL Packages RPM-GPG-KEY-CentOS-Testing-7 images repodata2让现有的yum源配置临时失效
[rootoldboy ~]# gzip /etc/yum.repos.d/*
[rootoldboy ~]# ls /etc/yum.repos.d/
CentOS-Base.repo.gz CentOS-Media.repo.gz CentOS-x86_64-kernel.repo.gz
CentOS-Base.repo.ori.gz CentOS-Sources.repo.gz CentOS7-Base-163.repo.gz
CentOS-CR.repo.gz CentOS-Vault.repo.gz epel.repo.gz
CentOS-Debuginfo.repo.gz CentOS-fasttrack.repo.gz测试安装
[rootoldboy ~]# yum install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
There are no enabled repos.Run yum repolist all to see the repos you have.To enable Red Hat Subscription Management repositories:subscription-manager repos --enable repoTo enable custom repositories:yum-config-manager --enable repo3配置本地光盘源
vim /etc/yum.repos.d/CentOS7-Cdrom.repo
[CentOS7-Cdrom]
nameThis is local cdrom by oldboy for 77.
baseurlfile:///mnt
enabled1
gpgcheck0[CentOS7-Cdrom] #仓库名称
name #仓库描述信息
baseurl #YUM源url地址 ,可以是file://(本地) ftp://局域网 http://公网
enabled #是否使用该YUM源(0代表禁用, 1代表激活)
gpgcheck #是否验证软件签名(0代表禁用, 1代表激活)深入理解Yum的gpgcheck https://segmentfault.com/a/1190000016214318
4生成缓存并测试
[rootoldboy ~]# yum makecache
yum install bind #########
[rootoldboy ~]# curl http://mirrors.163.com/centos/7.9.2009/isos/x86_64/sha256sum.txt
689531cce9cf484378481ae762fae362791a9be078fda10e4f6977bf8fa71350 CentOS-7-x86_64-Everything-2009.iso
b79079ad71cc3c5ceb3561fff348a1b67ee37f71f4cddfec09480d4589c191d6 CentOS-7-x86_64-NetInstall-2009.iso
07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a CentOS-7-x86_64-Minimal-2009.iso
e33d7b1ea7a9e2f38c8f693215dd85254c3a4fe446f93f563279715b68d07987 CentOS-7-x86_64-DVD-2009.iso5. 搭建局域网YUM仓库实践
1.关闭防火墙与selinux
[rootoldboy ~]# systemctl stop firewalld #关闭防火墙
[rootoldboy ~]# systemctl disable firewalld #取消开机自启动
[rootoldboy ~]# setenforce 0 #临时关闭selinx。
[rootoldboy ~]# sed -i s#SELINUXenforcing#SELINUXdisable#g /etc/selinux/config #永久关闭selinx。#########################
[rootoldboy ~]# getenforce #查看selinux状态
Enforcing
[rootoldboy ~]# setenforce #调整selinux状态0selinux临时失效
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[rootoldboy ~]# setenforce 0 #调整selinux临时失效
[rootoldboy ~]# getenforce
Permissive2.使用什么传输方式协议提供仓库 file:// http://
方法1
yum install httpd -y
systemctl start httpd
#软件包放这里/var/html/www方法2
mkdir /var/html/www
cd /var/html/www
python -m SimpleHTTPServer 80 /dev/null ftp://
yum install vsftpd -y
#/var/ftp3.安装ftp传输工具
[rootoldboy ~]# yum install vsftpd -y #安装
[rootoldboy ~]# systemctl start vsftpd #启动
[rootoldboy ~]# netstat -lntup|grep vsftp #检查端口 21
tcp6 0 0 :::21 :::* LISTEN 66822/vsftpd
[rootoldboy ~]# systemctl enable vsftpd #开机自启动
浏览器测试ftp://10.0.0.129/4.开启yum缓存功能
[rootoldboy ~]# grep keepcache /etc/yum.conf
keepcache0
[rootoldboy yum.repos.d]# sed -i s#keepcache0#keepcache1#g /etc/yum.conf
[rootoldboy yum.repos.d]# grep keepcache /etc/yum.conf
keepcache1
[rootoldboy ~]# yum clean all5.创建yum仓库本地目录并创建元数据以及拷贝rpm base软件包
[rootoldboy ~]# mkdir /var/ftp/centos7
####创建元数据
[rootoldboy ~]# yum install createrepo -y
[rootoldboy ~]# createrepo /var/ftp/centos7/
[rootoldboy ~]# ls /var/ftp/centos7/
repodata
[rootoldboy ~]# tree /var/ftp/centos7/
/var/ftp/centos7/
-- repodata|-- 01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2|-- 401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz|-- 5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2|-- 6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz|-- 7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2|-- dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz-- repomd.xml
####拷贝rpm包
[rootoldboy ~]# mount /dev/cdrom /mnt
[rootoldboy ~]# cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/###安装ftp客户端工具然后测试ftp服务是否可用
[rootoldboy ~]# yum install lftp -y
[rootoldboy Packages]# lftp 10.0.0.129
lftp 10.0.0.129:~ ls
drwxr-xr-x 3 0 0 225280 Jun 03 16:44 centos7
drwxr-xr-x 2 0 0 6 Apr 01 2020 pub######想放其他rpm包。 1去其他网站找到rpm包放到这里。 2源码》编译成rpm包放到这里。
[rootoldboy yum.repos.d]# find /var/cache/yum -name *.rpm -exec cp {} /var/ftp/centos7 \;
[rootoldboy yum.repos.d]# find /var/ftp -name sl-*
/var/ftp/centos7/sl-5.02-1.el7.x86_64.rpm[rootoldboy yum.repos.d]# createrepo --update /var/ftp/centos7/ #每加一个rpm包就用此命令更新YUM仓库
[rootoldboy ~]# yum makecache6.客户端配置yum源指向服务端 客户端配置并使用base基础源
[rootyum_client ~]# gzip /etc/yum.repos.d/*cat /etc/yum.repos.d/centos7.repoEOF
[centos7]
namecentos7_base
baseurlftp://10.0.0.129/centos7
enabled1
gpgcheck0
EOF[rootoldboy ~]# cat /etc/yum.repos.d/centos7.repo
[centos7]
namecentos7_base
baseurlftp://10.0.0.129/centos7
enabled1
gpgcheck07.测试
yum install sl -y
sl
#over企业案例作业 把所有源的大小加起来。 链接: http://mirrors.ustc.edu.cn/status/
搭建公有YUM仓库 同步官方YUM源到私有源 镜像同步公网yum源需要使用rsync进行异地同步。 链接: http://mirrors.ustc.edu.cn/status/
CentOS源 rsync://mirrors.ustc.edu.cn/centos/ rsync://rsync.mirrors.ustc.edu.cn/repo/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 -avz rsync://rsync.mirrors.ustc.edu.cn/repo/centos/ /var/ftp/centos7/x86_64/repodata/epel/#远程复制测试
#rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/centos/ /var/ftp/centos7/x86_64/repodata/epel/
[rootoldboy yum.repos.d]# ls /var/ftp/centos7/x86_64/repodata/epel/ -a
. 4.1 5.3 6.6 8 RPM-GPG-KEY-CentOS-Official
.. 4.2 5.4 6.7 8-stream RPM-GPG-KEY-CentOS-Security-6
2 4.3 5.5 6.8 8.0.1905 RPM-GPG-KEY-CentOS-Testing-6做个定时任务每天执行上面几个命令保持源内数据最新。
还可以同步搭建私有源
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.repoEOF
[persion]
namecentos7_persion
baseurlftp://10.0.0.129/persion
enabled1
gpgcheck0
EOF
[rootoldboy etc]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
persion centos7_persion 1
repolist: 1
[rootoldboy etc]# rpm -e cowsay
[rootoldboy etc]# yum install cowsay -y#每加一个rpm包就用此命令更新YUM仓库
createrepo --update /var/ftp/centos7/
yum makecache定制RPM包 链接: https://blog.oldboyedu.com/autodeploy-rpm/
网友资料 yum源仓库的三种搭建方式 链接: https://www.cnblogs.com/mython/p/10898461.html
搭建局域网YUM仓库 链接: https://www.cnblogs.com/pzb-shadow/p/10641164.html
systemctl start 服务名称 — 启动服务 systemctl stop 服务名称 — 停止服务 systemctl restart 服务名称 — 重启服务 systemctl status 服务名称 — 查看服务详细的运行状态 systemctl disable 服务名称 — 让服务开机不要运行 systemctl enable 服务名称 — 让服务开机运行 systemctl is-active 服务名称 — 检查确认服务是否运行