Bash 脚本下载动态目录

Bash 脚本下载动态目录

如何下载最新的在 deb 文件中(全部文件夹中)是否适用于我的平台(x86_64/i386)和带有 bash 脚本的发行版?此应用程序没有 PPA。

因此,我对下载 deb 文件的过程的自动化(为我的平台/发行版下载最新的 deb 包)很感兴趣,而不是手动下载。

离线手动下载不是这种情况,但如果本地存在一些文件,我们可以跳过下载它们。我对从其他计算机下载 deb 文件不感兴趣。因此要下载的文件应该遵循以下模式:{http|ftp}://updates.etersoft.ru/pub/Etersoft/[适用于我的平台和发行版的最新版本]/last[/x84_64 如果需要]/Ubuntu/[我的发行版]/*.deb

以下是一些下载 URL 的示例:

FTP://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/9.2.1/x86_64/Ubuntu/12.04/libpq5.5-9.2eter_9.2.1-eter1ubuntu_amd64.deb

FTP://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/9.2.1/Ubuntu/12.04/libpq5.5-9.2eter_9.2.1-eter1ubuntu_i386.deb

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.1.3/HASP/x86_64/Ubuntu/12.04/haspd_3.3-eter5ubuntu_amd64.deb

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.1.3/HASP/Ubuntu/12.04/haspd_3.3-eter5ubuntu_i386.deb

我当前的发行版是 Ubuntu x86_6412.04.04LTS 谢谢。

答案1

你的脚本应该是这样的:

wget --mirror http://updates.etersoft.ru/pub/Etersoft/ --level=1 --reject=index.html -nH -np
for i in $(ls pub/Etersoft); do
wget -r -A .deb http://updates.etersoft.ru/pub/Etersoft/$i/last/x86_64/Ubuntu/12.04/ --reject=index.html 
done

首先,我镜像了 Etersoft/ 中的所有目录,然后我循环获取 .deb 文件

注意:在这个特定的网站中,并非所有目录都具有相同的层次结构。请根据需要修改脚本。我只是给出了想法。

答案2

如果您必须完成 deb 包的 URL,那么您可以wget在 shell 脚本中简单地使用以下命令:

wget htp://your-url-for-deb-file

现在如果你想安装这些包然后添加

dpkg -i *.deb

您可以添加 cron 作业以在特定时间段后运行此 shell 脚本!

希望这可以帮助!

相关内容