Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Install Package dependencies separately over Cloud

Hi all,

I am working on a project that sets up packages on the cloud.

For example, If i want to setup Drupal, i need seperate machines to maintain separate tasks, like mysql in one machine(cloud instance/node 1), apache server in another machine(cloud instance/node 2), etc.

So if drupal.rpm has dependencies apache.rpm(has deps too) and mysql.rpm(has deps too)

Is it possible in rpm package manager(yum) to handle such customizations & above requirement?

please suggest any other way to implement the same.

share|improve this question

2 Answers 2

You'll probably have to rebuild the RPM package for Drupal after modifying its spec to only depend on Apache httpd and adding MySQL only as an optional dependency.

See for more information about rebuilding RPM packages from the SRPM.

share|improve this answer
this will be of more manual work, is there no other way? – sarav Aug 17 '10 at 7:11

RPM dependences reflect only the packages necessary on that server to make your package work. There's no such thing as cross-server dependencies in the RPM world (or .deb or any other package management solution).

In the case you described above, you've incorrectly marked MySQL Server as a requirement for drupal. Drupal does not require a MySQL server instance to be present on the machine where you install the software, it only requires the PHP MySQL client libraries.

By the same token, you don't have to have Apache present to install Firefox -- technically Firefox is useless without a web server to connect to, but there is no inherent assumption that the webserver has to run on the same machine as the browser. The drupal / mysql situation works exactly the same way.

share|improve this answer
Yes i know, i mentioned it as an example, actual question was to know how to implement this remote package dependencies – sarav Aug 17 '10 at 5:52
You wouldn't use the server's package management system, since it's unaware of other servers. Instead, you'd bake it into whatever server management and provisioning system you're building. Or do it manually. – tylerl Aug 17 '10 at 6:02
could you please elaborate on server management and provisioning system ? – sarav Aug 17 '10 at 7:13
Presumably you're writing a server management and provisioning system -- your "project that sets up packages on the cloud". It needs to know how to assign different servers to separate roles, such as "database server", "web server", etc. – tylerl Aug 18 '10 at 2:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.