Questions tagged «rm»

29
如何防止意外rm -rf / *?
我只是rm -rf /*不小心跑了,但我的意思是rm -rf ./*(请注意斜线后面的星星)。 alias rm='rm -i'并且--preserve-root默认情况下并没有拯救我,所以对此有没有自动保护措施? 我不是root用户,所以立即取消了该命令,但是在某处有一些宽松的权限,因为我注意到我的Bash提示已经损坏。我不想依靠权限而不是root(我可能会犯同样的错误sudo),并且我也不想因为系统中某个文件丢失而寻找神秘的bug,因此,备份和恢复sudo都很好,但对于这种情况,我希望有更好的选择。 关于三思而后行和使用大脑。我实际上正在使用它!但是我正在用它来解决一些涉及10种不同事物的复杂编程任务。我已经沉浸在这项工作中,没有足够的脑力来检查标志和路径,我什至没有考虑命令和参数,也没有考虑诸如“空当前目录”之类的操作,我大脑的不同部分将它们转换为命令,有时会出错。我希望计算机纠正它们,至少是危险的。

23
rm包含数百万个文件的目录
背景:物理服务器,已有大约两年的历史,已将7200-RPM SATA驱动器连接到3Ware RAID卡,安装了ext3 FS的noatime和data = ordered,没有疯狂的负载,内核2.6.18-92.1.22.el5,正常运行时间为545天。目录不包含任何子目录,仅包含数百万个小文件(〜100字节),还有一些大文件(几KB)。 在过去的几个月中,我们的服务器出现了一些故障,但是直到几天前,由于包含太多文件,它才开始无法写入目录,因此我们才注意到它。具体来说,它开始在/ var / log / messages中引发此错误: ext3_dx_add_entry: Directory index full! 有问题的磁盘上还有许多索引节点剩余: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 60719104 3465660 57253444 6% / 因此,我猜测这意味着我们达到了目录文件本身中可以包含多少个条目的限制。不知道会有多少个文件,但是正如您所看到的,最多不能超过300万个左右。不好意思,请注意!但这是我的问题之一:上限到底是多少?可调吗?在我得到大叫,我想调整它下来 ; 这个巨大的目录引起了各种各样的问题。 无论如何,我们在生成所有这些文件的代码中找到了问题,并已进行了纠正。现在,我一直坚持删除目录。 这里有一些选择: rm -rf (dir) 我先试了 在运行了一天半之后,没有任何明显的影响,我放弃并杀死了它。 目录上的unlink(2):绝对值得考虑,但问题是,通过fsck删除目录中的文件是否比通过unlink(2)删除要快。也就是说,我必须将那些inode标记为未使用。当然,这是假定我可以告诉fsck不要将条目丢弃到/ lost + found中的文件中。否则,我只是解决了我的问题。除了所有其他问题外,在阅读了更多内容之后,事实证明我可能必须调用一些内部FS函数,因为我找不到的unlink(2)变体都不允许我随意删除在其中包含条目的目录。呸。 while [ true ]; do ls …
104 kernel  ext3  rm  directory 

5
rm -rf / --no-preserve-root`会使BIOS混乱吗?
为了查看打包整个系统的大概速度,然后在系统被愚蠢地还原时恢复该系统,我将部分主要系统克隆到了一个工作站上,该工作站虽然不是我们公司系统所不可或缺的,但对于有功能。我定时创建整个系统的压缩包,并对其进行了检查以确保它看起来不错。 然后我跑了rm -rf / --no-preserve-root。我以前从未有过这样做的机会,所以这很有趣。首先。 当我重新启动盒子时,什么也没出现。不是“ Dell”徽标,不是BIOS的选项,没什么。 我将驱动器连接到另一个盒子,但令我非常恼火的是,它具有UEFI分区。我以为我的《死亡命令》有效地管理了该分区。 我将另一个功能正常的驱动器连接到现已失效的工作站上,但是该工作站仍然无法执行任何操作。 有没有人看到过这样的东西,或者对寻找的东西有建议?运行该rm命令是如何使整个盒子混乱的? 更新:我们将包装盒退还给了Dell。我们无法精确地诊断这是巧合还是dronus所描述的情况。但是,我会接受dronus的回答,因为它描述了发生这种情况的可能原因。此外,它将警告其他人不要在将来做同样的事情。如果有人发现使用错误的UEFI的Dell记录,那将有所帮助。
35 bios  rm  uefi 

11
如何使ext3 / linux上的`rm`更快?
我已经使用默认选项安装了ext3文件系统。在上面,我有一些〜100GB的文件。 删除任何此类文件都需要很长时间(8分钟),并且会导致大量io流量,这会增加服务器上的负载。 有什么方法可以使公司不那么混乱?
32 linux  performance  ext3  rm  unlink 

2
Will Ansible将阻止在Shell脚本中执行'rm -rf /'
这是基于这里的骗局问题。所描述的问题是具有一个bash脚本,其中包含以下内容: rm -rf {pattern1}/{pattern2} ...如果两个模式都包含一个或多个空元素,则将扩展到至少一个实例rm -rf /,假设原始命令已正确转录并且OP正在进行括号扩展而不是参数扩展。 在OP 对骗局的解释中,他指出: 该命令是无害的,但似乎几乎没有人注意到。 Ansible工具可以防止这些错误,但是似乎没人知道,否则他们将知道我所描述的事情不会发生。 因此,假设您有一个rm -rf /通过大括号扩展或参数扩展发出命令的shell脚本,那么使用Ansible是否会阻止该命令执行,这是真的吗?如果是的话,它将如何执行? rm -rf /只要您使用Ansible进行root特权执行,是否真的“无害”?
23 linux  bash  ansible  rm 



3
如何防止子树删除(`rm -rf`)使磁盘I / O的其他进程饿死?
对于繁忙的站点,我们有一个非常大的(多个GB)Nginx缓存目录,有时我们需要一次将其全部清除。过去,我已通过以下方法解决了该问题:将缓存文件夹移至新路径,在旧路径下创建一个新的缓存文件夹,然后rm -rf打开旧的缓存文件夹。 但是,近来,当我需要在一个繁忙的早晨清除缓存时rm -rf,由于Nginx及其所面向的服务器都是读取密集型的,因此I / O 使服务器的磁盘访问进程陷入饥饿。我可以观察到CPU闲置时的平均负载攀升,并rm -rf占用了98-99%的磁盘IO iotop。 ionice -c 3调用时rm,我已经尝试过了,但是它对观察到的行为似乎没有明显的影响。 有什么方法可以驯服rm -rf更多共享磁盘?我是否需要使用其他技术来借鉴ionice? 更新: 有问题的文件系统是一个AWS EC2实例存储(主磁盘是EBS)。该/etc/fstab条目如下所示: /dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
8 linux  hard-drive  io  rm  ionice 
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.