Questions tagged «linux»

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

4
logrotate移动后如何继续将stdout重定向到文件?
我有一个简单的脚本,可以将大量日志输出到屏幕,然后将STDOUT通过管道传输到文件中以存储日志。由于此脚本运行时间很长,因此我需要旋转日志文件,以便将它们丢到更小,更易于管理的文件中。 我面临的问题是,一旦logrotate将当前日志文件移动到新的日志文件中,新创建的日志文件就不再填充日志了。似乎一旦删除了原始日志文件,它的文件处理程序就会丢失并且重定向将不再起作用。 我还发现此帖子与我有同样的问题,并声称可以使用>>而不是>重定向输出来修复它。我测试了他的解决方案,但对我来说不起作用。有谁知道如何保持重定向工作?

5
如何停止/预防SSH bruteforce [关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 去年关闭。 我对网络管理非常陌生,因此请注意,我还没有那么丰富的经验。 我有一个带有plesk面板的Ubuntu根服务器。 昨天我和我的朋友们注意到我们TS3上的语音质量非常差。我向服务器发送了一些ping操作,并且丢包率很高。之后,我用谷歌搜索了一下,发现有一个auth.log。我下载并滚动了一下,然后发现了这一点: May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth] May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.220.198.102 May 13 10:01:29 rs204941 sshd[9351]: Failed password for invalid …

4
是否存在Unix / Linux命令来计算stdin每秒的行数?
我正在尝试计算日志文件中每秒SQL查询的数量,我想通过将grep中的stdout通过管道传递到某些命令中来实时执行。(我正在做一些性能测试) 我可以自己写,但可以肯定会存在。 我看了看wc,但没有选择允许这样做的选项。 我还可以使用它通过访问日志中的尾巴来计数每秒的请求数。

2
如何获取top命令输出以显示rake参数?
过去,当我们在顶部查看它们时,我们所有的服务器都会自动显示传递给rake的命令参数。例如: 但是,在这台特定的服务器上,我们得到的却是(图片在运行中排名最高,显示了rake命令,但未显示已传递给rake的任何参数): 两台服务器都在运行Ubuntu(尽管没有rake命令的服务器是ubuntu的较新版本)。两者都通过ruby企业版(由rvm驱动)运行。除了明显的“更多数据/更少数据”切换(似乎所有屏幕截图都显示了启用了额外数据的显示)之外,似乎找不到任何有关top如何选择在“命令”列中显示的内容的文档。 有人遇到过类似的事情吗?
22 linux  ubuntu  top 

3
如何使用yum升级到CentOS中的最新PHP版本?
我找到了一些有关此的博客文章,但是它缺少可能的副作用的描述。 我真的可以在这些步骤上使用一些详细信息: 如何在yum中添加提供PHP 5.4的仓库 这可以无缝替换CentOS中的当前PHP版本吗? 当它支持PHP 5.4时,如何切换回官方仓库?(我系统中当前的5.3.3) 是否有可能破坏我当前使用的PHP模块? 注意 人们成功使用相同的方法在较新版本上进行了升级,并建议在问题中删除特定版本。虽然最好固定版本,以防新版本实际上破坏了某些功能,但我想保留社区建议的最新成功版本作为注释。 如果您已经成功升级到其他版本,请随时进行更新。 PHP版本:5.4、5.5、5.6 CentOS版本:5、6
22 linux  php  centos  yum  centos6 

4
KVM / qemu-直接使用LVM卷而不使用映像文件?
我不太确定该如何表达这个问题(因此标题很差),所以让我提供一个示例来说明我要做什么。 在我的(旧)Xen主机上,我能够将LVM文件系统直接呈现给每个来宾。这些文件系统实际上是在主机上创建和格式化的,并直接通过。例如,对于使用单独的tmp和swap分区的主机之一,我定义存储如下: 磁盘= [ 'phy:/ dev / vg1 / guest1-swap,sda1,w', 'phy:/ dev / vg1 / guest1-disk,sda2,w', 'phy:/ dev / vg1 / guest1-tmp,sda3 ,w', ] 因此,guest1-swap格式化为交换分区,guest1-disk和guest1-tmp格式化为ext4,从guest的角度来看,它只是将它们视为/ dev / sda下的三个格式化分区。 (这听起来可能需要做很多工作,但是有一些配置脚本,例如很棒的xen-tools,几乎可以使所有内容自动化)。 这提供了一些非常有用的功能,其中两个我特别想了解KVM: 从主机OS挂载来宾文件系统。即使来宾正在运行,我也可以随时对任何来宾文件系统进行只读装载。这样做的附带好处是,允许我在来宾运行时创建任何现有卷的LVM快照。这样,我可以在运行时从主机集中备份所有来宾。 在线批量调整大小。由于卷包含标准的Linux文件系统,因此我可以结合使用lvextend和resize2fs来增长我的客户机文件系统,使其再次处于联机状态。 我目前正在设置KVM主机,它将替换Xen主机。与Xen设置类似,我利用LVM提供直接的文件系统访问,但是KVM / qemu的行为有所不同,因为它始终为来宾创建映像文件,即使在LVM卷上也是如此。从guest虚拟机的角度来看,它将其视为未分区的磁盘,并且由guest虚拟机负责应用分区标签,然后创建分区和文件系统。 从来宾的角度来看,这很好,但是从服务器/管理的角度来看,它似乎比我描述的Xen设置要灵活得多。我还是KVM的新手,所以(希望)我缺少一些东西。 尝试在KVM主机上重新实现以前的备份解决方案时遇到了这个问题,当我尝试挂载客户机的文件系统之一时,挂载命令出现问题。因此,解决这是我当前的关注,但是这也让我关注调整大小的问题,因为我确定这个问题也会在某个时候出现。 所以,这是我的问题: 如我为Xen设置所述,有什么方法可以让kvm / qemu直接使用LVM卷文件系统?如果可以,我使用libvirt进行管理。 如果没有,我该怎么做才能在KVM下获得类似的挂载/备份功能?我已经看到了有关使用带有FUSE的libguestfs进行此操作的讨论,但这真的是最好的选择吗?如果可能的话,我宁愿坚持使用本机文件系统挂载。 如果不是,是否可以在KVM下调整在线文件系统的大小?我已经找到了一些关于此的讨论/方法,但是答案似乎无处不在,没有明确的,绝对没有直接的解决方案。 抱歉,很长的帖子,只想确保它清楚。请让我知道是否可以提供其他有用的信息。期待讨论。:-)

2
您如何在Heredoc中转义字符?
我正在使用bash脚本,试图阻止它尝试替换Heredoc中的变量。如何将Heredoc设置为A)逸出变量名称而不是解析它们,或者B)完整返回整个字符串? cat > /etc/nginx/sites-available/default_php <<END server { listen 80 default; server_name _; root /var/www/$host; <--- $host is a problem child } END 照原样,当我完成将其注入文件时,我将得到以下结果: server { listen 80 default; server_name _; root /var/www/; }
22 linux  bash  heredoc 

3
自行安全擦除整个Linux服务器
我具有远程ssh访问和root访问权限。我没有物理访问权限。我不是在寻找涉及启动任何东西的解决方案,我想从当前正在运行的东西中做到这一点。 操作系统是SL6。有没有一种方法可以将所需的所有内容加载到RAM中,并使用dd或类似方法安全擦除整个磁盘?显然,这最终将导致盒子无法正常工作,这是我预期的结果。 看来这应该是可能的。 另外两个有趣的补充: 能够ssh进入,运行屏幕,运行dd命令并分离。一周后登录。:) 不知何故有进度条? 更新:我现在使用chroot选项。正在做: mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot . 哪个可行(!),但我仍然需要/ dev / zero和/ dev / sda。有什么想法吗? 更新 …

1
Linux中同一子网上的两个网络接口和两个IP地址
最近,我遇到了这样的情况:我需要在分配给一个Linux主机的同一子网上使用两个IP地址,以便我们可以运行两个SSL / TLS站点。我的第一种方法是使用IP别名,例如使用eth0:0,eth0:1等,但是我们的网络管理员对安全性设置了一些相当严格的设置,从而压制了这个想法: 他们使用DHCP监听,通常不允许使用静态IP地址。静态寻址是通过使用静态DHCP条目完成的,因此相同的MAC地址始终获得相同的IP分配。如果您有要求,可以在每个切换端口禁用此功能(原因是我与网络人员的关系很好,这并不难做到)。 在交换机端口上禁用DHCP侦听的情况下,他们必须在交换机上制定一条规则,即允许该MAC地址X具有IP地址Y。不幸的是,这样做的副作用还在于,仅允许MAC地址X具有IP地址Y。IP别名要求为MAC地址X分配两个IP地址,因此这不起作用。 在交换机配置上可能已经有解决这些问题的方法,但是为了保持与网络管理员的良好关系,我尝试寻找另一种方法。拥有两个网络接口似乎是下一步的逻辑。幸运的是,该Linux系统是一台虚拟机,因此我能够轻松添加第二个网络接口(无需重新启动,我可能会添加-非常酷)。几次击键后,我启动了两个网络接口并运行,并且两个接口都从DHCP提取了IP地址。 但是随后出现了问题:网络管理员可以看到(在交换机上)两个接口的ARP条目,但是只有我提出的第一个网络接口才能响应ping或任何类型的TCP或UDP流量。 经过大量的挖掘和戳戳后,这就是我的想法。它似乎可行,但是对于看起来应该很简单的某些事情,它似乎也需要大量工作。还有其他想法吗? 步骤1:在所有接口上启用ARP过滤: # sysctl -w net.ipv4.conf.all.arp_filter=1 # echo "net.ipv4.conf.all.arp_filter = 1" >> /etc/sysctl.conf 从Linux内核文档中的文件networking / ip-sysctl.txt中: arp_filter - BOOLEAN 1 - Allows you to have multiple network interfaces on the same subnet, and have the ARPs for each interface be answered based on …
22 linux  routing 

8
我应该完全关闭Linux Web服务器的交换吗?
最近,我的朋友告诉我,关闭具有足够内存的linux Web服务器上的交换是个好主意。我的服务器有12 GB,当前在峰值负载下使用4GB(不计算缓存和缓冲区)。 他的观点是,在正常情况下,服务器将永远不会使用其所有RAM,因此,它可能遇到OutOfMemory情况的唯一方法是由于某些bug / ddos​​ / etc。因此,如果关闭交换,系统将耗尽内存,最终将使程序占用内存(很可能是Web服务器进程)以及其他一些进程崩溃。在交换的情况下打开的它会同时吞噬RAM和交换空间,最终将导致相同的崩溃,但是在此之前,它将卸载sshd之类的关键进程进行交换,并开始执行大量交换操作,从而导致严重的速度下降。这种方式在ddos系统下可能会由于巨大的延迟而进入完全无法使用的状态,并且我可能将无法登录并杀死Web服务器进程或拒绝所有传入流量(除ssh之外的所有流量)。 这是正确的吗?我是否缺少某些东西(例如即使我有足够的RAM,交换分区在某种程度上还是很有用的事实)?我应该关闭它吗?

3
Kerberos如何与SSH配合使用?
此问题已从超级用户迁移,因为可以在服务器故障时回答。 迁移 8年前。 假设我有四台计算机,笔记本电脑,Server1,Server2,Kerberos服务器: 我使用PuTTY或SSH从L登录到S1,输入用户名/密码 然后从S1 SSH到S2。Kerberos验证我身份时不需要密码 描述所有重要的SSH和KRB5协议交换:“ L向S1发送用户名”,“ K向S1发送用户名”等。 (此问题旨在进行社区编辑;请非专业读者加以改进。)

5
在安装脚本期间临时增加sudo的超时
我正在尝试编写一个脚本,该脚本将安装大量软件,并且我不想以方式运行所有程序root,因此,我希望能够提示输入密码,然后使用sudo或进行安装。su在我需要特权时获得特权。 我正在做一个sudo -v提示,要求在脚本开头输入密码,然后稍后再正常使用sudo。直到我安装了一个超时的单机安装,这才有效。 我宁愿不必永久增加超时时间。有没有一种方法可以仅在当前会话中增加sudo的超时时间?

2
/ tmp和/ var / tmp的区别和正确用法
到目前为止,我还没有对此进行过多考虑,但是奇怪的是,我日常使用的大多数Linux发行版(Ubuntu,Centos,Redhat)都有一个/ var / tmp和/ tmp目录。 两者之间在语义上有什么区别,例如谁设计了第一个文件系统布局时,他或她就认为“并非所有的tmp文件都创建得一样!” 我发现的Centos的唯一区别是/ tmp常规清除了240小时以上的文件,而/ var / tmp保留了720小时的陈旧文件。
22 linux  directory 

3
rsync不会删除目标文件
我正在尝试将目录更改为另一个目录。我的问题是,如果源目录中不再存在文件,则rsync不会删除目标文件。这是一个演示脚本: #!/bin/sh set -x DIR1=/tmp/1 DIR2=/tmp/2 rm -rf $DIR1 rm -rf $DIR2 mkdir $DIR1 mkdir $DIR2 echo "foo" > $DIR1/a echo "bar" > $DIR1/b rsync -a $DIR1/* $DIR2 rm -f $DIR1/a rsync -a --delete $DIR1/* $DIR2 ls -1 $DIR2 这是输出: + DIR1=/tmp/1 + DIR2=/tmp/2 + rm -rf /tmp/1 + rm …
22 linux  rsync 


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.