E.3. 小空间

E.3.1. 简介

有多种不同的技术可以获得更多磁盘空间,例如空间共享、释放未使用的或冗余的空间、文件系统调优和压缩。注意:其中一些技术使用内存而不是磁盘空间。正如您将看到的,需要许多小步骤才能释放一些空间。

E.3.2. 技术

  1. 剥离:虽然现在许多发行版都带有剥离后的二进制文件,但检查一下仍然很有用。有关详细信息,请参阅 man strip。要查找每个未剥离的文件,您可以使用 file 命令,或者更方便的工具 findstrip。注意:不要剥离库文件,有时由于不良的编程技术,会删除错误的符号。或者使用 --strip-unneeded 选项。

  2. 穿孔:zum(1) 从 stdin 读取文件列表并尝试穿孔这些文件。穿孔意味着,一系列空字节被 lseek 替换,从而使文件系统有机会不为这些字节分配实际的磁盘空间。示例:find . -type f | xargs zum

  3. 删除异常文件和重复文件:检查您的系统是否存在 core 文件、Emacs 恢复文件 <#FILE#>、vi 恢复文件 <FILE>.swp、RPM 恢复文件 <FILE>.rpmorig 和 patch 恢复文件。查找重复文件,您可以尝试 finddup。选择一个系统来命名您的备份文件、临时文件和测试文件,例如在末尾添加签名。

  4. 清理临时文件:,例如/tmp,甚至有一个工具 tmpwatch

  5. 缩短日志文件:通常是以下目录中的文件/var/log。您可以使用 logrotate 来完成此任务。

  6. 删除文件:删除在所有情况下都不是“必需”的文件,例如 man 手册、文档/usr/doc和源代码,例如/usr/src .

  7. 不必要的库:您可以使用 binstats 包来查找未使用的库(感谢 Tom Ed White)。

  8. 文件系统:选择一个经济地处理磁盘空间的文件系统,例如 rsfs。调优您的文件系统,例如 tune2fs。选择合适的分区和块大小。

  9. 减小内核大小:可以通过仅使用必要的内核功能和/或制作压缩内核镜像 bzImage 来实现。

  10. 压缩:我没有检查过这一点,但据我所知,您可以使用 gzip 压缩您的文件系统并在运行时解压缩它。或者,您可以选择仅压缩某些文件。您甚至可以使用 zexec 执行压缩文件

  11. 压缩文件系统:- 对于 e2fs 文件系统,有一个压缩版本可用 e2compr

    - DMSDOS 使您的机器能够访问 Windows95 压缩驱动器(drivespace, doublestacker)。如果您不需要 DOS/Windows95 兼容性,即如果您只想压缩 Linux 数据,程序作者强烈不建议这样做。

  12. 分区共享:您可以共享交换空间(参见 Swap-Space-HOWTO)或不同操作系统之间的数据分区(参见 mount)。对于挂载 MS-DOS Windows95 压缩驱动器(doublespace, drivespace),您可以使用 dmsdos dosfs/

  13. 库:使用另一个(较旧的)库,例如 libc5,这个库似乎比 libc6 (也称为 glibc2)小。

  14. 内核:如果您的需求可以使用较旧的内核版本来满足,则可以节省一些空间。

  15. GUI:尽可能避免使用图形用户界面 (GUI)。

  16. 微型发行版:有一些发行版可用,它们可以安装在从 3.5 英寸软盘到 10MB 磁盘空间,并且也适用于小内存。请参阅 附录 A 附录 D 及以下内容。

  17. 外部存储设备(硬盘、ZIP 驱动器、NFS、SAMBA):由于许多笔记本电脑的扩展性可能有限,因此使用并行端口是一个有吸引力的选择。有外部硬盘和 ZIP 驱动器可用。通常它们也可以通过 PCMCIA 连接。另一种方法是使用另一台机器的资源,通过 NFS 或 SAMBA 等。

  18. 清除不需要的语言环境:Debian 的 localepurge 只是一个简单的脚本,用于回收浪费在不需要的语言环境文件和本地化 man 手册上的磁盘空间。根据您的安装情况,可以节省大约 200、300 甚至更多兆字节的磁盘空间,这些空间通常用于您可能永远不会使用的语言环境。