linux使用apt命令下载软件和依赖包

apt下载软件及其依赖包

总共两步:下载软件包,下载依赖包

以下以ntp及其依赖包为例

1.cd /var/cache/apt/archives/

该目录是依赖包默认下载目录

2.执行sudo apt download ntp ,仅下载ntp安装包

3.执行下面命令下载ntp依赖包

sudo apt-get install --reinstall -d `apt-cache depends ntp | grep "依赖" | cut -d: -f2 |tr -d "<>"`  

//修改ntp,改为自己想下载的软件名,当使用系统为英文时,将"依赖"改为"depends"

以上为下载过程,安装的话使把刚才下载的包单独放在一块,用sudo dpkg -i *.deb安装

注意:/var/cache/apt/archives/ 少部分情况下该目录需要root权限才能复制粘贴

命令sudo apt depends ntp 是查询ntp的依赖包有哪些

问题排查

1.如下下载vsftpd依赖包时报错

ubuntu:/var/cache/apt/archives$ sudo apt-get install --reinstall -d `apt-cache depends vsftpd | grep "依赖" | cut -d: -f2 |tr -d "<>"`

正在读取软件包列表... 完成

正在分析软件包的依赖关系树       

正在读取状态信息... 完成       

虚拟软件包 debconf-2.0 由下面的软件包提供:

  debconf 1.5.58kord1

  cdebconf 0.198kord1k3

请您明确地选择安装其中一个。

E: 软件包 debconf-2.0 没有可安装候选

查看依赖关系sudo apt-cache depends vsftpd | grep “依赖”

ubuntu:/var/cache/apt/archives$ sudo apt-cache depends vsftpd

vsftpd

 |依赖: debconf

  依赖:

    cdebconf

    debconf

  依赖: init-system-helpers

  依赖: libc6

  依赖: libcap2

  依赖: libpam0g

  依赖: libssl1.0.0

  依赖: libwrap0

  依赖: adduser

  依赖: libpam-modules

  依赖: netbase

  冲突:

    ftpd

    ftpd-ssl

    heimdal-servers

    inetutils-ftpd

    muddleftpd

    proftpd-basic

    pure-ftpd

    pure-ftpd-ldap

    pure-ftpd-mysql

    pure-ftpd-postgresql

    twoftpd-run

  推荐: logrotate

  推荐: ssl-cert

  替换:

    ftpd

    ftpd-ssl

    heimdal-servers

    inetutils-ftpd

    muddleftpd

    vsftpd

    proftpd-basic

    pure-ftpd

    pure-ftpd-ldap

    pure-ftpd-mysql

    pure-ftpd-postgresql

twoftpd-run

第二行有两个包,随意安装其中一个,第一行的debconf也在第二行中,所以把第二行去掉即可,在条件中加入一个过滤条件,关键字选择第二行中的debconf-2.0,即加入grep -v ‘debconf-2.0’

sudo apt-get install --reinstall -d `apt-cache depends vsftpd | grep "依赖" | cut -d: -f2 |tr -d "<>" | grep -v 'debconf-2.0'`

2.若提示其他软件有依赖错误,执行结果中建议执行apt install -f

先执行sudo apt install -f自动解决依赖问题

再执行

sudo apt-get install --reinstall -d `apt-cache depends vsftpd | grep "依赖" | cut -d: -f2 |tr -d "<>" | grep -v 'debconf-2.0'`

你可能感兴趣的:(linux,ubuntu,服务器)