Articles of linux

用于Linux的选项卡式远程桌面客户端

我使用rdesktop客户端从Linuxpipe理Windows机器。 任何人都知道一个程序,将允许我把这些远程桌面会话在一个窗口作为标签?

启用btrfs的备份解决scheme

btrfs本月在Oracle EL 14上发布产品(连同来自Linux 3.2的fsck和scarbing),我正在考虑重新devise我当前的备份解决scheme以利用它。 请注意,我正在考虑less量的数据,less于10TB,这是相当静态的(不到1%每天更改)。 总之一个SMB / SOHO备份解决scheme。 备份应该做什么: 在生产服务器上执行ext [234] / XFS / JFS的LVM快照 rsync /将更改的数据传输到备份服务器上的btrfs 快照btrfs文件系统 当空闲空间不足时丢弃旧快照 优点: 所有的文件很容易获得,不需要解压缩或循环安装 过去的快照也很容易获得… …所以我可以将它们作为只读的Samba共享(支持影子副本) 由于写时复制,快照占用的空间极小(不需要更改的快照占用磁盘上几乎没有的KiB) 高备份一致性:对文件进行校验,清理所有数据和内置冗余 问题: 是否有备份解决scheme(以Bacula,BackupPC等forms),或者可以很容易地意识到写入时复制文件系统? 或者我需要使用家庭rsync解决scheme吗? 使用ZFS专用于备份的人员如何备份他们的Linux机器?

如何调查与Apache和PHP内存泄漏?

我们正在运行一个沉重的Drupal网站,执行财务build模。 我们似乎遇到了某种内存泄漏,因为在apache进程数量保持稳定的情况下,apache使用的内存超时, 我们知道内存问题来自apache / PHP,因为每当我们发出一个/etc/init.d/httpd reload内存使用下降(见上面的截图和下面的CLI输出): 在httpd之前重新加载 $免费 caching总共使用的空闲共享缓冲区 Mem:49447692 45926468 3521224 0 191100 22609728 – / + buffers / cache:23125640 26322052 交换:2097144 536552 1560592 在httpd重新加载之后 $免费 caching总共使用的空闲共享缓冲区 Mem:49447692 28905752 20541940 0 191360 22598428 – / + buffers / cache:6115964 43331728 交换:2097144 536552 1560592 每个apache线程被分配一个512MB的PHP memory_limit ,这就解释了高内存使用率会导致请求数量不足,并且max_execution_time为120秒,这应该会终止执行时间更长的线程,因此应该防止内存使用的持续增长看到了。 问:我们如何调查是什么导致了这种内存泄漏? 理想情况下,我正在寻找我可以在系统上执行的故障排除步骤,而不必打扰开发团队。 附加信息: OS: RHEL 5.6 PHP: 5.3 […]

NGinx和PHP应该运行什么用户?

权限是我一段时间在Linux上困惑的东西。 所以在那一刻我的NGinx和PHP-FPM实例都在用户和组中运行: www数据 这是标准吗? 当我遇到file upload时遇到麻烦。 例如 ,一个文件将被上传与用户和组www-data。 现在,由于我如何在我的Web应用程序中设置权限(0440),我无法通过sshlogin我的普通帐户来下载这些文件。 这不能改变。 我正在考虑改变我的nginx和php实例来保持组,但改变它们在我的用户名下运行。 这里处理权限的正确方法是什么? 谢谢。

为什么rsync为我产生多个进程?

我正在使用下面的cron语句从一个文件夹备份到同一台计算机上的另一个文件夹: 19 21 * * * root rsync -ac –delete /source/folder /dest/folder 当我使用pstree ,我看到cron分叉了三个进程 ├─cron───cron───rsync───rsync───rsync 和ps 9972 ? Ds 1:00 rsync -ac –delete /source/folder /dest/folder 9973 ? S 0:29 rsync -ac –delete /source/folder /dest/folder 9974 ? S 0:09 rsync -ac –delete /source/folder /dest/folder 为什么有三个过程? 我可以限制只有一个?

有关多个包pipe理系统的良好做法

一些编程语言自带包pipe理系统,例如,在R的情况下,内置的install.packages命令从CRAN存储库安装并处理相关性。 与此同时,操作系统也有自己的软件包pipe理系统,就像基于debian的Linux发行版的apt命令一样。 我决定使用发行版的包pipe理器来保证我的系统上的所有内容都是兼容的(参见https://stackoverflow.com/a/31293955/1878788 )。 但是不久之后,我需要那些不可用的东西。 例如,一个没有被我的发行包装的生物信息学程序将需要一些特定版本的R.它发生的程序可以通过一个名为“bioconductor”的项目,其目标是提供生物信息学R包,确保包互相兼容(请参阅https://www.bioconductor.org/install/#why-biocLite )。 所以我决定不使用我的OS包装pipe理系统,并通过bioconductor项目提供的biocLite命令安装所有的东西。 这种方法运行平稳一段时间,直到我发现为了保持连贯,健康和易于重build的生物信息学生态系统,一些人决定使用conda包pipe理系统。 这个名为“bioconda”的项目不仅提供R软件包,还提供各种语言的软件,可以轻松切换版本等(请参阅https://bioconda.github.io/ )。 然后,我决定使用这种方法,而且它运行顺利,直到我需要一个不是由bioconda / conda提供的R包。 这应该是非常容易的,但是我制作conda软件包的尝试失败了,于是我尝试用bioconductor的方式安装软件包,但是又失败了。 我有这样的印象,即包装构build机制正在使用错误的R装置。 所以我决定清除我的(还很年轻的)conda安装并返回到我的bioconductor生态系统。 我想知道我将不得不从一种方法跳到另一种方法多久。 关于如何处理这些多重,干扰和重叠的包裹pipe理水平,是否有一般的良好做法? 编辑(14/09/2017) :我考虑的另一个select是使用替代的OS级包pipe理器,如Guix或Nix 。

如何阅读OOM杀手系统日志消息?

我有一个Ubuntu 12.04服务器,有时会完全死掉 – 没有SSH,没有ping,没有任何东西,直到它在物理上重新启动。 重启之后,我在系统日志中看到杀手杀死了几乎所有的东西。 他们有很多详细的内存使用信息。 如何阅读这些日志以查看造成OOM问题的原因? 服务器有更多的内存比它需要,所以它不应该用尽内存。 Oct 25 07:28:04 nldedip4k031 kernel: [87946.529511] oom_kill_process: 9 callbacks suppressed Oct 25 07:28:04 nldedip4k031 kernel: [87946.529514] irqbalance invoked oom-killer: gfp_mask=0x80d0, order=0, oom_adj=0, oom_score_adj=0 Oct 25 07:28:04 nldedip4k031 kernel: [87946.529516] irqbalance cpuset=/ mems_allowed=0 Oct 25 07:28:04 nldedip4k031 kernel: [87946.529518] Pid: 948, comm: irqbalance Not tainted 3.2.0-55-generic-pae #85-Ubuntu Oct […]

如何将Linux软件RAID移动到新机器上?

我有一台全新的Gentoo Linux安装的机器和另一台机器的软件RAID 5arrays(4个IDE磁盘连接到板外PCI控制器)。 我已经成功地将控制器移到了新机器上。 内核检测到驱动器; 我已经使用mdadm – 检查并validation单个RAID分区是否被检测到,干净,甚至是“正确”的顺序(hde1 ==驱动器0,hdg1 ==驱动器1等)。 我无法访问的是旧机器的原始configuration文件。 我应该如何继续重新激活这个数组而不会丢失数据?

在Linux中,有没有办法看到哪个用户更新了文件?

Linuxlogging谁最后更改了一个文件(而不是创build它)? 如果是这样,我怎么find这个呢? 如果没有,是否有某种监控文件的方式?

关于更改服务器主机名的清单

我想重命名我的一个Debian Linux服务器,给它一个更具描述性的,基于angular色的名字。 这里是我知道的名字将需要改变的地方: / etc / hostname&/ etc / mailname&执行主机名命令 / etc / hosts文件 / etc / hosts在其他服务器上,比如我们的远程日志服务器 / etc / password(我通常重命名root以匹配服务器名称,使sorting邮件更容易) Logwatch / Logcheckconfiguration “rkhunter –propupd”需要运行 备份客户端configuration – 备份服务器configuration 如果这是群集的一部分,则在心跳或Keepaliveconfiguration(在所有群集服务器上)中input名称 /etc/drbd.conf(如果有共享的drbd驱动器) DNS服务器 – 内部和外部 Virtual Center中的服务器名称(这是一个虚拟服务器) 名称在Nagios / OpsView或其他监控软件 服务器文档中的引用 我忽略了什么? 重命名服务器时还有其他常见的事情需要改变吗?