Articles of linux

对150台Linux机器上的映像目录进行重复数据删除和索引

我有一个150台Linux服务器的客户端,分布在各种云服务和物理数据中心。 这些基础设施大部分是被收购的项目/团队和预先存在的服务器/安装。 客户端很大程度上是关于image processing的,许多服务器都有大的SAN或本地磁盘arrays,上百万的JPEG / PNG文件。 每个盒子上都有一个configurationpipe理代理,可以看出很多磁盘都是100%的,有些非常空,而且有很多重复的数据。 客户端现在可以访问CDN。 但是现在只是列举一下可能是一项艰巨的任务。 有没有什么工具可以创build所有这些数据的有用索引? 我看到了像GlusterFS这样的工具来pipe理这些分布式文件系统和Hadoop HDFS 我想知道是否可以使用这些系统的索引工具,而无需实际实施底层的卷pipe理工具。 生成潜在的重复数据删除候选索引的起点是什么?

以不同的时间表在RHEL上轮换系统日志日志的最佳实践?

操作系统:运行RHEL 5.6。 情况:我需要以不同于其他系统日志日志的方式轮换/ var / log / messagees。 默认情况下,系统日志日志基于/etc/logrotate.conf和/etc/logrotate.d/syslogconfiguration文件每周进行一次轮换。 如果您查看/etc/logrotate.d/syslog,您会发现所有日志都有一个logrotateconfiguration块。 如果我想让/ var / log / messages按不同的时间表旋转,我需要为它创build一个单独的configuration块。 这将导致重新启动syslogd两次(基于复制现有的configuration)。 问题:有没有办法在不同日程安排上轮换/ var / log / messages,而不必将HUP发送给syslogd两次? 或者这甚至很重要? 这里最好的做法是什么?

如何允许写入挂载的NFS分区

你如何允许特定的用户权限写入NFS分区? 我在本地主机(一个Fedora安装)上挂载了一个NFS共享,并且我可以以root身份读写,但是我无法写成apache用户,即使我本地共享中的所有文件和目录和远程主机是由Apache拥有。 例如,我已经通过这一行挂载在我的/ etc / fstab中: remotehost:/data/media /data/media nfs _netdev,soft,intr,rw,bg 0 0 这两个位置都是由apache拥有的: [root@remotehost ~]# ls -la /data total 24 drwxr-xr-x. 6 root root 4096 Jan 6 2011 . dr-xr-xr-x. 28 root root 4096 Oct 31 2011 .. drwxr-xr-x 4 apache apache 4096 Jan 14 2011 media [root@localhost ~]# ls -la /data total 16 drwxr-xr-x […]

把pulseaudio移出家门

我们有一堆Ubuntu桌面,其主目录作为NFS共享挂载。 如果一个NFS连接被丢弃,即使看起来不到一秒钟,pulseaudio也会失去主意。 结果要么是暂时的软锁(Ubuntu会让屏幕灰屏),崩溃,甚至是一些恐慌。 您可以通过简单的Googlesearch条件查看无数的NFS + pulseaudio问题。 由于这个原因,我真的只想把脉冲从家里搬出来,放在更合适的地方或机器特定的地方。 出于某种原因,pulseaudio是关于安全性的。 即使我不确定为什么对于一个声音守护进程来说如此重要,我并不是很在意这一点。 但是他们的限制太狭隘了。 例如,我试着将/〜/ /脉冲到/ tmp,它会返回以下内容: Failed to create secure directory: Too many levels of symbolic links 而脉搏将退出。 然后,我碰到这个线程 ,它声明了可以设置为将脉冲指向其他目录的环境variables。 所以我试着设置脉冲发射器( /etc/xdg/autostart/pulseaudio.desktop )来使用下面的Exec行: Exec='PULSE_DIR="/tmp/$( whoami )-pulse"; PULSE_CONFIG_PATH=PULSE_DIR; PULSE_STATE_PATH=PULSE_DIR; PULSE_RUNTIME_PATH=PULSE_DIR; mkdir -p $PULSE_DIR && chmod 700 $PULSE_DIR && start-pulseaudio-x11' 我甚至尝试设置权限和所有者的东西,我认为脉冲会很满意。 我从bug 662中发布的stacktrace中收集了我想要的内容(关于这个问题的更多信息也在这里)。 但是,这组命令导致脉冲抛出以下,然后退出。 Failed to create secure directory: Permission […]

有什么chroot构build脚本?

我即将开发一个脚本来收集chroot-jail的信息。 在我的情况下,这看起来很乍看起来很简单:应用程序有一个干净的rpm安装,几乎所有的文件都安装到/ opt的子目录中。 我的想法是: find所有的二进制文件 检查他们的库依赖关系 将结果logging到列表中 在启动应用程序之前,将该列表的rsync同步到chroot-target-directory中 现在我想知道是否有任何脚本已经做了这样的工作(perl / bash / python)? 到目前为止,我发现只有单一应用程序的专门解决scheme(如sftp-chroot)。 (imho) – OS是CentOS 5 x86_64目前的小版本和补丁级别。 rpm -ql是恕我直言,不够通用,因为它只会覆盖基于rpm的发行版。 上面提到的“干净安装”只是提到软件的文件并不分布在整个文件系统中。 所以我的出发点是 – 目前 – find /opt/directory/ …几乎适用于任何系统(即使不是Linux)。

如何检查哪个进程/实用程序/ cron在Linux中创build/修改文件/文件夹

我在服务器上有一个文件夹,里面有一个网站。 服务器已经被切断了,但是一段时间之后,几乎没有文件夹被自动创build,每个文件夹里面都有一些可疑的文件。 我已经检查过所有用户的Cron作业,没有任何事情正在通过Crons。 我试图检查使用Inotify工具的系统调用文件夹后,我得到了这个结果: ./Lq1Lbs/ MODIFY index.html ./Lq1Lbs/ CLOSE_WRITE,CLOSE index.html ./nmt08u/ MODIFY index.html ./nmt08u/ OPEN index.html ./nmt08u/ ATTRIB index.html ./nmt08u/ ATTRIB index.html ./nmt08u/ MODIFY index.html ./nmt08u/ CLOSE_WRITE,CLOSE index.html 但是我需要知道哪个Exact实用工具,脚本,用户或者什么创build了文件夹和文件。 我已经尝试了tripwire,ossec,AIDE,他们都只是通知创build/删除或修改文件,但并没有告诉我哪个确切的脚本,文件,脚本或工具做了这个动作。 有可能知道吗? 总之,哪个进程更改或创build了哪个文件/文件夹,那就是我想知道的。 谢谢

无法列出内容/删除目录(Linux的ext3)

系统是CentOS5 x86_64,完全是最新的。 我有一个不能列出的文件夹(ls只是挂起,吃了记忆,直到它被杀死)。 目录大小将近500k: root@server [/home/user/public_html/domain.com/wp-content/uploads/2010/03]# stat . File: `.' Size: 458752 Blocks: 904 IO Block: 4096 directory Device: 812h/2066d Inode: 44499071 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 3292/ user) Gid: ( 3287/ user) Access: 2012-06-29 17:31:47.000000000 -0400 Modify: 2012-10-23 14:41:58.000000000 -0400 Change: 2012-10-23 14:41:58.000000000 -0400 我可以看到文件名,如果我使用ls -1f ,但它只是重复相同的48个文件,无限的,所有的文件名中都有非ascii字符: La-critic\363-al-servicio-la-privacidad-300×160.jpg 当我尝试访问这些文件(比如复制它们或删除它们)时,我收到如下消息: lstat("/home/user/public_html/domain.com/wp-content/uploads/2010/03/Sebast\355an-Pi\361era-el-balc\363n-150×120.jpg", 0x7fff364c52c0) = -1 […]

如何在Linux中连接多个SSH隧道

我有以下情况: A —– | —— B —– | ——工作 工作可以通过SSH连接到B,而A可以通过SSH连接到B,但除此之外,一切都是防火墙。 我想要做的是实际上创build一个工作和A之间的SSH隧道,使我可以从VNC工作。 从工作中我创build了一个远程SSH隧道: ssh -R 5900:localhost:5900 B 这意味着我可以从B的VNC工作。 但是我需要做些什么来扩展到A.我试图创build一个从A到B的本地SSH隧道,如下所示: ssh -L 5901:localhost:5900 B 但它给, bind: Cannot assign requested address ,因为已经分配5900。 有没有人有任何想法如何做到这一点?

如何解决“免费租赁”问题在dhcp3?

我没有面对免费租赁问题。 我正在build立一个新的服务器。 我已经成功安装了ltsp。 然后,我configuration了dhcp。 这是我的dhcpd.conf文件。 option subnet-mask 255.255.255.0; option broadcast-address 192.168.12.255; option routers 192.168.12.205; option domain-name-servers 192.168.12.205; default-lease-time 600; max-lease-time 7200; next-server 192.168.12.205; option root-path "192.168.12.205:/opt/ltsp/i386/"; subnet 192.168.12.0 netmask 255.255.255.0 { range 192.168.12.55 192.168.12.100; host client1 { option root-path "192.168.12.205:/opt/ltsp/i386/"; filename "/ltsp/i386/pxelinux.0"; hardware ethernet 00:1d:72:04:8d:a9; fixed-address 192.168.12.69; } } 错误是, Dec 27 18:18:35 Dennis dhcpd: […]

在制作链式证书时,是否应该包含根CA证书?

我正在使用Godaddy证书,通常我会连接证书,并成为一个链式证书 cat www.example.com.crt sf_bundle.crt > chained.cert 而在我的nginx.conf中, ssl_certificate chained.cert 在浏览器中,我看到如下链: www.example.com Starfield Secure Certification Authority Starfield Technologies Inc. 这很好,一切正常。 今天,我读了一篇博客文章CloudFlare [1],它说: The lowest hanging fruit in terms of reducing the size of these certificates was to remove the root certificates from the certificate bundle. There's no reason to include these since they should already be […]