Linux内网Yum仓库自动化部署脚本
先放个链接,万一有人关注呢
运维book思议
李小白,一个北漂的运维。希望能够通过本公众号与业内各位大神交流技术问题。
公众号
优质文章推荐
↓ ↓ ↓ ↓ ↓
Linux系统初始化脚本
能够监控100台服务器的磁盘利用率的脚本——16行代码实现
在当今快节奏的互联网时代,Linux系统在企业和组织中扮演着至关重要的角色。为了保证服务器环境的高效运行和软件的稳定性,及时进行软件包的安装和更新显得尤为重要。然而,在某些情况下,网络访问受限或不可行,这就给软件管理带来了挑战。为了解决这一问题,部署内网Yum仓库成为了一种有效的解决方案。
优势
1、高效软件管理: 内网Yum仓库为企业和组织提供了一种高效的软件管理方式。通过在内网环境中搭建Yum仓库,管理员可以集中存储和管理所需的软件包。无需依赖公网下载,可以加快软件的安装和更新速度。这不仅节省了管理员的时间和精力,还提高了整体的工作效率。2、稳定环境控制: 内网Yum仓库允许管理员对软件的版本和依赖关系进行精确控制。在企业和组织中,特定的软件版本可能对系统稳定性和兼容性具有重要意义。通过部署内网Yum仓库,管理员可以选择适合自身环境需求的软件版本,确保系统的稳定性和一致性。3、解决网络限制: 在一些安全性较高的网络环境中,公网访问可能受到限制。这对于软件更新和安装带来了挑战。部署内网Yum仓库可以绕过公网限制,通过本地网络提供软件包的访问和下载。这使得在受限环境中管理和维护软件变得更加便捷和可控。适用场景1、企业内部网络: 大型企业往往拥有庞大的内部网络,为了确保系统的稳定性和数据的安全性,限制对公网的访问是常见的做法。在这种情况下,内网Yum仓库成为了必不可少的工具,以便在内部网络中管理和更新软件包。2、高度安全的环境: 在一些对安全性要求极高的环境中,包括政府机构、金融机构等,对公网的访问通常会受到严格控制。通过部署内网Yum仓库,可以在满足安全要求的前提下,高效地进行软件管理和维护,避免公网带来的潜在风险。3、离线环境: 在一些没有互联网连接或有限互联网访问的场景下,内网Yum仓库可以满足软件安装和更新的需求。例如,在离岸油田、船舶、飞机等远程场所,通过内网Yum仓库可以方便地提供所需的软件包,维护系统的稳定性和安全性。脚本示例
# 检查是否为root用户if [[ $EUID -ne 0 ]]; thenecho "请以root用户身份运行此脚本"exit 1fi# 设置变量YUM_REPO_DIR="/var/www/html/yum"YUM_CONF_FILE="/etc/yum.repos.d/local.repo"REMOTE_REPO_URL="http://example.com/yum"# 安装必要的软件install_dependencies() {echo "安装所需的软件..."yum install -y createrepoecho "安装完成."echo}# 创建本地Yum仓库create_local_repo() {echo "创建本地Yum仓库..."mkdir -p "$YUM_REPO_DIR"cp "$YUM_CONF_FILE" "$YUM_CONF_FILE.bak"sed -i 's/enabled=1/enabled=0/g' "$YUM_CONF_FILE"createrepo "$YUM_REPO_DIR"echo "本地Yum仓库创建完成."echo}# 同步远程仓库到本地sync_remote_repo() {echo "同步远程仓库到本地..."reposync -g -l -d -m --repoid=base --newest-only --download_path="$YUM_REPO_DIR"echo "远程仓库同步完成."echo}# 生成Yum仓库配置文件generate_repo_config() {echo "生成Yum仓库配置文件..."cat <<EOT > "$YUM_CONF_FILE"[local]name=Local Yum Repositorybaseurl=file://$YUM_REPO_DIRenabled=1gpgcheck=0EOTecho "Yum仓库配置文件生成完成."echo}# 清理临时文件和目录cleanup() {echo "清理临时文件和目录..."rm -rf "$YUM_REPO_DIR/.repodata"rm -rf "$YUM_REPO_DIR/repodata"echo "清理完成."echo}# 主函数main() {install_dependenciescreate_local_reposync_remote_repogenerate_repo_configcleanupecho "Yum仓库部署完成."echo}# 执行主函数main
结束!如有不足之处,欢迎指正!
我们的组织在这里: