美文网首页
apt一键下载所有依赖的包

apt一键下载所有依赖的包

作者: 夜游上河园 | 来源:发表于2019-02-12 20:04 被阅读0次

无外网的局域网安装软件一个烦人的事件就是明明安装包下好了,但有时候就是安装不上,因为缺少相应依赖的包。

那么如何将一个软件依赖的包、库之类的下载下来呢。
这里就用到apt的相关功能。

方法

首先,找包。找到依赖的包用apt-cache depends packname来获取。
其次,下载。用apt-get install dependpackname –reinstall -d来下载所依赖的包。 -d是表示只下载。
再次,批量安装。用shell命令组合来一键下载所有所依赖的包。

#有些包名中有<>符号,用tr将其删除
sudo apt-get install --reinstall -d `apt-cache depends packname | grep depends | cut -d: f2 |tr -d "<>"`

注意上面命令中反引号。 即 ` 。

示例

比如要找到fcitx所依赖的包。


这里写图片描述

apt-cache depends 会列出3类包。如果只想安装Depends的,用grep过滤下。如果想提取出包的名字,用cut做一个分割。

剩下的就是调用下载相应包的指令了。
是不是感觉很简单。
:)


进阶,下载所依赖的包所依赖的包。。。

比如A依赖B,B又依赖C,那如何递归呢。此时就需要一个脚本文件,用函数来实现了。
递归3次下载所依赖包的脚本如下:

#!/bin/bash

logfile=/home/perrin/Desktop/log
ret=""
function getDepends()
{
   echo "fileName is" $1>>$logfile
   # use tr to del < >
   ret=`apt-cache depends $1|grep Depends |cut -d: -f2 |tr -d "<>"`
   echo $ret|tee  -a $logfile
}
# 需要获取其所依赖包的包
libs="gnome-shell"                  # 或者用$1,从命令行输入库名字

# download libs dependen. deep in 3
i=0
while [ $i -lt 3 ] ;
do
    let i++
    echo $i
    # download libs
    newlist=" "
    for j in $libs
    do
        added="$(getDepends $j)"
        newlist="$newlist $added"
        apt install $added --reinstall -d -y
    done

    libs=$newlist
done

相关文章

  • apt一键下载所有依赖的包

    无外网的局域网安装软件一个烦人的事件就是明明安装包下好了,但有时候就是安装不上,因为缺少相应依赖的包。 那么如何将...

  • go常用指令

    go常用指令 一键下载所有依赖 -d标志只下载代码包,不执行安装命令;-v打印详细日志和调试日志。这里加上这个标志...

  • ubuntu14.04上安装opencv

    1 下载opencv压缩包,并解压 2 安装依赖包 $ sudo apt-get install build-es...

  • sequenceserver

    部署网页版Sequenceserver 更新apt包 下载相应依赖 给gem换源(接下来下载sequenceser...

  • 记录一次xshell登不上Ubuntu的解决过程

    主要是apt-get下载常有的软件包依赖问题,apt-get依赖问题很多种解决方法,有时候加option -f就可...

  • Ubuntu16.04安装搜狗拼音输入法

    从下载链接下载deb包 使用dpkg安装软件包 在控制台输入sudo apt -f install修复依赖关系 L...

  • Quantum虚拟网络的安装

    一、Quantum的依赖安装 在所有节点上都要安装Quantum的依赖包 建议通过apt-get的方式安装,这里包...

  • ubuntu18.04安装vscode

    先去下载deb文件,然后执行以下命令 注意看 --fix-broken 加上这个选项,apt会去下载deb包的依赖...

  • pip的基本使用方法

    安装包 使用该命令可以一键安装包及其相关依赖包,这些包都会自动下载到python的lib\site-package...

  • linux服务器nginx+nacos2.x集群搭建的部署

    在安装nginx之前要先安装nginx相关的依赖包,通过命令一键安装即可 下载nginx源码包 解压 tar -z...

网友评论

      本文标题:apt一键下载所有依赖的包

      本文链接:https://www.haomeiwen.com/subject/hzgxjqtx.html