Articles of linux

使用socat远程访问D-Bus

描述: 我想从另一台机器访问D-Bus系统服务,只知道机器的IP地址和要连接的服务。 我最近发现的是Gabriel (通过SSH的D-Bus)。 我已经编译了它的GIT版本(在Sourceforge上托pipe),这似乎工作,但我一直得到缺乏“保持活力”的问题。 这意味着经过一段时间的不活动后,SSH隧道无法将D-Bus请求转发到远程PC,我必须重启Gabriel。 由于Gabriel在连接PC上使用socat,所以我刚刚有一个在本地PC上使用socat的想法(用Gabrielreplace它)。 问题: 任何人更熟悉build立“socat”确认解决scheme吗? 这样的解决scheme能否处理许多客户端应用程序同时连接到相同的远程D-Bus服务? 因为我不需要保证连接 – 双方都使用“socat”会使连接快得多(与Gabriel的SSH隧道相反,如果SSH提供了太多的开销)? 有没有人有更好的解决scheme远程访问D-Bus也许? 任何意见赞赏。

我的Centos服务器是否泄漏内存?

我收到有关虚拟化服务器内存使用情况的一些冲突信息。 最令人震惊的消息是: 请注意,服务器只有4GB的RAM分配,即使提交显示12GB。 另外,如果我运行ps aux | grep httpd ps aux | grep httpd我得到以下内容: root 1566 0.1 9.5 580392 375540 ? Ss Jun18 96:15 /usr/local/apache/bin/httpd -k start -DSSL root 4212 0.0 9.4 580388 371948 ? S 08:01 0:00 /usr/local/apache/bin/httpd -k start -DSSL nobody 7674 0.6 9.5 580392 373600 ? S 08:26 0:02 /usr/local/apache/bin/httpd -k start -DSSL […]

写权限通过filezilla sftp拒绝/ var / www / html

好吧,我几乎是全新的Linux和Apacheconfiguration。 我的问题是我有Apache显示默认页面,但是当我尝试通过sFTP访问它告诉我,当写入/ var / www / html写入权限被拒绝。 我可以通过fileZillalogin到服务器。 当我使用命令ls -l / var |时 grep www(我认为这是你如何检查权限),并返回“drwxr-xr-x 6 root root 4096 Jul 15 7:18 www”。 我一直在阅读,显然www数据应该是根源,但我不知道。 我正在通过.pem文件通过ec2用户访问。 我想我应该把我的用户添加到负责HTML文件夹的组,但它看起来像它的根,所以我只是不知道什么是错的。 关于如何解决这个问题的任何想法? 最好安全。 编辑 我可以使用相同的设置写入/ home / ec2-user目录。 所以我猜我只需要添加ec2用户到某个组? 我没有一个名为万维网数据像一些build议我应该听起来像给ec2用户root权限是不好的build议。 可能是错的。

SSD上的Linux软件RAID5。 一个固态硬盘比其他硬盘损坏了40%

我们有一个6 SSD,RAID5卷。 我们使用的SSD磁盘是Crucial M4-CT512M4SSD2固件000F。 我们每天通过MySQL InnoDB写入100〜200GB的数据。 RAID5卷只用于MySQL,没有别的。 lsscsi的输出: [0:0:0:0] disk iDRAC LCDRIVE 0323 /dev/sdb [1:0:0:0] cd/dvd iDRAC Virtual CD 0323 /dev/sr0 [1:0:0:1] disk iDRAC Virtual Floppy 0323 /dev/sdc [2:2:0:0] disk DELL PERC H700 2.10 /dev/sda [3:0:0:0] disk ATA M4-CT512M4SSD2 000F /dev/sdd [3:0:1:0] disk ATA M4-CT512M4SSD2 000F /dev/sde [3:0:2:0] disk ATA M4-CT512M4SSD2 000F /dev/sdf [3:0:3:0] disk […]

如何自动化网站部署到生产包括缩小CSS / JS?

目前我正在使用以下手动过程将我的PHP网站从分段部署到生产: 使用在线YUI压缩工具来缩小CSS和JavaScript文件。 将原始的CSS和JavaScript文件移动到另一个目录(备份它们),然后用缩小的CSS和JavaScript CSS文件replace它们。 开始将所有文件从暂存服务器复制到我的Windows PC。 删除staging .htaccess和索引文件,以便它们不会被复制到生产服务器(这些文件具有特定的临时环境内容)。 打开WinSCP并转到生产服务器上的Web根目录,然后将主索引文件换成“更新正在进行”,这样如果有任何访问者来到网站,他们会收到一条消息说暂时closures。 然后使用WinSCP从我的电脑复制到生产Web服务器(这将覆盖服务器上的所有现有文件),大约需要4分钟才能看到有很多文件。 使用SSHlogin到生产服务器,并运行大约5条命令,为各种可写目录设置适当的权限,并确保所有内容仍位于www-root组下。 我认为使用SSH的上传过程会改变所有现有的权限。 将“正在更新”索引文件切换回正常索引。 所有这些过程都是非常复杂的,大概需要5-10分钟,每当我对网站进行更改时,我都必须这样做,所以这已经变得很麻烦。 现在有什么办法使用一些脚本工具来自动化这个过程吗? 还是有一个很好的部署工具,人们使用,可以做到这一切? 我的舞台和生产机器是基于Ubuntu 12.04服务器,所以我可以使用bash脚本来完成一些工作。 我能看到的一些改进可以做到如此: 将一些代码添加到我的网站,以便检测它是否处于暂存或生产状态,然后根据环境使用原始或缩小的CSS / JavaScript文件。 这将节省我手动交换文件。 使用命令行YUI压缩器,并在需要时从脚本文件运行。 使用像rsync这样的东西,所以它只是从我的登台服务器复制文件到生产服务器不覆盖每个文件 我所从事的一家公司使用Fabric命令行工具来自动化部署并做这种事情。 然而,这是一个很好的select,还是有更好的工具吗?

如何通过协议路由不同的接口(路由)不同的stream量?

我在Linux(iptables)路由器中有两个不同的WAN接口。 如何根据协议(目标TCP端口)实现不同stream量通过不同接口路由的情况? 这甚至有可能吗?

“dpkg-reconfigure keyboard-configuration”实际上做了什么?

是否可以脚本dpkg-reconfigure keyboard-configuration实际上做什么? 我总是做出同样的select,所以这将是非常好的,如果我能做到这一点,没有任何用户交互。

你如何衡量一组分叉进程的内存占用?

说我有一个使用200MB内存的进程,它fork()s: python -c "import os; data='x'*200000000; os.fork(); raw_input()" 像“顶”这样的程序将显示每个使用200MB的进程,而SHRd内存很less,所以看起来好像进程总共使用了400MB。 但是,由于fork()为进程的内存页面实现了写入时拷贝(COW),实际上这些进程总共只用了200MB。 为什么不顶部显示内存的一部分是COW? 有没有办法让它这样做? 还是有另一个我可以使用的命令? 注意:在OSX上的“顶部”似乎有一个RSHRD列,做我所期望的。 我的问题是针对Linux。

Apache不会遵循Symlink

我的开发机器上安装了LAMP服务器(Ubuntu 12.10)。 这是一个用SSD修改的T60。 服务器基地位于/ var / www。 Apache有以下configuration: DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews SymLinksIfOwnerMatch AllowOverride all Order allow,deny allow from all </Directory> 我目前正在开发SilverStripe CMS精选网站。 服务器的文件夹是/ var / www / sfk /。 框架和所有cms相关的function都在各自的文件夹中。 唯一需要修改的文件夹是/ var / www / sfk / mysite文件夹。 因此,我想保留我的主目录下的mysite文件夹,并将其链接到服务器文件夹。 所以这就是我所做的: ln -s ~/sfk/mysite/ […]

“sudo su – ”和“sudo -i”有什么区别?

可能重复: sudo -i和sudo su有什么区别 – 我知道这两个命令都会导致获得root-shell。 但是有一些差异。 在一些服务器上,例如提示符是不同的: nomike@testerver:~> sudo -i root@testerver:~> logout nomike@testerver:~> sudo su – [root@testerver ~]# 所以我想“.bashrc”“.bash_profile”和“.profile”的处理方式有些不同。 有人调用一个loginshell而另一个不是?