apt用法详解
1. 常规操作
-
更新仓库
sudo apt-get update -
升级所有已安装的包
sudo apt-get upgrade -
更新特定的包
sudo apt-get install filezilla --only-upgrade -
卸载包
sudo apt-get remove skype -
上面的命令只会删除skype包,如果你想要删除它的配置文件,在apt-get命令中使用“purge”选项:
sudo apt-get purge skype -
我们可以结合使用上面的两个命令:
sudo apt-get remove --purge skype -
在当前的目录中下载包
sudo apt-get download icinga -
清理本地包占用的磁盘空间
sudo apt-get clean -
我们也可以使用“autoclean”选项来代替“clean”,两者之间主要的区别是
autoclean清理不再使用且没用的下载:
sudo apt-get autoclean -
autoremove:删除为了满足依赖而安装且现在没用的包
sudo apt-get autoremove icinga -
展示包的更新日志
sudo apt-get changelog apache2 -
显示损坏的依赖关系
sudo apt-get check
2. update & upgrade
apt update:将远程软件库和本地软件库做对比,检查哪些软件可以更新,以及软件包依赖关系,给出一个分析报告。只检查不更新。
apt upgrade:在执行upgrade 之前要先执行update ,根据update的分析报告去下载并更新软件。在以下几种情况,某个待升级的软件包不会被升级。
- 新软件包和系统的某个软件包有冲突
- 新软件包有新的依赖,但系统不满足依赖
- 安装新软件包时,要求先移除旧的软件包
apt dist-upgrade:在执行dist-upgrade 之前也要先执行update ,dist-upgrade 包含upgrade,同时增添了以下功能:
- 可以智能处理新软件包的依赖
- 智能冲突解决系统
- 安装新软件包时,可以移除旧软件包,但不是所有软件都可以。
apt full-upgrade:在执行full-upgrade 之前也要先执行update ,升级整个系统,必要时可以移除旧软件包。
3. apt-cache
-
列出所有可用包
apt-cache pkgnames -
用关键字搜索包
apt-cache search "web server" -
如果你安装了“apt-file”包,我们就可以用配置文件搜索包:
apt-file search nagios.cfg -
显示特定包的基本信息
apt-cache show postfix -
列出包的依赖
apt-cache depends postfix -
显示缓存统计
apt-cache stats
4. 配置apt-get的缓存路径
man apt.conf
在文档发现了这么一句:
In general the sample configuration file in /usr/share/doc/apt/examples/apt.conf /usr/share/doc/apt/examples/configure-index.gz is a good guide for how it should look.
然后在 /usr/share/doc/apt/examples/configure-index.gz 中找到了如下内容:
...
// Directory layout
Dir "/"
{
...
// Location of the cache dir
Cache "var/cache/apt/" {
Archives "archives/";
// backup directory created by /etc/cron.daily/apt
...
同时,注意到了“// backup directory created by /etc/cron.daily/apt”这句注释,打开 /etc/cron.daily/apt 看看,发现其中含有 var/cache/apt 这个apt-get的默认缓存路径,于是编辑 /etc/cron.daily/apt ,替换此默认路径为自定义路径即可。
5. dpkg
dpkg -i --instdir=/dest/dir/path some.deb

浙公网安备 33010602011771号