OS-Ubuntu-从源查询拉取安装包依赖-apt-cache&apt download
引用:
指令
apt-cache
depends
--no-*
--no-pre-depends
--no-suggests
--no-recommends
--no-conflicts
--no-breaks
--no-enhances
--recurse
apt-get download
安装包缓存
apt-get
指令会缓存安装包。
- 缓存安装包路径为:
/var/cache/apt/archives
apt clean all
:清空缓存
安装文件位置
一般的deb包(包括新立得或者apt-get下载的)都在**/usr/share**
。
自己下载的压缩包或者编译的包,有些可以选择安装目录,一般放在/usr/local/
,也有在/opt
的。
apt-get
命令 |
说明 |
apt-get update |
更新源 |
apt-get upgrade |
更新所有已安装的包 |
apt-get install |
安装软件包,多个软件包用空格隔开 |
apt-get install –reinstall |
重新安装软件包 |
apt-get install -f |
修复安装(破损的依赖关系)软件 |
apt-get remove |
删除软件包(不包括配置文件) |
apt-get purge |
删除软件包(包括配置文件) |
apt-get clean |
清除缓存(/var/cache/apt/archives/{,partial}下) 中所有已下载的包 |
apt-cache stats |
显示系统软件包的统计信息 |
apt-cache search |
使用关键字pkg搜索软件包 |
apt-cache show |
显示软件包pkg_name的详细信息 |
apt-cache depends |
查看pkg所依赖的软件包 |
apt-cache rdepends |
查看pkg被那些软件包所依赖 |
apt-get build-dep |
构建pkg源码包的编译依赖 (这条命令很神奇,一步搞定所有编译依赖) |
apt-get命令的一般语法格式为:apt-get subcommands [ -d | -f | -m | -q| --purge | --reinstall | -b | -s | -y | -u | -h | -v ] [pkg]
比如:
- 更新或升级操作:
| apt-get update |
| apt-get upgrade |
| apt-get dist-upgrade |
- 安装或重装类操作:
| apt-get install <pkg> |
| apt-get install --reinstall <pkg> |
| apt-get install -f <pkg> |
- 卸载类操作:
| apt-get remove <pkg> |
| apt-get purge <pkg> |
- 下载清除类操作:
| apt-get source <pkg> # 下载pkg包的源代码到当前目录 |
| apt-get download <pkg> # 下载pkg包的二进制包到当前目录 |
| apt-get source -d <pkg> # 下载完源码包后,编译 |
| apt-get build-dep <pkg> # 构建pkg源码包的依赖环境(编译环境?) |
| apt-get clean # 清除缓存(/var/cache/apt/archives/{,partial}下)中所有已下载的包 |
| apt-get autoclean # 类似于clean,但清除的是缓存中过期的包(即已不能下载或者是无用的包) |
| apt-get autoremove # 删除因安装软件自动安装的依赖,而现在不需要的依赖包 1234567 |
- 查询类操作:
| apt-cache stats |
| apt-cache search <pkg> |
| apt-cache show <pkg_name> |
| apt-cache depends <pkg> |
| apt-cache rdepends <pkg> |
下载指定安装包依赖
| #!/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 |
| |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析