Questions tagged «linux»

Linux是基于Linux内核的类UNIX开源操作系统的通用术语。

1
永远使用netcat代理
我正在用netcat代理VNC TCP服务器端口。代理计算机运行linux。 这是我使用的命令: mkfifo backpipe nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe 10.1.1.116是“远程”计算机,原始VNC服务在端口5902上运行。执行此命令后,本地计算机上的VNC服务可用于其他计算机。 但是在每个VNC会话之后,netcat“代理服务器”都会停止,这就是netcat的工作方式。 VNC会话终止后,如何使netcat保持“代理服务”运行? 解决方法是将netcat命令行置于无限循环中: mkfifo backpipe while true; do nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe; done 但是我更喜欢一个“官方的” netcat解决方案,它根本不会中断服务。 我已经阅读了有关“-”参数的信息,但是不确定是否适合这种情况,并且我还无法正确应用它。 附加说明: 当然,我可以通过ssh隧道以不同的方式来做到这一点,但是我想要一个没有加密开销的解决方案,以使其对VNC客户端尽可能地敏感。否则,可以使用其他代理解决方案。 客户端必须是VNC,不可能有其他协议。
16 linux  proxy  tcp  service  netcat 

3
是否有Linux内核引导参数来配置IPv6地址?
我知道有一个名为的参数ip,您可以通过引导加载程序在Linux内核上配置IPv4地址。如下所示: ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none 我正在寻找IPv6配置的相同参数。我在内核文档中找不到关于此的任何信息。 更新:因为很多人问我为什么需要这样做:使用内核配置的想法与这个问题有关。我怀疑常规的启动接口配置尚未完成,因为接口已经启动。原因可能是因为我正在使用带有Dropbear SSH服务器的预启动环境,以允许我解锁加密的根分区。通过GRUB使用该ip=参数配置此环境的IP地址。该以太网段上没有可用的DHCP或路由器广告,并且由于这是大型托管公司提供的上行链路段,因此无法更改这一事实。

8
将Powershell脚本与非Windows工作流程集成的方法?
我喜欢早晨新机器的气味。 我正在自动化一个机器创建工作流程,该工作流程涉及整个基础架构中的多个独立系统,其中一些系统涉及Solaris主机上15年之久的perl脚本,PXE引导Linux系统以及Windows Server 2008上的Powershell。 我可以编写各个部分的脚本,并且将Linux和Unix自动化集成在一起非常简单,但是我对如何可靠地将Powershell脚本与其余过程结合在一起感到困惑。 我希望该过程是在Linux主机上开始的,因为我以为它会以驻留在Apache服务器上的Web应用程序的形式结束,但是如果它需要在Windows上开始,那么我很犹豫。 理想情况下,我希望psexec可以使Linux在Windows上运行,但是Cygwin似乎在朝着这个方向做出了回答,尽管我很欣赏他们付出的所有辛勤劳动,但从来没有感觉到这种错误,如果你明白我的意思。它非常适合台式机并提供许多功能,但是我觉得Windows服务器应被视为Windows服务器,而不是混混的Unix计算机(顺便说一句,我也反对OSX服务器,它们实际上是 Unix) 。无论如何,除非这是最后一个也是唯一的选择,否则我不想与Cygwin一起使用。 因此,我想问的是,是否有一种方法可以在Linux的Windows计算机上执行作业。没有Cygwin。我乐于接受各种想法和建议,包括“白痴,每个人都使用Cygwin,所以请认真对待并加以处理”。提前致谢!

3
使用p将现有用户添加到组中
是否可以使用人偶2.7.18将现有用户添加到组中? 我们有两个模块,每个模块定义一个类: 模块“用户”创建所有用户,包括用户foo和用户bar。 模块“ subversion”处理各种conf文件并创建组svn。 我们想将用户foo添加到模块“ subversion”内的svn组中。 我尝试了现有功能请求中所述的Membership参数: group { "svn": ensure => present, gid => xxxxx; } user { "foo": group => ["svn"], membership => minimum; } 但是我收到以下错误: 错误:无法从远程服务器检索目录:服务器上的错误400:重复声明:用户[foo]已在文件/pathto/modules/subversion/manifests/init.pp中的xx行中声明;无法在节点myserver.example.com上的/pathto/modules/users/manifests/init.pp:xxx处重新声明 这个功能已经实现了吗?如果没有,是否有一个好的解决方法?

4
确保Linux中目录的可重复性
我经营一家托管的持续集成公司,我们在Linux上运行客户的代码。每次运行代码时,我们都在单独的虚拟机中运行它。经常出现的问题是,由于在VM上签出的代码的目录顺序,客户的测试有时会失败。 让我更详细地讲。在OSX上,HFS +文件系统可确保始终以相同顺序遍历目录。使用OSX的程序员认为,如果OSX在其计算机上可以运行,则它必须在任何地方都可以运行。但是它通常在Linux上不起作用,因为linux文件系统在遍历目录时不提供顺序保证。 例如,考虑有两个文件a.rb,b.rb。a.rb定义MyObject,而b.rb使用MyObject。如果先加载a.rb,则一切正常。如果首先加载b.rb,它将尝试访问未定义的变量MyObject,并失败。 但比这更糟糕的是,它并不总是会失败。由于未按顺序在Linux上对文件系统进行排序,因此在不同的计算机上将采用不同的顺序。情况更糟,因为有时测试通过,有时失败。这是最糟糕的结果。 所以我的问题是,有没有办法使文件系统的订购可重复。也许是ext4的标志,它表示它将始终以某种顺序遍历目录?还是其他具有此保证的文件系统?

2
ext4文件系统最大inode限制-谁能解释一下?
最近,我们遇到了一个问题,more than 6mln in this case尽管有足够的空间,但ext4文件系统之一似乎无法处理大量文件。它是6mln最大数,ext4文件系统可以在与所有默认设置的格式有哪些?我尝试使用Google进行搜索,但没有得到任何明确的答案。在座的任何人都可以在此遮住一些光线吗?干杯!!

5
杀死进程并在Linux中强制其返回0?
在Linux环境中,如何在确保该进程返回的退出代码为0的同时向该进程发送终止信号?为此,我是否需要做一些精美的GDB魔术,还是我不知道有没有精美的杀伤信号? 测试用例: cat; echo $? killall cat 尝试各种终止信号只会提供不同的返回信号,例如129、137和143。我的目标是终止脚本运行的进程,但要使脚本认为它成功。
16 linux  process  kill 

4
如何使用Apache和PHP调查内存泄漏?
我们正在运行一个繁重的Drupal网站,以执行财务建模。考虑到apache使用的内存随着时间的增长而apache进程数保持稳定,我们似乎正在遇到某种内存泄漏: 我们知道内存问题来自apache / PHP,因为每当发出a时/etc/init.d/httpd reload,内存使用率就会下降(请参见上面的屏幕截图和下面的CLI输出): 在httpd重新加载之前 $免费 已使用的可用共享缓冲区总数 内存:49447692 45926468 3521224 0 191100 22609728 -/ +缓冲区/缓存:23125640 26322052 掉期:2097144 536552 1560592 httpd重新加载后 $免费 已使用的可用共享缓冲区总数 内存:49447692 28905752 20541940 0 191360 22598428 -/ +缓冲区/缓存:6115964 43331728 掉期:2097144 536552 1560592 每个apache线程分配了一个memory_limit512MB 的PHP ,这说明了内存使用率过高而请求量很少,而max_execution_time120秒的中断时间将终止执行时间较长的线程,因此应避免内存使用率的持续增长。看到。 问:我们如何调查导致此内存泄漏的原因? 理想情况下,我正在寻找可以在系统上执行的故障排除步骤,而无需打扰开发团队。 附加信息: OS: RHEL 5.6 PHP: 5.3 Drupal: 6.x MySQL: 5.6 …

1
如何在没有显示的CentOS上运行Firefox?[关闭]
这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 6年前关闭。 我正在尝试在无头的CentOS服务器上运行Firefox GUI浏览器,以执行一些Web测试。 我不需要查看图形输出,因为我使用Selenium服务器API来控制浏览器的输入并检查输出。 该安装程序已在台式Mac计算机上成功测试。但是,它无法在我的无头VPS CentOS服务器上运行,并显示以下消息“错误:未指定显示”。(这很有意义,因为它只是一台服务器,位于某处的机架上。) 如何使Firefox在不显示的情况下运行,以便Selenium能够与之交互?或者-更广泛地说-当没有显示时,人们如何在Linux服务器上运行纯GUI应用程序? 我注意到Firefox具有以下命令行选项: X11 options --display=DISPLAY X display to use 不幸的是,我对X11或CentOS下的显示一无所知,所以我不知道在命令行上指定什么,或者这是否有帮助。

8
MegaCli:获取逻辑驱动器的/ dev / sd *设备名称
假设我知道我想要的驱动器位于适配器8,虚拟驱动器0上,是否可以获取Linux设备名称(例如/dev/sdt)?我正在使用RHEL 6.2。 -pdlist显示每个物理驱动器的WWN值,但这无济于事。-ldinfo不打印WWN或任何其他标识值。 # ./MegaCli64 -pdlist -a8 | grep WWN WWN: 500051610003776C WWN: 5000516100037BFC WWN: 5000516100038090 WWN: 50005161000284F4 WWN: 5000516100037C0C WWN: 5000516100037C5C WWN: 50005161000310C8 WWN: 5000516100037F4C # ls -1dt /dev/disk/by-id/wwn* /dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c12c84d /dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c0973e6 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd132c002573 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd122bf6e2f6 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd122beda52a /dev/disk/by-id/wwn-0x600605b0043e52d01721fd112be46f10 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd112bdb3ffb /dev/disk/by-id/wwn-0x600605b0043e52d01721fd102bd20f14 # ./MegaCli64 -v MegaCLI SAS RAID Management Tool Ver 8.03.08 Mar 15, …
16 linux  megaraid 


4
ext4中每个目录的最大文件数
我管理一个包含文件存储的应用程序,其中所有文件都以等于其md5和的文件名存储。所有文件都存储在一个目录中。当前有数千个,但很快它们应该在服务器上有数百万个文件。当前服务器在ext4文件系统上运行Ubuntu 11.10。 有人告诉我,将许多文件放在目录中是不明智的,因为这会大大增加查找时间和可靠性(他有一个故事,讲述一个目录可以指向的最大文件数,从而导致链表很大)。相反,他建议使用文件名的子字符串创建子目录。但是,这会使我的应用程序中的某些事情变得繁琐。 这是否仍然正确,或者现代文件系统(例如ext4)是否具有更有效的方式来处理此问题并自然扩展?维基百科上有一些有关文件系统的详细信息,但实际上并没有说每个目录的最大文件数或查找时间。

5
防止挂载失败时根系统填满的最佳方法?
我们有一个内部Web服务器(虚拟化,托管ReviewBoard,但不是超级相关),并且我们有一个相对一致的故障模式,其中NFS挂载失败导致/填满。Distro是Ubuntu(不要问),如果解决方案取决于其他发行版,则实施起来会较慢。 正在执行到/ mnt / backup /的备份,该备份应该将NFS挂载到另一个系统。不幸的是,当挂载失败或丢失时,备份将在根文件系统上执行,您可以想象它不会花很长时间就/充满,然后服务开始失败。 已经讨论了许多可能的解决方案。 监视/ mnt / backups并确保它不是root用户。也许是一个cron工作。 使用/ mnt / protected / backups,然后将/ protected首先安装到小型文件系统,也许是循环安装到本地文件,因此发生故障的可能性要小得多。 Chmod a-rwx / mnt / backups(根文件系统安装点)。我不确定是否可以安装在受保护的控制器上,我认为可以。 在安装的树上,创建一个名为“ Backups”的目录,然后创建一个软链接“ ln-s / mnt / backup / Backups / Backups”。除非安装了/ mnt / backup,否则使用/ Backups进行备份将失败,因为本地树不包含子目录。 检查备份脚本中是否正确安装了目录。 我对有关这些方法的任何反馈意见,利弊或人们用作保护根文件系统免遭这种麻烦的标准方法的任何其他技术感兴趣。

1
将进程放在后台而不停止-(ctrl + z)?
如果我通过在命令行中正常键入启动进程,例如 wget http://site.com/bigfile.zip 然后决定将其移到后台,我知道我可以使用类似的东西ctrl+z,然后bg 1(或jobs首先需要获取ID)将其放在后台。 我的问题是,是否有一种方法可以将作业从前台直接移到后台而又不停止它-就像除此之外的另一种快捷方式一样ctrl+z。 我也意识到我可以追加&到原始命令的末尾以在后台启动它,但是问题是关于何时在前台启动一个进程然后意识到要将其移到后台。

6
恢复市电后,UPS关闭服务器后如何唤醒服务器?
我有几台Linux服务器连接到APC UPS。它们通过USB连接到UPS,并配置为如果UPS发送的信号表明一段时间后市电已经丢失并且没有返回,则将其关闭。这很好。另外,它们通过跳线配置为在断电后自动上电,然后返回。这也很好。 导致问题的情况是主电源断电,服务器关闭,但是在UPS耗尽之前恢复主电源。在那种情况下,我们希望服务器重新启动,但是由于在UPS之后实际上并没有断电,因此服务器永远不会看到电源返回事件,因此不会开机。 我希望有一种设备可以插入市电预UPS,检测电源返回状态并通过“局域网唤醒”发送唤醒信号到预配置的服务器,以在市电返回后将其唤醒可以指向我。 我们也欢迎您提出其他建议,我唯一不能做的就是更换服务器硬件,如果可能的话,我希望保留相同的UPS。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.