Articles of linux

我的ZFS重复数据删除表目前有多大?

我已经阅读了大量有关ZFS重复数据删除规划RAM要求的信息。 我刚刚升级了我的文件服务器的内存,以支持一些非常有限的ZFS zvols重复数据删除,我不能使用快照和克隆(因为他们是zvols格式化为不同的文件系统),但将包含很多重复的数据。 我想确保我添加的新RAM将支持我打算进行的有限重复数据删除。 在规划中,我的数字看起来不错,但我想确定一下。 我怎样才能知道我现场系统上的ZFS重复数据删除表(DDT)的当前大小? 我阅读这个邮件列表线程,但我不清楚他们如何获得这些数字。 (如果需要,我可以发布zdb tank的输出,但我正在寻找一个可以帮助其他人的通用答案)

Apache日志其他用户读取权限

我们有几个维护系统的开发人员,我希望他们能够轻松地读取/ var / log / httpd中的日志文件,而不需要root权限。 我设置了“其他”用户的读取权限,但是当我在日志文件上运行尾部时,我得到权限被拒绝: [root@ourserver httpd]# chmod -R go+r /var/log/httpd [root@ourserver httpd]# ls -la drwxr–r– 13 root root 4096 Oct 25 03:31 . drwxr-xr-x. 6 root root 4096 Oct 20 03:24 .. drwxr-xr-x 2 root root 4096 Oct 20 03:24 oursite.com drwxr-xr-x 2 root root 4096 Oct 20 03:24 oursite2.com -rw-r–r– 1 […]

如何知道在Linux上的文件名的语言编码?

我有一个从外部来源约10,000个图像文件的目录。 许多文件名包含空格和标点符号,不是数据库友好或Web友好的。 我也想追加一个SKU编号到每个文件名的末尾(为了会计目的)。 许多文件名(如果不是大多数)还包含我想要保留的用于search引擎优化目的的扩展拉丁字符(特别是文件名准确地代表了Google图片中的文件内容) 我做了一个bash脚本,将所有文件重命名(复制)到我想要的结果。 bash脚本以UTF-8保存。 运行后,省略了大约500个文件(无法统计文件…)。 我在目录上运行了convmv -f UTF-8 -t UTF-8 ,发现这些500个文件名不是用UTF-8编码的(convmv能够检测和忽略已经在UTF-8中的文件名) 有一个简单的方法,我可以找出他们目前正在使用哪种语言编码? 我唯一能找出自己的方法是将terminal编码设置为UTF-8,然后用convmv遍历所有可能的候选编码,直到显示出一个“看起来正确”的转换后的名称。 我无法确定这500个文件全部使用相同的编码,所以我需要重复这个过程500次。 我想要一个比“看起来很正确”更自动化的方法!

开始Linuxpipe理员的资源

我刚刚收购了一个专用的linux服务器,我打算用它来部署项目并从中托pipe几个站点。 与我过去在这种情况下使用的虚拟或共享托pipe服务不同,我负责整个机器及其configuration! 而现在,这似乎是一项艰巨的任务。 不过,我想了解更多关于linuxpipe理和学习的内容,但是我宁愿从别人的错误中学习,而不是从自己的错误中学习。 ;) 什么资源,教程和第一步可以更有经验的pipe理员推荐Linux新手pipe理员,因为他们使他们进入荒野? 一些其他的ServerFault问题和答案我发现有用的到目前为止: 我们应该禁用root用户吗? 你如何设置ssh使用密钥而不是用户名密码进行身份validation? 什么有用的东西可以添加到一个.bashrc? 什么是一些丰富而有用的shell提示? (bash,csh,ksh等) 保护一个新鲜的Ubuntu服务器

如何cp文件和创build目录,如果不存在?

我想复制修改后的文件到一个svn仓库到另一个目录,同时保持其目录结构。 在阅读awk和xargs手册页后,我find了一种方法来获得像这样改变的文件名: $ svn status -q | awk '{ print $2 }' | xargs -d \\n -I '{}' cp '{}' /tmp/xen/ 但问题是,以这种方式目录结构不保留,我想复制这样的文件: ./common/superp.c -> /tmp/xen/common/superp.c ./common/m2mgr.c -> /tmp/xen/common/m2mgr.c ./common/page_alloc.c -> /tmp/xen/common/page_alloc.c ./arch/x86/mm.c -> /tmp/xen/arch/x86/mm.c ./arch/x86/mm/shadow/private.h -> /tmp/xen/arch/x86/mm/shadow/private.h 我试图将cp命令更改为cp'{}'/ tmp / xen /'{}',但是它没有说这样的文件或目录。 有没有办法使cp复制文件和创build目录如果需要? 请指出这条命令链是否可以简化。 🙂 感谢您的答复。 由于目录有点大,我不想使用cp -R或rsync复制整个目录。 CKbuild议使用焦油pipe是非常有用的。 svn status -q | awk '{ […]

我正在devise一个系统来处理每秒10000个TCP连接,我会遇到什么问题?

我有一个运行CentOS的相对较新的8核心盒子。 我想开发一个使用TCP的统计服务器。 它非常简单,它接受TCP连接,增加计数器并closures连接。 问题在于它需要每秒处理至less10K个请求。 我怀疑CPU /内存不会是一个问题,但我更关心人工限制(如半开连接),我可能需要在我的服务器上configuration,以允许这种types的音量。 那么,这可能吗? 我应该注意哪些设置? 我的网卡不能处理吗?

ksplice生产准备好了吗?

我会有兴趣听到服务器故障社区与Ksplice在生产中的经验。 维基百科的快速入门: Ksplice是Linux内核的一个免费和开源的扩展,允许系统pipe理员将安全补丁应用到正在运行的内核,而无需重新启动操作系统。 和 Ksplice可以在不重新启动内核的情况下应用任何只需修改内核代码的源代码补丁。 与其他热点更新系统不同的是,Ksplice只input统一的差异和原始的内核源代码,并且正确地更新运行的内核,而不需要进一步的人工协助。 此外,利用Ksplice在系统初始引导之前不需要任何准备(例如,运行的内核不需要被特别编译)。 为了生成更新,Ksplice必须确定内核中的哪些代码已被源代码修补程序更改。 所以有几个问题: 稳定性如何? 内核的“无重启实时修补”遇到的任何奇怪的问题? 内核恐慌或恐怖故事? 我已经在几个testing系统上运行了它,到目前为止它一直在按照广告的方式运行,但是我感兴趣的是在进行“全面实施”并将其部署到我们的生产服务器之前,Ksplice的其他系统pipe理员的经验。 那么,有谁在生产中使用Kspice? 更新:嗯,几个小时后(除了一些upvotes和fav)之外,没有看到这个问题上的任何真正的活动。 也许引发一些活动,我还会问一些更多的问题,看看我们是否可以讨论这个问题。 “如果你知道Ksplice,有没有理由不使用它? “你觉得它仍然太过stream血的边缘,未经证实或未经testing?” “Ksplice不适合你当前的补丁pipe理系统吗?” “你讨厌拥有长期(和安全)的系统?” 😉

什么是允许用户读取日志文件的最安全的方式?

我的应用程序需要读取属于用户和组root /var/log/messages 。 什么是/var/log/messages所需的最小暴露级别,以便我的应用程序可以读取它? 目前,我的计划是将/var/log/messages的组所有权更改为一个新组,并将root和我的应用程序用户添加到它,但这也会给应用程序写入权限/var/log/messages 。 操作系统:Centos 5.5

了解Qemu和KVM之间的关系

KVM和Qemu有什么不同? 据我所知,后者是能够提供“用户模式仿真”,这意味着可以运行一个单一的可执行文件为其他架构,如: # file busybox-sparc busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped # qemu-sparc busybox-sparc ls Packages_arm Packages_i386 arm busybox-armv6l busybox-i686 busybox-powerpc busybox-sparc busybox-x86_64 i386 # …和“计算机仿真”,这意味着不仅执行dynamic二进制翻译,而且仿真整个虚拟机(video卡,声卡,网卡,光学设备等)。 例如: # qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d 正如我所了解的,Qemu不知道如何利用硬件虚拟化(例如x86架构上的英特尔VT-x或AMD-V解决scheme),KVM可以提供帮助的情况就是这样 – 可以通过KVM支持启动Qemu。 但是,除了仿真程序访问特定硬件体系结构上的硬件辅助虚拟化之外,KVM是否还提供其他任何function? 是否有可能仅使用KVM创build整个(CPU,video卡,I / O设备等)虚拟机? 如果是,那么应该使用哪个程序来创build和控制此虚拟机?

使用自动化脚本设置时区

我正在编写脚本来自动设置新的slicehost安装。 在一个完美的世界里,当我开始剧本之后,它就会运行,而我却不在意。 除了一个例外,我已经成功了。 如何设置时区,永久(重新生存)和理智(调整标准和夏令时,所以不要只是强制date)…方式,不需要我的input? 目前,我正在使用 dpkg-reconfigure tzdata 这似乎没有任何方法来强制参数。 它要求用户input。 编辑:我在这里编辑,而不是评论,因为评论似乎不允许代码块。 下面是我结束的实际代码,基于下面的Rudedog的评论。 我也注意到这不会更新/ etc / timezone。 我不确定是谁使用的,但如果有人这样做,我也是这样设置的。 TIMEZONE="America/Los_Angeles" echo $TIMEZONE > /etc/timezone cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # This sets the time