我们刚刚启动了我们的新服务器,并且我们正在所有这些服务器上运行 CentOS。成功安装 Ruby Enterprise Edition 后,我现在想添加 REE /bin(位于/usr/lib/ruby-enterprise/bin)目录,使其成为服务器上的默认 Ruby 解释器。
我尝试了以下操作,它只会将其添加到当前的 shell 会话中:
export PATH=/usr/lib/ruby-enterprise/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
为所有用户永久添加此目录的正确方法是什么?我目前以.$PATHroot
我们将在新服务器上运行 CentOS 7。我们在服务器内部的 raid6 中有 6 个 300GB 驱动器。(存储主要以 40TB RAID 盒的形式在外部存储。)如果格式化为单个卷,则内部卷大约为 1.3TB。我们的系统管理员认为将操作系统安装在一个 1.3TB 的大分区上是一个非常糟糕的主意。
我是生物学家。我们不断安装新软件来运行和测试,其中大部分都在 /usr/local 中。然而,因为我们有大约 12 位不精通计算机的生物学家在使用该系统,所以我们也在 /home 中收集了很多数据。我们的最后一个服务器有一个 200GB 的 / 分区,2.5 年后它已满 90%。我不希望这种情况再次发生,但我也不想违背专家的建议!
我们如何才能最好地使用 1.3TB 可用空间来确保空间在需要的时间和地点可用,但又不会为系统管理员带来维护噩梦?
我的/var/log/btmp文件大小为 1.3 GB。我读过该文件是“用于存储有关登录失败的信息”。
这对我的服务器意味着什么?我可以删除这个文件吗?
我知道我有现有的组和用户,但我不确定他们的关联。是否有可用于列出所有用户或所有组的 shell 命令和用于列出指定用户/组的所有组/用户的命令?
因此,类似showusers会列出所有用户,并showgroups -u thisuser显示其中的所有组thisuser。
管理员通过个人用户名登录服务器,然后运行sudo -i成为 root ,这是公司的政策。运行时sudo -i,sudo 将创建一个名为 的环境变量SUDO_USER,其中包含原始用户的用户名。
有没有办法使用类似于以下语法的内容在 syslog 中记录所有命令:
${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD}
Run Code Online (Sandbox Code Playgroud)
一个示例条目是:
Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg
Run Code Online (Sandbox Code Playgroud)
显然它不必完全是上述语法,它只需要包含最少的真实用户(例如 root)、sudo 用户(例如 ksoviero)和运行的完整命令(例如 yum安装随机包)。
我已经试过了snoopy,但它不包括SUDO_USER变量。
我有一个带有 320GB ext4 分区的 400GB 磁盘。我想扩大 ext4 分区以使用左侧空间(80GB 的可用空间)。
+--------------------------------+--------+
| ext4 | Free |
+--------------------------------+--------+
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我见过有人在使用,resize2fs但我不明白它是否会调整分区大小。
另一种解决方案是使用fdisk但我不想删除我的分区和松散的数据。如何在不丢失任何文件的情况下简单地扩展分区?
注意:我说的是一个没有 LVM 的未挂载的数据分区,我有备份,但我想避免花一些时间在恢复上。
我想在 CentOS 7.1 服务器上使用命令打开4567IP 地址的端口。1.2.3.4firewall-cmd
我怎样才能做到这一点,因为我能找到的文档太具体了?
问题:服务器重启后 iptables 重置为默认设置。
我正在尝试设置这样的规则:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
之后我做:
service iptables save
它写回这样的东西
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
在这之后我就跑了(这已经完成了一次):
chkconfig iptables on (我已经读到必须这样做才能在重新启动后恢复设置)
之后,我重新启动并运行此命令:
systemctl list-unit-files | grep iptables
我看到 iptables.service 已启用,但是,规则(打开端口 3000)不再起作用。
如何保留这些设置?
“我们可以将现有的生产 EL5 服务器升级到 EL6 吗?”
来自环境完全不同的两个客户的一个听起来简单的请求促使我通常的最佳实践回答“是的,但它需要协调重建您的所有系统”......
两位客户都认为,出于停机时间和资源原因,完全重建他们的系统是不可接受的选择... ……”
我不是要引出关于配置管理的回应(“Puppetize一切”并不总是适用)或客户应该如何更好地计划。这是环境在生产能力中不断发展壮大的一个真实示例,但没有看到迁移到其操作系统下一个版本的干净路径。
环境 A:
非营利组织,拥有40 个 Red Hat Enterprise Linux 5.4 和 5.5 Web、数据库服务器和邮件服务器,运行 Java Web 应用程序堆栈、软件负载平衡器和 Postgres 数据库。所有系统都在不同位置的两个 VMWare vSphere 集群上进行虚拟化,每个集群都具有 HA、DRS 等。
环境 B:
高频金融交易公司,在多个托管设施中配备200 x CentOS 5.x系统,运行生产交易业务,支持内部开发和后台功能。交易服务器在裸机商品服务器硬件上运行。他们有许多sysctl.conf,rtctl,中断到位约束力和驱动程序的调整,以降低消息传送等待时间。有些具有自定义和/或实时内核。开发人员工作站也运行类似版本的 CentOS。
在这两种情况下,环境都按原样运行良好。升级的愿望来自对 EL6 中可用的更新应用程序或功能的需求。
两者都不能在不彻底改变操作系统的情况下轻松打包或更新。
作为系统工程师,我很欣赏红帽建议在主要版本之间移动时进行完全重建。一个干净的开始迫使你重构并在此过程中注意配置。
对客户的业务需求很敏感,我想知道为什么这需要如此繁重的任务。RPM 打包系统不仅能够处理就地升级,但它是让您/boot受益的小细节:需要更多空间、新的默认文件系统、RPM 可能会在升级过程中中断、已弃用和已失效的软件包......
这里的答案是什么?其他发行版(基于 .deb、Arch 和 Gentoo)似乎具有这种能力或更好的途径。假设我们找到了以正确方式完成此任务的停机时间:
我正在尝试测试是否可以通过 UDP 访问远程服务器(我都可以访问)上的特定端口。
两台服务器都面向互联网。我正在使用 netcat 来监听某个端口。
然后我使用 nmap 检查该端口以查看它是否打开,但它似乎没有。
iptables 已关闭。
任何建议为什么会这样?我最终要设置一个 VPN 隧道,但是因为我对隧道很陌生,所以我想确保在推进之前我在端口 UDP 1194 上有连接。