A Mirror Engine Computer Science Capstone Tobias Hertkorn
Debian Package Management Debian GNU/Linux is distributed freely over the Internet. You can download software in form of packages Packages take care of dependencies (e.g. libraries) An intuitive interface is apt-get
Debian Package Lists Stores all information about packages Package: apache Priority: optional Section: web Installed-Size: 772 Maintainer: Debian Apache Maintainers Architecture: i386 Version: Replaces: apache-modules Provides: httpd Depends: libc6 (>= ds1-4), libdb4.2, libexpat1 (>= ), libpam0g (>= 0.76), mime-support, apache-common (>= ), apache-common ( = ), perl ( = ), dpkg (>> 1.9.0), libmagic1, debconf Suggests: apache-doc Conflicts: apache-modules, libapache-mod-perl (<= ), jserv (<= 1.1-3) Filename: pool/main/a/apache/apache_ _i386.deb Size: MD5sum: 74e a97107e69cd3d4acf868 Description: Versatile, high-performance HTTP server The most popular server in the world, Apache features a modular design and supports dynamic selection of extension modules at runtime.
Short Introduction to apt-get Configure /etc/apt/sources.list deb stable main non-free contrib deb testing main non-free contrib deb stable/updates main apt-get update Update the local package list(s) apt-get install apache Install a new software (including all packages this software depends on) apt-get upgrade Download newer packages and upgrade the local system
Getting Packages
apt-got – a mirroring engine
apt-got – status – key goals Reduce bandwidth usage –No concurrent downloads for packages –Local copies of package lists Reduce download time –No concurrent downloads for packages –Local delivery for packages – Upload to local client blocks until all data from the server is received
apt-got – status – secondary goals Easy to use –Intuitive configuration engine –Fire and forget –Error tolerant Extendable –Highly modular –Easy to program custom-made modules
apt-got – planned improvements Critical –Create configuration infrastructure. –Dynamically load modules, prepare for different kinds of module flavors –Increase delivering speed to client by creating an apache module. –Create package-lists parser. –Create intelligent caching/purging algorithms.
apt-got – planned improvements Important –Parse all available source-lists and merge them –Get MD5sum from source-lists and check downloaded data before storing. –Solve “blocking”-problem when file is not yet downloaded. Optional –Create pre-fetch mechanism for frequently requested files and/or dependencies. –Create statistic-/download tracking-extensions.
Questions