如何将 Linux 系统(尤其是 CentOS 7)精简为我需要的部分?我并不是要求特定的命令,而是更多地要求提示我可以在哪里找到有关我拥有的软件包及其用途的更多信息。
如果我使用yum list installed
我会得到一长串软件包。我如何知道它们在我的机器上的用途是什么?我如何知道卸载它们是否不会损坏我的机器?
编辑:感谢您的回答。使用另一个 Linux 发行版并不是我想要的方式。首先我们使用的软件需要 RHEL 或 Debian,其次我们在几台不同的机器上使用 CentOS,所以我想继续使用 CentOS 7。
感谢 nmks 的yum info <package>
命令,它很有帮助。
PS:我看到了这个:如何剥离 Linux 系统,但我的问题有点转向另一个方向。
答案1
如果您安装最小系统,那么这应该是最小的,没有额外的软件包。
否则,您可以尝试从头开始构建自己的 Linux,并了解哪些软件包是必需的,哪些不是。
答案2
为什么不使用 puppy Linux 来代替呢?它是 Linux 版本,可让您根据要求自定义构建 Linux
http://puppylinux.org/main/Overview%20and%20Getting%20Started.htm
什么是小狗 Linux?
Puppy Linux 是一个计算机操作系统。其他著名的操作系统有 Microsoft Windows、Apple OSX 和 MS-DOS。 Puppy Linux 基于 GNU/Linux。它是完全免费的开源软件。小狗有何不同?
Small size, ~100MB! This lends itself to some very useful and unique features.
'Live' booting from CDs, DVDs, USB flash drives, and other portable media.
Runs from RAM, making it unusually fast even in old PCs and in netbooks with solid state storage media.
Very low minimum system requirements.
Boot time is well under a minute, 30-40 seconds in most systems.
Includes a wide range of applications: wordprocessors, spreadsheets, internet browsers, games, image editors and many utilities. Extra software in the form of dotpets. There is a GUI Puppy Software Installer included.
Puppy is easy to use and little technical knowledge is assumed. Most hardware is automatically detected.
答案3
新的最小安装
如果可能,仅安装最小安装并从那里开始。也许切换到不同的发行版,针对较小的规模进行优化,只做一件事等等。
逐个删除包
否则(不幸的是非常乏味):
- 用于
yum info <package>
获取有关软件包的大量信息。 - 使用信息来自如何剥离Linux系统?查找未使用的程序。
- 删除不需要的包。
yum grouplist
并且yum groupremove <yumgroup>
可能会让这变得更容易/更快。
答案4
!接受的答案没有提供OP所要求的信息。
这似乎是这样做的:
不,不要构建自己的内核!这100%不是你想要搞乱、浪费时间并在事后维护的方法。
是的,Centos 最小化根本不是最小化,特别是如果您计划部署虚拟机。它为虚拟环境中永远不存在的设备安装了许多不必要的东西和驱动程序。那么为什么要保留它们并损失磁盘空间和系统性能呢?
这是一个讨论使用 kickstart 从 Centos 中删除许多默认不必要的软件包的主题:
https://www.centos.org/forums/viewtopic.php?t=47262
这看起来像是创建最低限度的 centos 虚拟机的完整演练: http://irq5.io/2014/08/24/creating-minimal- throw-away-centos-6-vms/
看看这是否有帮助。我一直在寻找相同的答案