apt-get基本命令
常用命令
命令 | 含义 |
---|---|
apt-cache search package | 搜索包 |
apt-cache show package | 获取包的相关信息,如说明、大小、版本等 |
apt-cache depends package | 了解使用依赖 |
apt-cache rdepends package | 查看该包被哪些包依赖 |
sudo apt-get install package | 安装包 |
sudo APT-get install package –reinstall | 重新安装包 |
sudo apt-get -f install | 修复安装 -f = –fix-missing |
sudo apt-get remove package | 删除包 |
sudo apt-get remove package –purge | 删除包,包括删除配置文件 |
sudo apt-get update | 更新源 |
sudo apt-get upgrade | 更新已安装的包 |
sudo apt-get dist-upgrade | 升级系统 |
sudo apt-get dselect-upgrade | 使用dselect升级 |
sudo apt-get build-dep package | 安装相关的编译环境 |
apt-get sourcepackage | 下载该包的源代码 |
sudo apt-get clean && sudo apt-get autoclean | 清理无用的包 |
apt-key add filename | 增加软件包的公钥信息,如果filename为“-”,则从标准输入中导入公钥信息 |
apt-key del keyid | 从可信公钥中移除指定keyid的公钥 |
apt-key list | 方法查看已有公钥信息,/etc/apt/sources.list 存储软件源二进制包更新地址 |
apt仓库增加新的软件包
$wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
$sudo echo "deb http://packages.elasticsearch.org/elasticsearch/1.1/debian stable main" >> /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install elasticsearch
系统和和软件更新
// 优先更新仓库源
# apt-get update
# apt-get upgrade
更新指定软件版本
// 已安装python2,想升级到python3
# apt-get update
# apt-get install python3
卸载指定软件
// 删除python3 软件包,不包括配置文件
# apt-get remove python3
// 删除python3 软件包,包括配置文件
# apt-get purge python3
// 删除python3 软件包和其依赖软件包
# apt-get autoremove python3
// 删除python3 软件包和其依赖软件包、配置文件
# apt-get --purge autoremove python3
重装指定软件
// 重装指定软件,这里重装桌面
# apt-get --reinstall install ubuntu-desktop
在软件仓库中检索某软件
// 在apt仓库中检索python3
# apt-cache search python3
Ubuntu使用apt-get时常见错误
apt-get “Reading package lists… Error!”
/*
解决方法:
更新源,再重新执行apt-get命令
*/
$ sudo apt-get update
“The volume “boot” has only 0 bytes disk space remaining” error
/*
解决方法:
使用 apt-get autoremove 命令清理无用的安装依赖
*/
// 清理前,boot使用率达到%96
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 474M 0 474M 0% /dev
tmpfs 99M 6.3M 93M 7% /run
/dev/sda3 18G 7.5G 9.3G 45% /
tmpfs 492M 212K 492M 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 180M 159M 8.3M 96% /boot
tmpfs 99M 64K 99M 1% /run/user/1000
$ sudo apt-get update
$ sudo apt-get autoremove
// 清理过之后,boot使用率降到了61%
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 474M 0 474M 0% /dev
tmpfs 99M 6.3M 93M 7% /run
/dev/sda3 18G 7.2G 9.5G 44% /
tmpfs 492M 212K 492M 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 180M 101M 67M 61% /boot
tmpfs 99M 68K 99M 1% /run/user/1000
apt-get install时安装依赖问题
如下面所示:
# apt-get install python3-pip
The following packages have unmet dependencies:
python3-pip : Depends: python3-setuptools but it is not going to be installed
Recommends: build-essential but it is not going to be installed
Recommends: python3-dev (>= 3.2) but it is not going to be installed
解决方案1:
// 更新源,如果不行,多更新几次试试重新安装
# apt-get update
解决方案2:
// 安装aptitude工具,实现依赖自动安装,依赖版本自动降级或升级
# apt-get install aptitude
# aptitude install python3-pip
使用apt-get安装软件包时中途杀死进行后出错
// 清除 /var/cache/apt/archive目录下缓存的deb文件
# apt-get clean
// 删除/var/cache/apt/archive/lock文件和/var/lib/dpkg/lock文件
# rm /var/cache/apt/archive/lock
# rm /var/lib/dpkg/lock
// 删除未完成安装的软件包和配置文件
# dpkg --remove --force-all 软件包名
# dpkg --force-remove-reinstreq 软件包名
apt是一个高层的管理工具,负责deb包源的管理,可以进行安装卸载软件包,其低层调用了dpkg负责deb包的安装卸载。其中deb在整个安装过程中有很多个状态 not-installed, half-installed, installed 等等,具体可查阅dpkg信息。因此deb安装的整个过程被详细的记录在apt或dpkg的状态文件中,所以,遇到安装问题时首先使用apt管理工具处理源相关问题或者deb包下载、安装和卸载问题,当遇到关于dpkg相关问题时优先查阅dpkg文档进行解决。
很多时候,网上检索相似问题可以得到答案,如果没有头绪,可以查阅命令的帮助文件,一般都可以解决。