删除更新缓存

删除更新缓存

如何清除sudo apt-get update第一次运行时(选择下载服务器后)创建的更新和软件列表(来自 ubuntu 下载服务器)?

我不想删除下载的 .deb 文件,只想删除由 创建的更新缓存sudo apt-get update

答案1

  • 下载的软件包列表位于:

    /var/lib/apt/lists/
    

    参考: Debian 管理员手册 - apt-cache 命令

  • 您可以使用命令轻松获得strace

    strace -e trace=open apt-get update
    

    含义:跟踪文件open系统调用apt-get update

  • strace——跟踪系统调用和信号

    斯特拉斯是一款实用的诊断、指导和调试工具。系统管理员、诊断人员和故障排除人员会发现它对于解决无法轻松获取源代码的程序问题非常有用,因为无需重新编译即可跟踪这些问题。

    学生、黑客和好奇心过强的人会发现,即使是通过运行普通程序,也可以了解很多有关系统及其系统调用的信息。程序员会发现,由于系统调用和信号是发生在用户/内核接口的事件,因此仔细检查此边界对于错误隔离、健全性检查和尝试捕获竞争条件非常有用。

    用法:strace [trace_options] command [args]

    所以:

    1. apt-get update是用于更新/下载包列表的常规命令。
    2. strace将运行apt-get update并跟踪其系统调用。
    3. -e trace=open使用默认选项的 strace 将记录所有系统调用。但我们不需要这样做。因此使用此选项,strace 将仅跟踪文件打开调用/操作。

    参考:man strace

    输出样例:

    strace -e trace=open apt-get update > /dev/null

    open("/tmp/fileutl.message.WrgKYY", O_RDWR|O_CREAT|O_EXCL, 0600) = 17
    open("/var/lib/apt/lists/extras.ubuntu.com_ubuntu_dists_trusty_Release", O_RDONLY) = 19
    open("/var/lib/apt/lists/extras.ubuntu.com_ubuntu_dists_trusty_Release", O_RDONLY) = 17
    open("/tmp/fileutl.message.TrxfHl", O_RDWR|O_CREAT|O_EXCL, 0600) = 17
    open("/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_Release", O_RDONLY) = 19
    open("/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_Release", O_RDONLY) = 17
    open("/tmp/fileutl.message.gaI8CI", O_RDWR|O_CREAT|O_EXCL, 0600) = 17
    open("/var/lib/apt/lists/dl.google.com_linux_talkplugin_deb_dists_stable_Release", O_RDONLY) = 19
    open("/var/lib/apt/lists/dl.google.com_linux_talkplugin_deb_dists_stable_Release", O_RDONLY) = 17
    open("/tmp/fileutl.message.fcWaM5", O_RDWR|O_CREAT|O_EXCL, 0600) = 17
    open("/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_Release", O_RDONLY) = 19
    open("/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_Release", O_RDONLY) = 17
    

相关内容