Intereting Posts

百胜:列出并删除所有的devel包

Devel包通常包含头文件或编译应用程序所需的其他东西。

为了保持系统的干净和易于pipe理,我正在寻找一个命令来列出yum安装的所有 -devel packages (也是rpm,没有后缀)。

我通常使用yum list installed并手动收集devel的。

作为一般规则,您是否build议在编译后删除它们?

我想你的关于开发包移除的问题有两个部分的答案。 第一部分是根据其他人的build议删除-devel包。 这将删除httpd-devel等应用程序的开发接口。

第二部分是基础开发的core development包,大部分需要从源代码安装程序。 RHEL将这些软件包分在Development tools 。 你可以删除这些包使用 –

  yum groupremove "Development tools" 

就个人而言,我不会像SvenW提到的那样在生产服务器上安装任何开发包。 因此,我将从一个干净的基础安装开始,不需要任何开发包,然后根据您的要求明确安装绝对需要的。

 yum remove $(rpm -qa "*-devel") 

另外,不要在你的生产(甚至是分期)系统上进行开发。 如果你真的必须重build一个RPM,使用在chroot中build立它的mock ,并且可以在它自己之后进行清理。

基本安全tennet:不要使用黑名单(也就是寻找禁用的东西),因为太容易遗漏某些东西(直到太迟了才能发现); 使用白名单(即检查需要什么),如果你忘记了一些你会很快知道的事情。

在这种特殊情况下:列出机器上需要的软件列表,无论是为了pipe理还是为其提供的服务,并安装该软件(以及任何依赖关系)。 如果有几个select(即使用scp(1)或FTP上传新内容),看看你是否只能保留一个,并仔细select一个。 其他一切都是包袱,并有潜在的安全风险。

 yum list installed | grep '\-devel\' 

或者,因为百胜有一个cookiesselect机制:

 yum list installed '*-devel' 

这也应该为卸载工作:

 yum erase '*-devel' 

为了保持系统“干净和可pipe理”,有一个工作机器,你build立自己的包,然后安装在生产机器上。