Articles of rhel6

SL6:非标准的主目录,错误:`login时不能chdir到主目录`,但`cd $ HOME`有效?

我有一个全新的Scientific Linux 6实例(类似于RHEL6和CentOS6),运行在Parallels上。 主目录位于非标准位置,我将称其为/ homedir 当我进入这个盒子时,我得到一个错误: laptop $ ssh 192.168.1.100 [email protected]'s password: Could not chdir to home directory /homedir/stefanl: Permission denied 但之后立即可以chdir到该目录,没有错误: [stefanl@localhost /]$ cd /homedir/stefanl [stefanl@localhost ~]$ touch foo [stefanl@localhost ~]$ ls -la total 28 drwx——. 3 stefanl wheel 4096 Sep 14 17:53 . drwxr-xr-x. 5 root root 4096 Sep 14 17:16 .. -rw——-. […]

Linux上用于RHEL / OEL NFS共享的ZFS

我正在尝试使用Linux for Oracle Linux(OLE)6.1(Red Hat RHEL 6.1兼容克隆)的ZFS。 我为Oracle Unbreakable Kernel成功编译并安装了spl和zfs 。 Zfs正在工作,我创build了镜像 zpool create -f -o ashift=12 tank mirror sdb sdc 现在我试图分享我的zfs池,如zfsonlinux站点上提到的“tank / nfs”。 zfs set sharenfs=on tank/nfs 所以我创build了tank / nfs并设置了nfs 。 现在我试图在本地主机上挂载nfs共享来testing它 mount -t nfs4 127.0.0.1:/tank/nfs /mnt 但是我得到mount.nfs4: mount system call failed 所以问题是: 如何在OLE上正确共享NFS文件夹或iSCSI卷,并通过Linux上的ZFS与Linux客户端进行挂载。 答案是mount 127.0.0.1:/tank/nfs /mnt

从RHEL 5.6迁移到6.1后,httpd性能下降

我们最近用RHEL 6.1取代了一个RHEL 5.6networking服务器。 对于这两种环境,已经使用Apache httpd的(库存)Redhat(即yum install httpd)。 服务器正在为PHP内容提供服务,并处于忙碌状态(每分钟提供大约2500 – 4000页的请求)。 两个服务器的规格在内存,存储和networking连接方面是相同的。 我们所看到的是RHEL 6.1盒子的负载平均值要高得多 – 负载平均值(有时)会超过40(所有httpd进程),导致网站的性能大幅下降。 我们监视了RHEL 5.6环境,并且平均负载不超过约5个并发httpd。 我们如何调查这个问题? 请记住,这是一个生产环境,但是我们可以通过在5.6和6.1服务器之间切换来比较“苹果与苹果”。

RHEL 6.x – yum给出“ImportError:No module named cElementTree”错误

我正在对一组150台服务器进行一系列更改。 所有系统都能够通过yum成功下载和安装一组特定的RPM,除了一个。 一个这个特定的系统,除了“干净”之外的所有yum命令将以下内容转储到屏幕上: [root@dev1v ~]# yum install sssd Loaded plugins: rhnplugin /usr/lib64/python2.6/xmlrpclib.py:612: DeprecationWarning: The xmllib module is obsolete. Use xml.sax instead. import xmllib # lazy subclassing (!) Traceback (most recent call last): File "/usr/bin/yum", line 29, in <module> yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 285, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 136, in main […]

在Amazon EC2上进行内核更新后,在RHEL 6.1上重新启动失败

每次我启动一个新的RHEL实例时,我都喜欢进行yum update ,以最新的系统开始。 但是,每次我尝试重新启动实例后,实例就再也无法启动了。 我解决了根本原因是内核更新,这里是重现问题的最小步骤: 启动一个新的RHEL 6.1实例 连接,然后运行: yum update kernel* reboot 系统停顿。 来自EC2pipe理控制台的系统日志没有什么帮助: … Please stand by while rebooting the system… md: stopping all md devices. xenbus_dev_shutdown: device/console/0: Initialising != Connected, skipping Restarting system. 没有提到内核恐慌,启动问题等,只是卡在那里。 从我可以读到的,看起来你不能使用EC2实例的默认内核。 如果这是真的,我怎么能避免意外更新内核与yum ,从而杀死我的实例,执行通用的yum update ?

如何从init.d脚本检测挂载点是否存在?

重新启动后,我使用init.d脚本从挂载的networking共享(autofs)执行应用程序。 该脚本在尝试执行命令之前等待30秒,以等待networking/挂载点处于启动状态。 在执行命令之前,我想以某种方式检测networking是否已经完全挂起,挂载是否已经确定挂载。 你有什么build议如何用这个脚本实现这个(在CentOS 6.4中)? 这是我现在所拥有的: #!/bin/bash # # chkconfig: 3 95 5 # description: My app # processname: my-app # # Sleep for 30 seconds before attempting to execute command sleep 30s # Get function from functions library . /etc/init.d/functions # Start the service my-app from autofs mount start() { echo -n "Starting my-app: […]

RHEL 6.3升级OpenSSH和Apache

我们刚刚从403Labs对一台服务器(RHEL 6.3 x86_64)进行了外部安全扫描以获得PCI合规性,结果似乎主要表明我们有一大堆需要升级才能通过扫描的应用程序。 之前说过,我遇到的问题是软件包pipe理器(yum)和remi repo的使用没有Apache和OpenSSH所需的版本。 我已经执行了以下操作: yum update yum –enablerepo=remi,remi-test install httpd mysql mysql-server php php-common 这解决了我们的关键和高风险的结果,但中等水平的结果仍然表明,我们需要进一步升级以下软件包。 我们需要的升级包括: Current Required Apache 2.2.15 to >= Apache 2.2.23 OpenSSH 5.3 to >= 5.7 所以,由于软件包pipe理员不能让我升级到这些版本,我该怎么去做呢? 我目前的前提下,我将需要从源代码安装。 如果有更好的select,请指出。 另外,如果我别无select,只能从源代码安装,有人可以帮助我确定什么是适当的源代码包,以便我知道我正在为我的操作系统安装正确的版本? 非常感谢您的帮助。

在EL6.1下,apache / httpd响应比EL5.6(CentOS)慢

我已经阅读了RHEL 6和RHEL 5之间性能差异的其他线索,但没有一个与我的匹配。 我的问题performance为每个请求的平均响应时间(20毫秒)稍慢。 我有大约10个与CentOS 6.1和CentOS 5.6相同硬件规格的服务器。 这个问题在整个团队中是一致的。 我用Passenger运行Ruby on Rails。 Apacheconfiguration是相同的(从相同的SVN回购签出) Ruby和Passenger是相同的版本。 应用程序是相同的,正在服务的交通轮循。 mod_worker 服务器状态的一个有趣线索:CentOS 6.1服务器在“阅读请求”状态下有20-40个线程,而CentOS 5.6服务器的数量在1个左右。我正在绘制这个图表,以便我可以看到这个趋势。 我也有很多更新的机器,运行速度更快,运行的是CentOS 6.1。 在响应时间,他们把所有的旧机器都掸掉了,但是我可以看到它们在“读取请求”状态下也有稳定的20-40个线程。 这让我相信如果我能弄清楚是什么阻止了这些请求,我可以缩短他们的反应时间。 我的直觉告诉我,我需要调整一些在sysctl中的networking设置,但我还没有弄明白。

在SELinux中pipe理自定义端口的最佳方式

在RHEL 6.2上,我们使用主机上的httpd作为另一台主机上的Tomcat的前端代理,并且我们还configuration了mod_status,以便在非标准端口上侦听,以向监视工具提供状态信息。 因此,我们需要httpd来1)build立networking连接,2)在非标准端口上侦听。 默认的目标策略(目前处于允许模式)只允许httpd侦听已定义的端口列表( semanage port -l | grep http_port_t ),并且不允许httpd进行出站networking连接。 aureport -a显示httpd试图绑定到自定义状态端口时,以及何时尝试连接到另一个主机上的AJP端口时的AVC拒绝。 我find了两个解决scheme,但一个似乎太宽松了,另一个太脆弱(即在政策升级时可能会中断)。 “广泛”的解决scheme 我使用audit2allow生成本地策略源,然后checkmodule编译它, semodule_package生成一个策略包, semanage开始执行它。 然后我重新启动了httpd,并确认没有生成AVC拒绝。 audit2allow生成的本地策略使用以下授权: 允许httpd_t port_t:tcp_socket {name_bind name_connect}; 它允许httpd绑定到任何端口(不只是在http_port_t中列出的端口),并连接到任何端口。 这种方法的亲是,它包含在本地政策,并不会被覆盖下一个yum update 。 意思是它给予比必要的更广泛的许可; httpd可以绑定并连接到任何端口。 “窄”解决scheme 绑定的替代方法是使用以下命令将我们的自定义端口添加到http_port_t列表中: semanage port -a -t http_port_t -p tcp(自定义端口号) 我知道我可以使用semanage port -l | grep http_port_t查看semanage port -l | grep http_port_t semanage port -l | grep […]

是否需要链路本地路由(IPv4)?

我注意到在我的路由输出RHEL6(和大多数2.6.x系列Linux),每个接口我看到在我的内核路由表中创build以下路由: 169.254.0.0 0.0.0.0 255.255.0.0 U 1018 0 0 bond0 169.254.0.0 0.0.0.0 255.255.0.0 U 1019 0 0 bond1 169.254.0.0 0.0.0.0 255.255.0.0 U 1020 0 0 bond2 我的理解是,当自动地址configuration失败时(当dhcp中断时)使用链路本地地址。 当DHCP失败时,系统将自己分配一个可用的链路本地地址(或多或less)。 在你的家伙的经验,这些是必要的吗? 我在networking中使用手动/静态IP分配,所以没有自动地址configuration。 因此,自动地址configuration不会失败。 我可以安全地移除这些路线吗? 还是有其他的黑客/理由,我应该让这些家伙? 迭戈