OS-Ubuntu-從源查詢拉取安裝包依賴-apt-cache&apt download
引用:
- Ubuntu apt-get apt-cache 命令使用
- apt-get下載包及所有依賴
指令
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
- Ubuntu apt-get apt-cache 命令使用
命令 | 說明 |
---|---|
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 # 發行版升級(如,從10.10到11.04)123
- 安裝或重灌類操作:
apt-get install <pkg> # 安裝軟體包<pkg>,多個軟體包用空格隔開
apt-get install --reinstall <pkg> # 重新安裝軟體包<pkg>
apt-get install -f <pkg> # 修復安裝(破損的依賴關係)軟體包<pkg> 123
- 解除安裝類操作:
apt-get remove <pkg> # 刪除軟體包<pkg>(不包括配置檔案)
apt-get purge <pkg> # 刪除軟體包<pkg>(包括配置檔案) 12
- 下載清除類操作:
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> # 使用關鍵字pkg搜尋軟體包
apt-cache show <pkg_name> # 顯示軟體包pkg_name的詳細資訊
apt-cache depends <pkg> # 檢視pkg所依賴的軟體包
apt-cache rdepends <pkg> # 檢視pkg被那些軟體包所依賴
下載指定安裝包依賴
- apt-get下載包及所有依賴
#!/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