Articles of linux

如何在非默认path上的Linux或Solaris上安装软件包?

通过“默认path”,我的意思是“ /usr/local ”,或其他由根pipe理的path(“系统path”)。 我必须在几个Linux(RedHat)或Solaris(10, 本地区域 )服务器上安装许多应用程序包(我的意思是: svn , httpd , git , perl , python ,…)。 但: 这些服务器pipe理许多不同的应用程序(有时使用不同版本的svn或perl或…) 我不是这些服务器上的pipe理员(没有sudo root的我) 我尝试使用,例如在Solaris上, pkgadd -R尝试安装预编译的软件包在自定义path(即在特定用户的homedir内,而不是正常的默认path/usr/local/… ),但是说预编译的软件包都带有对/usr/…其他资源的引用: ldd /path/to/local/installed/packages将显示许多对系统path的依赖关系: ldd /home/myuser/usr/local/git libz.so => /usr/local/lib/libz.so libiconv.so.2 => /usr/local/lib/libiconv.so.2 libsocket.so.1 => /usr/local/libsocket.so.1 … 这不会,因为: 在Solaris中,我无法在/usr上写入任何内容,只能从全局区域写入,而不能从本地区域写入。 在Solaris或Linux中,我不是root,所以我不能在系统path中写任何东西。 我不pipe理这些服务器上的升级,所以如果任何库更改,它可能会打破我安装的许多服务。 为了在同一个(Linux或Solaris)服务器上以独立的方式安装不同的“服务” ,每个服务器都可能需要自己的版本(perl,python,…), 你会推荐做什么? 我在下面提出一个解决scheme,但是如果你有其他的select,我很感兴趣。

以1000个请求/秒识别静态文件服务器上的瓶颈

这是困扰了我很长一段时间,我真的希望有人能帮我。 我将保持简短:我拥有一个文件服务器(2个双核Xeon 2.0,8GB内存,132个SCSI硬盘),可以承载数千个小图像文件,4-10kb,每秒钟可以处理超过1000个请求。 我已经尝试了Apache,Nginx和Lighttpd,并发现Lighttpd是最适合这项工作的。 当Web服务器closures时,一个简单的高清基准testing表明它可以以大约170兆字节/秒的速度读取。 但是,当networking服务器打开并且服务大约30兆字节/秒时,这个非常相同的高清基准testing表明,高清可以以仅仅5兆字节/秒的速度读取,而不是140(170减去30)兆字节/秒,我会期待。 现在,即使在1000个请求/秒的时间内,CPU也能正常工作(负载低于1),并且有足够的空闲内存,这使我相信瓶颈实际上就是HD。 所以,我的问题是,为什么? 为什么当通过networking服务器提供服务时,可以读取的HD只有每秒30兆字节/秒的170兆字节/秒的瓶颈? 我的第一个猜测是,立即寻找并提供数千个文件完全杀死了HD的性能,而不是像这些基准testing一样只是一次读取/写入一个文件。 那是对的吗? 如果是这样,我该如何解决呢? 袭击? 更多HDs? 固态硬盘? 提前致谢!

在Linux中限制用户访问

我有一个任务来configuration一个RedHat Enterprise Linux 5 Gnome PC,这样一个特定的用户 – 比如说USER1的桌面访问将非常有限。 要求包括: 必须限制访问所有桌面菜单(应用程序,地点,系统)和图标(计算机,用户主页等)。 限制对大部分文件夹的shell访问权限,但限制用户自己的主文件夹。 这个用户(USER1)在他们的桌面上只应该有几个预configuration的图标/快捷方式,这就是他/她应该能够运行/双击的所有东西。 这个用户(USER1)不应该能够运行任何会影响任何文件/文件夹而不是自己的shell命令。 基本上它是所有locking的PC,对于这个特定的用户来说function非常有限。 如果另一个授权用户或者根用户login – 那么所有正常的铃声和哨声应该是正常的。 我们已经使用本地安全设置在Windows上实现了这一点,但我不知道如何在Linux中这样做。 我听说过SELinux ,并尝试使用“SELinuxpipe理工具”,但它不是很有用,或者我不知道如何正确使用它。

在Debian + Others上安装LWP Perl模块

我只是想知道如果任何人都可以告诉我你如何在debiab上安装以下perl模块: install LWP install DBI install DBD::mysql install GD 我尝试与CPAN,虽然当我跑了 perl -MCPAN -e shell install LWP 这是告诉我我缺less目标文件操作数。 任何想法?

如何处理错误:系统中打开的文件过多?

我正在运行一个cron和输出到我的id和获取下面的输出: / bin / sh:/ usr / bin / php:系统中打开的文件过多 克龙每5分钟运行一次。 已经检查/var/logs/cron和cron每5分钟执行一次。 网站在服务器上正常工作。

如何将这个iptables规则从eth1更改为eth0?

在这个 OpenVPN中,他们有这个iptables规则 iptables -A INPUT -i eth1 -p udp –dport 1194 -j ACCEPT iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A FORWARD -i eth0 -o tun+ -j ACCEPT iptables -A FORWARD -i eth1 -o tun+ -m state –state ESTABLISHED,RELATED -j ACCEPT service iptables save 这是为2个NIC的服务器。 我只有一个网卡。 这个iptables对于只有一个网卡的服务器来说看起来如何?

我无法ping通我的网关,但我可以ssh到远程服务器。 为什么?

我正在尝试configuration我的宿舍networking。 我正在Ubuntu的工作。 宿舍楼似乎有192.168.22.254网关的主机。 我的route -n看起来像这样: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.22.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 0.0.0.0 192.168.22.254 0.0.0.0 UG 100 0 0 eth0 我无法ping 192.168.22.254 。 $ ping 192.168.22.254 PING 192.168.22.254 (192.168.22.254) 56(84) bytes of data. From […]

如何从Traceroute获取最后的TTL?

使用traceroute获取最后一个TTL的最简单方法是什么? 最后一行IP或主机….

SCP不完全传输文件

我正在尝试使用SCP传输一个大的(1.5 GB)文本文件。 传输正常完成后,只传输1.4 GB。 有没有任何理由这个不完整的转移。 我在Ubuntu 10.04上

如何在Linux上同步命令调用

这是我需要解决的具体问题(但是我的问题是不同的,所以即使你不知道fail2ban是什么,也请继续阅读): 我试图在Linux服务器上使用fail2ban来禁止对多个服务(ssh,dovecot,apache,postfix等)的暴力攻击。 现在我偶然发现了fail2ban似乎同时执行多个iptables命令的问题(使用Python中的线程),而且这种情况在iptables返回“资源暂时不可用”时经常失败(特别是在启动时)。 错误。 我想通过“同步”调用iptables来解决这些问题。 我正在寻找一个程序创build一些互斥/锁文件,只有当这个文件可以创build,然后启动真正的命令,并在命令完成后,删除互斥文件。 如果互斥文件已经存在,那么程序会等待,直到互斥文件消失,然后尝试获取它。 通过这样的命令,我可以configurationfail2ban中的iptables-actions来等待对方,以免它们同时执行。 我很确定已经有了这样一个程序,所以我不必自己写这个。 但到目前为止,我还没有find它。