是一个基于Bash脚本编写的工具,用于从指定的yum源下载软件包和目录,并在本地生成一个新的yum源。该脚本接受三个参数:list/folder/rpm、研发总源路径和本地保存位置。如果参数为list,则脚本将下载指定路径下的所有软件包。如果参数为folder,则脚本将下载指定路径下所有子目录下软件包,。如果参数为rpm,则脚本将仅下载指定路径下的单个软件包。
该脚本的执行过程包括以下几个步骤:
- 检查传递给脚本的参数是否有效。如果参数不正确,则脚本将退出并显示错误消息。
- 下载指定路径下的目录或软件包。
- 如果下载的是目录,则递归遍历目录并获取所有软件包的路径。
- 将下载的软件包和目录放在本地指定的yum源目录中。
- 创建本地yum源并生成repodata信息。
- 根据本地保存位置,将本地yum源移动至指定本地保存位置。
- 完成后,脚本将输出“done”消息。
该脚本的亮点是巧妙的使用了wget -r -p -np -k以获取父子目录的关系,包扩子目录里还有若干子目录的情况,,这就完成了父目录下所有文件的递归遍历。
获得所有最底层目录结构后,就能很方便地找到底层文件夹里的所有文件
该脚本是一个非常实用的工具,特别是对于需要在不同服务器之间共享软件包的来说。它可以轻松地从指定的yum源获取软件包和目录,并在本地生成一个新的yum源,使得其他服务器能够方便地使用已经下载的软件包。此外,通过在本地生成repodata信息,脚本还可以实现更快的软件包搜索和安装速度。
需要注意的是,使用该脚本需要一定的Linux命令行经验,并且需要正确设置yum仓库源,否则可能无法正常下载软件包。同时,建议在使用该脚本之前备份本地yum源目录,以免出现不可预料的问题。