| LPMtool - LPMtool is a Package Management tool | ||
|---|---|---|
| <<< Previous | Next >>> | |
lpm uses libwww to access primary repositories published on the web. All ancillary libwww features are available. Example: set the http_proxy to access remote repositories through an HTTP proxy:
Accessing remote repositories involves multiple HTTP requests. The first request is always "http://www.example.com/repository/VERSION". If lpm receives an HTTP redirect to this first request, lpm continues to use the new URL for all remaining requests. This makes it possible to mirror a repository in one of two ways.
Configure www.example.com's web server to redirect all requests for "http://www.example.com/repository/VERSION" to a randomly selected "http://mirrorX.example.com/repository/VERSION".
Use DNS-based load balancing, in addition to a local redirect script. Note that this approach distributes all HTTP requests with the same domain name, not just lpm's requests. Here's a hypothetical example with three mirrors:
$ORIGIN example.com. ... www IN A 10.0.0.1 www IN A 10.0.0.2 www IN A 10.0.0.3 mirror1 IN A 10.0.0.1 mirror2 IN A 10.0.0.2 mirror3 IN A 10.0.0.3 |
mirror1's web server must be configured to respond with a redirect request for any "www.example.com/pathname" URL to "mirror1.example.com/pathname", for any pathname. Similarly, mirror2 must redirect any "www.example.com/pathname" URL to "mirror2.example.com/pathname", and mirror3 must redirect "www.example.com/pathname" "mirror3.example.com/pathname".
The repository's published URL is "http://www.example.com/repository". Each access to the remote repository goes to one of the three servers, at random, which responds with a redirect to its actual hostname. The benefit of this approach is that it avoids burdening a single server with redirect requests from all clients.
| <<< Previous | Home | Next >>> |
| Installing packages from remote repositories | Creating restricted-access repositories |