apt-get下载包及所有依赖_apt-get download下载依赖包-程序员宅基地

技术标签: 环境配置  shell  运维  linux  服务器  

思路就是利用apt-getdepend选项,这会列出所给包的依赖,但是只是直接依赖,间接依赖需要递归。

可以手动递归,也可以用--recurse选项来递归。

下面采用--recurse递归,并用awk来过滤出需要的包名 。
同时,通过--no-*系列选项关闭了所有不必要的。
最后,用apt-get download XXX或者apt download XXX来依次下载每个包。

脚本

#!/bin/bash

#$1     pkg
get_all_depends()
{
    
        apt-cache depends --no-pre-depends --no-suggests --no-recommends \
                --no-conflicts --no-breaks --no-enhances\
                --no-replaces --recurse $1 | awk '{print $2}'| tr -d '<>' | sort --unique
}


## 遍历命令行参数,参数应为包名。
for pkg in $*
do
        all_depends=$(get_all_depends $pkg)
        echo -e "所有依赖共计"$(echo $all_depends | wc -w)"个"
        echo $all_depends
        i=0
        for depend in $all_depends
        do
                i=$((i+1))
                echo -e "\033[1;32m正在下载第$i个依赖:"$depend "\033[0m"
                apt-get download $depend
        done
done

效果

请添加图片描述

漏洞

对于一些包,比如wine,依赖中有一些在下载时会提示无候选版本可下载(似乎是架构相关),暂时不知道什么意思,以后弄懂了再改它。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_51470638/article/details/127136484

智能推荐

NBA2K22 李景亮面补-程序员宅基地

文章浏览阅读202次。NBA2K22 李景亮面补。

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame 解决方法_settingwithcopywarning: a value is trying to be se-程序员宅基地

文章浏览阅读2.5w次,点赞33次,收藏29次。1、首先展示下遇到的问题截图2、然后跟着这个错误的报错信息,点开下面链接有兴趣研究可以点开https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy蹩脚英语看半天没看明白,转战为自己研究3、简单代码复现问题~~~df = pd.DataFrame(np.random.randint(1,10,(4,5)),columns=["A._settingwithcopywarning: a value is trying to be set on a copy of a slice fro

s7-200 smart 运动控制_西门子s7-200smart脉冲输出控制伺服程序-程序员宅基地

文章浏览阅读5.7k次,点赞5次,收藏8次。需求:1-使用PLC发送脉冲控制伺服驱动器,驱动伺服电机,带动与齿轮带连接的伸缩杆定位;要求:1-位置可调;2-速度可调; 3-显示位置、速度状态;4-断电位置保持。一、资料查看1- S7-200 SMART CPU 提供了三种开环运动控制方法:运动控制向导,PTO(脉冲串输出)及PWM(脉宽调制);通过PROFINET连接V90实现基本定位控制从STEP 7-Micro/WIN SMART V2.4 和 S7-200 SMART PLC固件版本 V2.4开始增加了 PROFINET通..._西门子s7-200smart脉冲输出控制伺服程序

关于印发《测绘地理信息质量管理办法》的通知-程序员宅基地

文章浏览阅读1k次。关于印发《测绘地理信息质量管理办法》的通知来源: 国家测绘地理信息局国土测绘司 时间:2015-07-02 14:59:41 【大 中 小】国测国发〔2015〕17号各省、自治区、直辖市、计划单列市测绘地理信息行政主管部门,新疆生产建设兵团测绘地理信息主管部门:《测绘地理信息质量管理办法》已经国家测绘地理信息局局务会议审议通过,现予印发,请认真贯彻执行。经商国家质量监督检验检疫总局同意,1997_测绘地理信息质量管理办法

只需十四步:从零开始掌握Python机器学习(附资源)_python机器学习赵涓涓-程序员宅基地

文章浏览阅读211次。Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了。本教程原文分为两个部分,机器之心在本文中将其进行了整合,原文可参阅:suo.im/KUWgl 和 suo.im/96wD3。本教程..._python机器学习赵涓涓

实时增量备份工具(rsync –daemon + inotify tools)-程序员宅基地

文章浏览阅读713次,点赞15次,收藏9次。实时增量备份工具(rsync –daemon + inotify tools)

随便推点

信用卡新颖的攻击方式,黑客可非接触式卡进行交易-程序员宅基地

文章浏览阅读172次。网络安全研究人员披露了一种新颖的攻击方式,它可能使黑客欺骗销售点终端以使其与受害者的万事达卡非接触式卡进行交易,同时认为该卡是Visa卡。该研究报告是由国内知名网络安全组织东方联盟研究人员发表的,该研究报告是建立在去年9月进行的一项详细研究的基础上的,该研究涉及PIN旁路攻击,使不良行为者可以利用受害者的被盗或丢失的启用Visa EMV的信用卡来制造高价值在不知道卡PIN的情况下进行购买,甚至欺骗终端接受未经认证的离线卡交易。研究人员表示:“黑客可以将其与先前对Visa的攻击结合使用,从而绕过万

Java设计模式之行为型:状态模式_java中状态设计模式案例-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏29次。在介绍状态模式之前,我们先来看这样一个实例:你公司力排万难终于获得某个酒店的系统开发项目,并且最终落到了你的头上。下图是他们系统的主要工作(够简单)。当你第一眼看到这个系统的时候你就看出来了这是一个状态图,每个框框都代表了房间的状态,箭头表示房间状态的转换。分析如下:房间有三个状态:空闲、已预订、已入住,状态与状态之间可以根据客户的动作来进行转换。定义每个状态的值。 publ..._java中状态设计模式案例

JavaScript — 原生js实现上传图片控件_js利用class实现上传图片组件-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏15次。一、修改原生 input 样式html 结构<div class="card"> <input id="upload" type="file" accept=".jpg" /> <div class="view"> <!-- 上传成功后 --> <div id="imgContainer" class="img-container"> <img id="img" /&_js利用class实现上传图片组件

是德科技KEYSIGHT E4980A精密性LCR测试仪_keysight 4070电容测试精度-程序员宅基地

文章浏览阅读370次,点赞10次,收藏9次。此外,它还具有多种测量模式,可以根据不同的测试需求进行灵活的配置和使用。此外,它还具有很高的测量速度和采样率,可以在短时间内完成大量的测试和数据采集。它具有高精度、高稳定性和高分辨率的测量特点,可以满足各种电子元件和材料的分析和测试需求。此外,它还具有自动校准和校准验证功能,可以保证测量的准确性和可靠性。此外,它还具有自动校准和校准验证功能,可以保证测量的准确性和可靠性。它是一款四端仪器,可以测量电阻、电容和电感等元件的阻抗、相位和品质因数等参数,适用于各种电子元件和材料的分析和测试。_keysight 4070电容测试精度

我的白帽子之路:从一穷二白的骑手,到月薪26k的黑客-程序员宅基地

文章浏览阅读1k次。前两天偶然跟几个后台粉丝交流,才发现最近好消息还挺多。其中有个现在当了黑客的哥们(暂且叫他大刘)引起了我的注意,所以今天决定从技术和经验的角度,跟大家讨论一番。大刘当了两年的骑手,虽然每..._掌控安全学院优秀学员

/dev/tty /dev/ttyS0 /dev/tty0区别_vi /dev/ttys0-程序员宅基地

文章浏览阅读3k次。http://blog.chinaunix.net/uid-26696487-id-3207777.html/dev/tty /dev/ttyS0 /dev/tty0区别1、串行端口终端(/dev/ttySn)   串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 ..._vi /dev/ttys0

推荐文章

热门文章

相关标签