Articles of linux

DIY:自动克隆Xen虚拟机,黄金模板?

在没有像XenServer LabManager产品这样的商业工具的情况下寻找DIY方式。

如何使用rsync来复制图像和目录

我正在将2个目录合并为1。 /competitions/1 /competitions/2 /competitions/3 /gallery/1 /gallery/2 /gallery/3 我想复制/比赛中的所有文件/画廊,并把它们放在那里各自的文件夹。 我可以假设所有的文件名都是唯一的,不会被复制过来。 我如何使用rsync做到这一点?

与Apache用户打开文件时出现问题

我遇到麻烦运行一个python文件作为Apache用户。 当我运行这个命令: sudo -u apache /etc/httpd/conf.d/upsell_by_id.py我得到这个错误: File "/etc/httpd/conf.d/upsell_by_id.py", line 8, in <module> keyword_groups = pickle.load(open("/home/zumodo/upsell_backup/upsells.pkl", "rb" )) IOError: [Errno 13] Permission denied: '/home/zumodo/upsell_backup/upsells.pkl' 但是,有问题的文件具有以下权限: -rwxrwxrwx. 1 skline skline 6.4M Dec 5 08:50 upsells.pkl 我不知道为什么apache用户不允许打开这个文件。

在Arch上设置Passenger + Nginx

我试图在Arch上设置乘客和nginx,但是我似乎无法让nginx服务器启动。 我已经按照在这里find的指导: https : //wiki.archlinux.org/index.php/Nginx#Ruby_Integration_.28Ruby_on_Rails_and_Rack-based.29在选项A下使用ruby gems来进行安装。 我有nginx安装在/ opt / nginx /目录中。 我象征性地将/ opt / nginx / sbin / nginx链接到/ usr / bin / nginx,并添加了https://wiki.archlinux.org/index.php/Nginx/Init_script中的init脚本。 我也已经将权限更改为755,并且按照build议由root拥有。 当我运行sudo /etc/rc.d/nginx start时出现以下错误 /etc/rc.d/nginx: line 5: /etc/conf.d/nginx: No such file or directory :: Checking configuration [BUSY] nginx: [crit] pread() "/opt/nginx/" failed (21: Is a directory) nginx: configuration file /opt/nginx/ test […]

只有我的服务器无法访问特定服务器上的共享

这是在我的Ubuntu 11.10笔记本电脑上运行的最简单的操作: $ wget mercurial.selenic.com/release/mercurial-2.0.1.tar.gz –2011-12-06 21:41:16– http://mercurial.selenic.com/release/mercurial-2.0.1.tar.gz Resolving mercurial.selenic.com… 173.11.57.243 Connecting to mercurial.selenic.com|173.11.57.243|:80… connected. HTTP request sent, awaiting response… 200 OK Length: 3128233 (3.0M) [application/x-gzip] Saving to: `mercurial-2.0.1.tar.gz' 100%[===========================================================================================================================================================================>] 3,128,233 35.1K/s in 90s 2011-12-06 21:42:47 (34.1 KB/s) – `mercurial-2.0.1.tar.gz' saved [3128233/3128233] 现在我在运行Ubuntu Server 11.10的远程托pipe服务器上尝试相同的命令: ~$ wget mercurial.selenic.com/release/mercurial-2.0.1.tar.gz –2011-12-06 21:45:01– http://mercurial.selenic.com/release/mercurial-2.0.1.tar.gz Resolving mercurial.selenic.com… 173.11.57.243 Connecting […]

一对一使用Linux IPTable的NAT不工作

我正试图在一个Linux Box上实现一对一的NAT。 设置非常基本,它有两个接口,eth0是外部接口,eth1是内部。 在eth1后面存在隔离的192.168.100.0/24networking,而eth0连接到192.168.0.0/24networking的其余部分(这个networking是不相关的)。 我想要做的是允许隔离networking通过使用不同networking的外部IP地址(192.168.50.0/24)的Linux盒子进行通信。 所以基本上从内部networking192.168.100.10 Linux机箱NAT 192.168.150.10路由出来的Linux机箱。 我已经设置了路由来指向192.168.50.0/24的stream量到所有外部设备上的Linux机箱的eth0接口。 在这一点上,目的地为192.168.50.0/24的stream量到达Linux机箱的eth0,但似乎从来没有翻译过,因为在内部eth1接口上我从来没有看到任何192.168.50.10或192.168.100.10的stream量。 以下是我的基本NATconfiguration。 我的问题是,我需要做别的吗? 我没有打扰在192.168.50.0/24networking的Linux机器上添加路由,因为由于这个NATconfiguration,该机箱从不路由具有该地址的数据包。 出站规则 -A POSTROUTING -o eth0 -s 192.168.100.10 -j SNAT –to-source 192.168.50.10 入站规则 -A PREROUTING -i eth0 -d 192.168.50.10 -j DNAT –to-destination 192.168.100.10 临时规则允许所有stream量 -A INPUT -j ACCEPT -A FORWARD -j ACCEPT 注意所有其他stream量也可以通过iptables进行默认设置,所以它不应该是一个阻塞问题。

Linux:CPU 40%空闲时的高负载平均值

环境:Oracle虚拟机,8个vCPU,32GB。 我看到的上下文切换平均在10000左右,但有时达到80000.它不对应于CPU SY%超过2-3%。 CPU%仍然显示约40%闲置左右,而平均负载在60左右(太高)。 CPU有时在40-60%之间。 基于对此的研究,似乎 所有这些都与IO等待有关。 由于cpu sys仍然非常低,所以高的上下文切换并不昂贵。 所以我不应该关心自己。 不知道为什么负载平均值是这么高,同时CPU显示〜40%空闲。 感谢您的input。

Apache无法获取文件

我有一个奇怪的问题与Apache。 我将一些网站从一个HW迁移到另一个HW(从Centos 5到Centos 6),只有PHP代码和一些数据库。除了一个站点(VirtualHost),一切正常,并且正在运行。 Apache无法加载静态文件(简单图像)。 在服务器状态,我看到很多“发送答复”(W)状态通过GET与这个文件,Apache运行在100%的CPU,负载真的很高。 我比较(我认为)两个服务器上的所有configuration文件( 看起来确定 ),创build文件系统错误( 没有错误 ),并比较旧的和新的服务器上的md5sum( 也没关系 )。 你有什么想法可以是坏的?

使用PHP重新启动在屏幕上运行的进程

我有一些服务器软件在Linux(Debian,如果有的话)服务器的屏幕上运行。 每隔一段时间我需要input一些命令到过程,所以我想保持在屏幕上,以方便访问。 (也可以查看其最新的输出logging,不需要)。 有时这个软件需要重新启动,我这样做: screen -r (to enter the screen running the software) ^C serversoftware -flags ^AD (to "minimize" the screen) 现在来解决这个问题。 我需要做一个简单的网页与“重新启动”button,重新启动此服务器。 有什么办法可以使用PHP的exec来模仿上述过程吗? 让PHP运行任何其他语言的脚本文件也是一个选项。 我虽然不知道如何让其他进程pipe理一个屏幕。

将shell程序作为root用户绑定到用户

我有一个我一直在开发的embedded式系统。 我想绑定一个名为HHPConfig的程序,我写了这个程序,需要根权限来设置networking接口,重启等等,给一个可以通过telnet和rs232login的用户admin。 我编辑/ etc / passwd中的行为: admin:x:1001:1001:Admin User,,,:/home/admin:/usr/bin/HHPConfig 我也将用户添加到组sudo。 我不知道该怎么做。