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'`