Gentoo Linux系统清理

简介: 默认情况下,源文件存储在 /usr/portage/distfiles 目录下, 二进制包存储在 /usr/portage/packages 目录下;可以通过修改 /etc/portage/make.conf 中的 DISTDIR 和 PKGDIR 变量更改对应的存储位置。如果不定期清理,这两个目录可能会悄然无声地变得非常巨大;这就是创建eclean的原因。

Gentoo Linux系统清理

一、 清除源码包文件

清除已经下载的软件包,步骤如下 :

在这一步中,所使用的工具是rm命令,将会强制删除。

使用前,请仔细检查所要删除的目录是否正确,

防止意外删除系统文件,可能导致系统无法使用。

  • 如果仅删除过期的源码包,可使用以下命令:
root # rm -rf /usr/portage/distfiles/*
  • 如果要清除emerge过程中产生的临时文件,可以使用以下命令:
root # rm -rf /var/tmp/portage/*

二、 清理仓库源文件和二进制包

在这一步中,所使用的工具为eclean

eclean 是一个清理仓库源文件和二进制包的工具。

app-portage/gentoolkit 包的一部分,并由 Portage-Tools 项目维护。

附注:

关于 app-portage/gentoolkit 包中其他工具的信息请参看 Gentoolkit article

默认情况下,源文件存储在 /usr/portage/distfiles 目录下, 二进制包存储在 /usr/portage/packages 目录下;

可以通过修改 /etc/portage/make.conf 中的 DISTDIRPKGDIR 变量更改对应的存储位置。

如果不定期清理,这两个目录可能会悄然无声地变得非常巨大;

这就是创建eclean的原因。

使用 eclean --help 来查看全部的命令简介、参数列表和使用介绍:

user $ eclean --help
Usage:
 eclean [global-option] ... <action> [action-option] ...
 eclean-dist [global-option, distfiles-option] ...
 eclean-pkg [global-option, packages-option] ...
 eclean(-dist,-pkg) [--help, --version]
Available global options:
 -C, --nocolor             - turn off colors on output
 -d, --deep                - only keep the minimum for a reinstallation
 -e, --exclude-file=<path> - path to the exclusion file
 -i, --interactive         - ask confirmation before deletions
 -n, --package-names       - protect all versions (when --deep
 -p, --pretend             - only display what would be cleaned
 -q, --quiet               - be as quiet as possible
 -t, --time-limit=<time>   - don't delete files modified since <time>
   <time> is a duration: "1y" is "one year", "2w" is "two weeks", etc.
   Units are: y (years), m (months), w (weeks), d (days) and h (hours).
 -h, --help                - display the help screen
 -V, --version             - display version info
Available actions:
 packages     - clean outdated binary packages from PKGDIR
 distfiles    - clean outdated packages sources files from DISTDIR
Available options for the packages action:
 NONE  :)
Available options for the distfiles action:
 -f, --fetch-restricted   - protect fetch-restricted files (when --deep)
 -s, --size-limit=<size>  - don't delete distfiles bigger than <size>
   <size> is a size specification: "10M" is "ten megabytes", "200K" is
   "two hundreds kilobytes", etc.  Units are: G, M, K and B.
More detailed instruction can be found in `man eclean`

清理 源文件

通过 distfiles 参数清理源文件存放目录:

root # eclean distfiles

或者使用更简短的命令:

root # eclean-dist

清理二进制文件

使用下面的命令清理二进制包:

root # eclean packages

或者使用更简短的命令:

root # eclean-pkg

默认情况下,当前存储库中的任何ebuild相对应的源文件和二进制包都不会被删除。

这样,只要程序包仍在当前存储库树中,系统管理员就可以轻松地降级程序包或安装以前删除的程序包。

举个例子,比如包 foo-1.0foo-1.1 都在存储库中。

在从 foo-1.0 升级到 foo-1.1 之后,运行 elcean distfiles,两个版本的源文件依然被保留,因此如果 foo-1.1 出现问题,用户可以很方便的重新安装 foo-1.0,而不必重新下载。

另一个可能的情况是安装之前删除的包。

假设系统安装了 foo 包(任一版本)。

在(不经意地)删除了这个包并运行了 eclean disfiles 之后,foo 的源文件依然被保留,可以重新安装而无需再次下载。

对二进制包同样的例子也一样适用。

  • 为节省更多磁盘空间,请添加--deep选项:
  • 这将删除与某些当前安装的软件包(版本无关紧要)不对应的每个源文件或二进制软件包。

注意:

这种方式当用户需要降级安装某个包或者重新安装之前删除的包的时候都必须重新下载。

  • 一个替代方案是,同时使用 --deep--package-names 选项:
  • 对于某些非当前安装的包(不管版本号是什么)的每个源文件或者二进制包都会被删除。

注意:

这种方式当用户需重新安装之前删除的包的时候都必须重新下载,

但是要降级安装某个包则不需要。


参考文献:

相关文章
|
2天前
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
|
2天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
2天前
|
Linux 网络安全 虚拟化
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
|
2天前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
2天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
2天前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
2天前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
2天前
|
Linux 调度
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
|
2天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
2天前
|
Linux 开发者
Linux底层驱动社区饮水机系统详解
在Linux驱动开发中,入门时通常会关注驱动程序的三大核心步骤:入口函数、出口函数和声明许可证。这些步骤构成了驱动程序的基本结构,是驱动与内核交互的基础。下面是对这三个步骤的简要说明: