Articles of linux

fstab中的nodev和nosuid的解释

当有人介绍如何安装tmpfs或ramfs时,我会看到网上不断提出的两个选项。 通常也与noexec,但我特别感兴趣的nodev和nosuid。 我基本上讨厌盲目重复别人的build议,没有真正的理解。 因为我只看到网上的复制/粘贴说明,所以我在这里问。 这是从文档: nodev – 不要解释文件系统上的块特殊设备。 nosuid – 阻止suid和sgid位的操作。 但是我想要一个实际的解释,如果我离开这两个,会发生什么。 比方说,我已经configuration了tmpfs或ramfs(没有提到这两个选项集),可以由系统上的特定(非root)用户访问(读写)。 用户可以做什么来伤害系统? 不包括使用ramfs时消耗所有可用系统内存的情况

有多less上下文切换是“正常的”(作为CPU核心(或其他)的function)?

您好Linux / UNIX的霸主, 你们中的任何一个人都有一个经验法则,就是在Linux服务器上有多less上下文切换(每个处理器核心)是正常的 ? 我的大学在这里提出了,他在8核x86_64机器上看到了16K。 以下是过去几天sarface的一些数据 替代文字http://src.autonomy.net.au/imagebin/81895e338fae67d3d205c09db44a81e6-Picture_10.png 要查看进程创build统计信息,请使用同一图表的对数视图。 替代文字http://src.autonomy.net.au/imagebin/7481f7e52bead4effc90248fc23c72fe-Picture_11.png 而8核心无聊死了… 替代文字http://src.autonomy.net.au/imagebin/0e94326652e977fd74edcd840f94200f-Picture_12.png CS vs IOwait(x10000比例) 替代文字http://src.autonomy.net.au/imagebin/a52a2a8a120394849c0da4045933e306-Picture_13.png 更有用的信息,以防万一有人问。 服务器工作的存储是通过FC的0.5TB SAN 有8GB的内存,主要是caching – 没有交换。

软限制vs硬限制?

任何人都可以用通俗的话来解释软硬限制的区别是什么? 我应该设置我的软硬限制是一样的吗? 还是应该软要显着降低? 系统是否受益? 谢谢。

XFS文件系统在RHEL / CentOS 6.x中被破解 – 我能做些什么?

最近版本的RHEL / CentOS(EL6)为我十年来所依赖的XFS文件系统带来了一些有趣的变化。 我花了去年夏天的一部分时间来追查一个XFS稀疏文件的情况,这是由于文档logging不完善的内核backport造成的。 自从转到EL6以来,其他人有不幸的performance问题或不一致的行为 。 XFS是我的数据和增长分区的默认文件系统,因为它提供了比默认的ext3文件系统更好的稳定性,可扩展性和更好的性能。 2012年11月,EL6系统上的XFS出现了一个问题。我注意到,即使在空闲时,我的服务器也显示出非常高的系统负载。 在一种情况下,卸载的系统将显示3+的恒定负载平均值。 在其他情况下,负载上有1+的颠簸。 挂载的XFS文件系统的数量似乎影响负载增加的严重程度。 系统有两个活动的XFS文件系统。 升级到受影响的内核后,负载为+2。 深入挖掘,我在XFS邮件列表中发现了一些线程,指出xfsaild进程处于STAT D状态的频率增加了。 相应的CentOS Bug Tracker和Red Hat Bugzilla条目概述了这个问题的具体情况,并得出结论:这不是一个性能问题; 在2.6.32-279.14.1.el6以上的内核中报告系统负载时只有一个错误。 WTF?!? 在一次性的情况下,我明白负载报告可能不是什么大问题。 尝试使用您的NMS和数百或数千台服务器进行pipe理! 这在2012年11月在内核2.6.32-279.14.1.el6 EL6.3下被确定。 内核2.6.32-279.19.1.el6和2.6.32-279.22.1.el6在随后的几个月(2012年12月和2013年2月)发布,没有改变这种行为。 自从发现这个问题以来,甚至还有一个新的操作系统的次要版本。 EL6.4已经发布,现在在内核2.6.32-358.2.1.el6上 ,它performance出相同的行为。 我有一个新的系统构build队列,必须解决这个问题,要么在2012年11月发布的EL6.3版本上locking内核版本,要么只是不使用XFS,selectext4或ZFS , 严重的性能损失针对运行在顶层的特定自定义应用程序。 所涉及的应用程序在很大程度上依赖于某些XFS文件系统属性来解决应用程序devise中的缺陷。 在红帽支付知识库网站的背后,出现了一个条目: 安装内核2.6.32-279.14.1.el6后观察到高负载平均值。 对于每个XFS格式的设备,xfsaild进入D状态导致高负载平均值。 目前还没有解决这个问题。 目前正在通过Bugzilla#883905进行跟踪。 解决方法将已安装的内核程序包降级到2.6.32-279.14.1以下的版本。 (除了在RHEL 6.4上降级内核不是一个选项…) 所以我们有4个多月的时间来解决这个问题,而EL6.3或EL6.4操作系统版本并没有真正的解决scheme。 有一个build议修复EL6.5和内核源补丁可用…但我的问题是: 当上游维护者打破了一个重要的特征时,离开操作系统提供的内核和软件包有什么意义? 红帽引入了这个错误。 他们应该把修复join到勘误内核中。 使用企业操作系统的优势之一是它们提供了一致和可预测的平台目标 。 这个bug破坏了补丁周期中已经投入使用的系统,降低了部署新系统的可信度。 虽然我可以将其中一个build议的修补程序应用到源代码 ,那么可扩展性如何? 随着操作系统的变化,需要保持警惕。 什么是正确的举动? 我们知道这可能是固定的,但不是什么时候。 […]

如何删除.fuse_hidden *文件?

我有一个小型的Linux服务器(Debian Squeeze),它运行一个Samba服务器,它被configuration为与一些Windows机器共享一些文件夹。 当试图从Windows中删除一个目录时,我收到“无法删除文件夹”的错误。 我试图从Linux的控制台删除目录我有一个类似的错误: # rm dir-name -rf rm: cannot remove `dir-name': Directory not empty 我列出了目录的内容,并find一个名为.fuse_hidden的文件,后面跟着一个hex数(000bd8c100000185)。 # ls -la dir-name -rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000185 我试图删除.fuse_hidden文件,但立即创build一个新的文件(注意hex数字的变化)。 # rm dir-name/.fuse_hidden000bd8c100000185 # ls -la dir-name -rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000186 我也尝试使用午夜指挥官删除文件没有成功。 到目前为止,我发现的其他解决scheme都涉及到GUI,而我只有控制台。 任何build议表示赞赏。

只有当sshd是守护进程时,公钥authentication才会失败

我不知道这是怎么发生的。 发行版是Scientific Linux 6.1,一切都设置为通过公钥执行validation。 然而,当sshd作为守护进程(service sshd start)运行时,它不接受公钥。 (要获得这段日志,我已经改变了sshd脚本来添加-ddd选项) debug1: trying public key file /root/.ssh/authorized_keys debug1: restore_uid: 0/0 debug1: temporarily_use_uid: 0/0 (e=0/0) debug1: trying public key file /root/.ssh/authorized_keys2 debug1: restore_uid: 0/0 Failed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2 debug3: mm_answer_keyallowed: key 0x7f266e1a8840 is not allowed debug3: mm_request_send entering: type 22 debug3: mm_request_receive entering debug2: […]

如何logging用户执行的每个命令?

我想监视我的服务器中的所有用户的活动。 即使用户从像vim这样的编辑器执行shell命令,我也想在日志文件中看到它们。 我已经检查了工具acct,但是没有列出完整的命令。 (请纠正我,如果我已经错过了一些选项已经)。 我应该看哪个Linux工具来解决这个问题?

在Linux上存储和备份1000万个文件

我运行一个网站,其中约1000万个文件(书籍封面)存储在3个子目录中,范围为[0-f]: 0/0/0/ 0/0/1/ … f/f/f/ 这导致每个目录大约2400个文件,当我们需要检索一个文件时,这是非常快的。 而且这是许多问题提出的做法。 但是,当我需要备份这些文件时,只需浏览保存10m文件的4k目录就需要很多天。 所以我想知道如果我可以将这些文件存储在一个容器(或在4k容器),这将每个行为完全像一个文件系统(某种挂载的ext3 / 4容器?)。 我想这样做几乎和直接访问文件系统中的文件一样高效,而且这将会非常有效地复制到另一台服务器上。 有关如何做到最好的build议? 或者任何可行的select(noSQL,…)?

如何VNC到现有的X会话?

希望能够连接到现有的X显示器,所以可以访问我的工作环境和我从家里打开的所有东西。 我依稀记得过去使用x11vnc的一些事情。 但Fedora 11并不存在,所以我想现在有一些内置的方法。 注意:我通过VPN连接到我的工作机器,所以密码保护是所有我需要安全明智的。

Linux:logwatch(8)太吵了。 我怎样才能控制噪音水平?

我们的Linux系统默认运行logwatch(8)工具。 在RedHat / CentOS / SL系统上,Logwatch由/etc/cron.daily/ cronjob调用,然后每天发送一封包含结果的电子邮件。 这些电子邮件有一个主题,如: Subject: Logwatch for $HOSTNAME 问题是,默认情况下,这些每日邮件太吵了,包含了很多已经被其他服务(Nagios,Cacti,中央系统日志等)监视的多余信息(HTTP错误,每日磁盘使用等)。 对于100个系统,电子邮件负载是无法忍受的。 人们忽略电子邮件,这意味着我们可能会错过logging所挑选的问题。 我怎样才能减lesslogwatch产生的噪音量,但仍然使用logwatch来通知我们重大的问题? 我会在下面发表我自己的回答,但我想看看别人做了什么。 注意 :在FreeBSD上,我有一个关于FreeBSD的类似问题:periodic(8)太吵了。 我怎样才能控制噪音水平?