Articles of redhat

JAVA_HOME对CentOS有什么价值?

我已经在CentOS上通过yum安装了java,但另一个java程序需要知道JAVA_HOME环境variables是什么。 我知道所有关于设置环境variables,但我该怎么设置? java安装在/usr/bin/java ,它不能在那里!

linux服务需要chkconfig支持什么?

我试图添加到自动启动在启动时通过一个Linux服务 chkconfig -add <servicename> 我得到一个消息说 service <servicename> does not support chkconfig 我正在使用红帽企业4.我试图在启动时添加到自动启动脚本如下: #!/bin/sh soffice_start() { if [ -x /opt/openoffice.org2.4/program/soffice ]; then echo "Starting Open Office as a Service" #echo " soffice -headless -accept=socket,port=8100;urp;StarOffice.ServiceManager -nofirststartwizard" /opt/openoffice.org2.4/program/soffice -headless -accept="socket,host=0.0.0.0,port=8100;urp;StarOffice.ServiceManager" -nofirststartwizard & else echo "Error: Could not find the soffice program. Cannot Start SOffice." fi } soffice_stop() { […]

pipe理员如何在数百台Linux服务器上维护用户帐户?

如何处理数百个RHEL服务器,我们如何维护本地root帐户和networking用户帐户? 是否有一个主动目录types的解决scheme,从一个中央位置pipe理这些?

“rebo​​ot”或“shutdown -r now”:什么重启命令更安全?

我们有约500台RedHat Linux机器。 在所有机器上,我们在/etc/init.d和oracle RAC服务器上安装了应用程序和服务。 我们打算在所有机器上执行yum更新,之后重新启动。 所以我想知道什么命令更安全: reboot 要么 shutdown -r now

为什么我的XFS文件系统突然消耗更多的空间和稀疏文件?

我已经将XFS文件系统作为数据/增长分区在各种Linux服务器上运行了近10年。 最近CentOS / RHEL服务器运行的版本是6.2+,我注意到了一个奇怪的现象。 随着从EL6.0和EL6.1迁移到较新的操作系统版本,稳定的文件系统使用变得高度可变。 最初与EL6.2 +一起安装的系统performance出相同的行为; 在XFS分区上显示磁盘利用率的大幅波动(请参阅下图中的蓝线)。 之前和之后。 星期六从6.1升级到6.2。 过去一个季度的同一系统的磁盘使用情况图显示了上周的波动情况。 我开始检查文件系统的大文件和失控进程(日志文件,也许?)。 我发现我最大的文件报告du和ls不同的值。 使用和不使用–apparent-size开关的du运行说明了不同之处。 # du -skh SOD0005.TXT 29G SOD0005.TXT # du -skh –apparent-size SOD0005.TXT 21G SOD0005.TXT 在整个文件系统中使用ncdu实用程序进行快速检查,结果如下: Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258 文件系统中充满了稀疏的文件 ,与之前版本的OS /内核相比,有将近70GB的空间丢失! 我通过红帽Bugzilla进行了更新,并更改了日志,以查看是否有任何有关XFS的相同行为或新通告的报告。 纳达。 在升级过程中,我从内核版本2.6.32-131.17.1.el6升级到2.6.32-220.23.1.el6 ; 次版本号没有变化。 我用filefrag工具检查了文件碎片。 一些XFS分区上最大的文件有数千个扩展盘区。 在缓慢的活动期间使用xfs_fsr -v在线碎片整理运行帮助暂时减less磁盘使用(请参见上面的第一个图表中的星期三)。 但是,尽快重新启动系统活动,使用量会大增。 这里发生了什么?

如何重新启动nginx?

对我来说,我运行“killall nginx”并启动它“sbin / nginx”,任何人都有一个更好的重启脚本? BTW:我从源安装nginx,我找不到'service nginx'命令或/etc/init.d/nginx

为什么在Red Hat和CentOS的主要版本之间升级如此困难?

“我们可以将现有的生产EL5服务器升级到EL6吗?” 来自两个完全不同环境的客户提出的一个简单的要求促使我回答“是的,但需要协调重build所有系统 ”。 这两个客户都觉得,对系统进行彻底的重build对于停机和资源的原因来说是不可接受的select。当被问及为什么有必要完全重装系统时,我没有一个好的答案,“这就是……” 我并不是想引起关于configurationpipe理的反应(“木偶一切 ” 并不总是适用 ),或者客户应该如何计划好。 这是一个现实世界的例子,在生产能力上已经发展壮大,但是没有看到转向下一个版本操作系统的干净path。 环境A: 拥有40台Red Hat Enterprise Linux 5.4和5.5 Web,数据库服务器和邮件服务器的非营利组织,运行Java Web应用程序堆栈,软件负载平衡器和Postgres数据库。 所有系统都在不同位置的两个VMWare vSphere群集上虚拟化,每个群集都有HA,DRS等。 环境B: 拥有200个CentOS 5.x系统的高频金融交易公司,在多个同地点设施中进行生产交易操作,支持内部开发和后台function。 交易服务器在裸机商品服务器硬件上运行。 他们有许多sysctl.conf , rtctl ,中断绑定和驱动程序调整,以降低邮件延迟。 一些有定制和/或实时内核。 开发者工作站也运行类似的CentOS版本。 在这两种情况下,环境运行良好。 升级的愿望来自对EL6中新的应用程序或function的需求。 对于非盈利公司来说,它与Apache,内核以及一些能够让开发者感到高兴的东西联系在一起。 在交易公司,这是关于内核,networking堆栈和GLIBC的一些增强,这将使开发人员高兴。 如果不彻底改变操作系统 ,两者都不能轻易打包或更新。 作为系统工程师,我很欣赏红帽build议在主要版本之间移动时进行完整的重build。 一个干净的开始迫使你重构并注意一路上的configuration。 对于客户的业务需求敏感,我想知道为什么这需要这么艰巨的任务 。 RPM打包系统不仅能处理就地升级,而且还有一点点细节让你: /boot需要更多的空间,新的默认文件系统,RPM可能会打破升级中,不推荐使用和不使用的软件包。 这里的答案是什么? 其他发行版(基于.deb,Arch和Gentoo)似乎具有这种能力或更好的path。 比方说,我们find了以正确的方式完成这项任务的停机时间: 当EL7发布并稳定时,这些客户应该做些什么来避免相同的问题呢? 还是这样的情况是每隔几年人们需要辞职去重build? 这似乎已经变得更糟,因为企业Linux已经演变…或者我只是想象呢? 这是否阻止了任何人使用红帽和衍生操作系统? 我想有configurationpipe理的angular度,但是我所看到的大多数Puppet安装并不能很好地转化为具有高度自定义的应用程序服务器的环境 ( 环境B可能有一个服务器,其ifconfig输出如下所示 )。 不过,我很乐意听到关于如何使用configurationpipe理来帮助组织跨越RHEL主要版本的build议。

数百个失败的sshlogin

每天晚上,我的RedHat 4服务器上都会有数百个,有时甚至是数千个sshlogin失败。 由于远程站点的防火墙原因,我需要在标准端口上运行。 有什么我应该做的,以阻止这一点。 我注意到很多来自同一个IP地址。 难道不应该在一段时间后停止?

如何处理Docker容器中的安全更新?

在将应用程序部署到服务器上时,应用程序与自身绑定的内容与从平台(操作系统和安装的包)提供的内容之间通常存在分离。 其中一点就是平台可以独立于应用程序进行更新。 例如,当需要紧急将安全更新应用于由平台提供的包而不重build整个应用程序时,这是非常有用的。 传统上,通过执行软件包pipe理器命令在操作系统上安装软件包的更新版本(例如,RHEL上的“yum update”),就可以应用安全更新。 但随着容器技术(如Docker)的出现,容器映像实际上将应用程序和平台捆绑在一起,保持容器系统最新的规范方法是什么? 主机和容器都有自己的独立套件,需要在主机上更新和更新,不会更新容器内的任何包。 随着特别推出Docker容器的RHEL 7的发布,听听Redhat推荐的处理容器安全更新的方法是很有意思的。 关于几个选项的思考: 让包pipe理器更新主机上的包不会更新容器内的包。 必须重新生成所有容器映像才能应用更新似乎会中断应用程序和平台之间的分离(更新平台需要访问生成Docker映像的应用程序构build过程)。 在每个正在运行的容器中运行手动命令看起来很麻烦,并且在下一次从应用程序发行构件更新容器时,更改有被覆盖的风险。 所以这些方法都不令人满意。

我使用的是什么版本的RHEL?

从shell和没有root权限,我怎么能确定我正在运行的红帽企业Linux版本? 理想情况下,我希望同时获得主要版本和次要版本,例如RHEL 4.0或RHEL 5.1等。