保留yum下载/更新的rpm包#

本文介绍了一种在服务器无法连接外网的情况下,通过修改yum配置文件并利用缓存的rpm包来实现离线更新的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

横多时候我们的服务器不能连接外网,但是有需要网络源的安装包。

1、修改yum配置文件/etc/yum.conf

# vi /etc/yum.conf

----------------------------------------------------------

[main]
cachedir=/var/cache/yum/$basearch/$releasever   <----安装包存放路径
keepcache=1 <-----改为1,1代表保留安装包
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

----------------------------------------------------------

2、查看缓存目录是否有其他rpm包

# ls /var/cache/yum/x86_64/6/

base  extras  local  timedhosts.txt  updates

//看到的是各个yum仓库的目录

# ls /var/cache/yum/x86_64/6/updates/packages/  

//更新包缓存目录,可以诺走或者删除此目录下的不需要的rpm,准备缓存本次更新用的包。

3、通过yum uodate更新glibc

#  yum update glibc glibc-devel glibc-common glibc-headers -y

4、更新结束后,查看缓存目录,并报错所需的rpm包

# ls /var/cache/yum/x86_64/6/updates/packages/  

# cp -r  /var/cache/yum/x86_64/6/updates/packages /opt/


OK 大功告成了

其他服务器就可以通过rpm包直接更新了

# rpm -Uvh /opt/packages/*.rpm

PS:如果报错,很可能是更新的服务器没有安装某一个包导致的,可以尝试手动安装,然后再更新





#!/bin/bash ###############parameter #安装包所在路径 pack_dir=/iflytek/install #文件安装路径 install_dir=/iflytek/server #fastdfs配置文件所在路径 conf_dir=/iflytek/conf #shell脚本所在路径 sh_dir=/iflytek/install/shell #获取本机ip地址 ip=`ip addr | grep &#39;state UP&#39; -A2 | grep inet | egrep -v &#39;(127.0.0.1|inet6|docker)&#39; | awk &#39;{print $2}&#39; | tr -d "addr:" | head -n 1 | cut -d / -f1` #主机名 HostName=skynet #服务器密码 Host_Passwd=iflytek #mysql密码 PASSWORD=123456 ###################################################################### # # ###################################################################### echo &#39;0.创建所需目录&#39; ##创建目录 mkdir -p /iflytek/{engine,conf,bak,server} mkdir -p /iflytek/data/zookeeper mkdir -p /usr/java/ ###################################################################### # # 1.操作系统设置 # ###################################################################### echo &#39;1.操作系统设置&#39; ##关闭防火墙 systemctl stop firewalld.service > /dev/null 2>&1 systemctl disable firewalld.service > /dev/null 2>&1 ##关闭selinux setenforce 0 sed -i &#39;s/SELINUX=enforcing/SELINUX=disabled/g&#39; /etc/selinux/config ##系统设置 ulimit -n 655360 ulimit -u 655360 echo &#39;* soft noproc 655360 &#39; >>/etc/security/limits.conf echo &#39;* hard noproc 655360 &#39; >>/etc/security/limits.conf echo &#39;* soft nofile 655360 &#39; >>/etc/security/limits.conf echo &#39;* hard nofile 655360 &#39; >>/etc/security/limits.conf echo &#39;vm.max_map_count=655360&#39; >>/etc/sysctl.conf sleep 1 sysctl -p >/dev/null 2>&1 #Hypercnn版本必须关闭服务器的大页面 #echo never > /sys/kernel/mm/transparent_hugepage/enabled #echo never > /sys/kernel/mm/transparent_hugepage/defrag ###################################################################### # # 2.配置java环境 # ###################################################################### echo "2.配置java环境" rpm -e --nodeps `rpm -qa|grep -i jdk` sleep 4 tar zxf $pack_dir/jdk-8u144-linux-x64.tar.gz -C /usr/java/ echo &#39;export JAVA_HOME=/usr/java/jdk1.8.0_144&#39; >> /etc/profile echo &#39;export JRE_HOME=$JAVA_HOME/jre&#39; >>/etc/profile echo &#39;export PATH=$PATH:$JAVA_HOME/bin&#39; >>/etc/profile echo &#39;export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar&#39; >>/etc/profile sleep 2 source /etc/profile >/dev/null 2>&1 sleep 2 ###################################################################### # # 3.设置本地yum# ###################################################################### echo "3.设置本地yum源" mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak mkdir -p /iflytek/web sleep 2 mount -o loop $pack_dir/CentOS-7-x86_64-DVD-2009.iso /tmp >/dev/null 2>&1 sleep 2 cp -a /tmp /iflytek/web/centos sleep 2 umount /tmp >/dev/null 2>&1 ###################配置本地yun源 cp $shell/conf/my-z-centos.repo /etc/yum.repos.d/ ######################加载yumyum clean all > /dev/null 2>&1 yum makecache > /dev/null 2>&1 yum repolist > /dev/null 2>&1 #####################network yum #echo "http install " #yum -y install openssh-clients httpd #systemctl enable httpd #systemctl start httpd #ln -s /iflytek/web/centos /var/www/html/ ########################################package #yum-slve #cp /iflytek/shell/conf/my-c-centos.repo /etc/yum.repos.d/ #sleep 5 ###################################################################### # # 4.安装所需依赖 # ###################################################################### #echo "4.安装所需依赖" #yum -y install openssl openssl-devel gcc* &> /dev/null #已经安装开发工具时执行 #yum -y install openssl openssl-devel expect gcc* vim net-tools.x86_64 zip unzip wget gzip lrzsz dos2unix sysstat-11.7.3-1.x86_64 >/dev/null 2>&1 ##解压安装包 echo &#39;4.1 解压文件&#39; for i in /iflytek/server/*.zip; do unzip -o $i -d /iflytek/server/ >/dev/null 2>&1 done chmod -R 775 /iflytek/ #解压部署 for tar in $pack_dir/*.tar.gz; do tar -xf $tar -C $install_dir/; done chmod -R 775 /iflytek sleep 5 mv $install_dir/*.zip $pack_dir/ ###################################################################### # # 5.配置主机名 # ###################################################################### echo "5.配置主机名" hostname $HostName> /etc/hosts echo "$ip $HostName" >> /etc/hosts echo "HOSTNAME=$HostName" >> /etc/sysconfig/network echo "skynet" >/etc/hostname ###################################################################### # # 6.配置验证 # ###################################################################### echo "6.验证" echo "6.1java环境" java -version echo "6.2文件限制" grep "vm.max_map_count" /etc/sysctl.conf | tail -1 cat /etc/security/limits.conf | grep -i "65536" echo "6.3查看主机名" cat /etc/hosts 优化shell脚本
最新发布
06-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值